...
This commit is contained in:
@@ -155,5 +155,10 @@ namespace Hushian.Application.Services
|
||||
if (exper == null) return 0;
|
||||
return exper.CompanyID;
|
||||
}
|
||||
public async Task<bool> AvailableExperInCompany(int ExperID)
|
||||
{
|
||||
return await _ExperRepository.Get().AnyAsync(w => w.ID == ExperID && w.Available);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -16,13 +16,14 @@ namespace Hushian.WebApi.Controllers.v1
|
||||
private readonly ConversationService _conversationService;
|
||||
private readonly CompanyService _companyService;
|
||||
private readonly ExperService _experService;
|
||||
public ConversationController(ConversationService conversationService, CompanyService companyService)
|
||||
public ConversationController(ConversationService conversationService, CompanyService companyService, ExperService experService)
|
||||
{
|
||||
_conversationService = conversationService;
|
||||
_companyService = companyService;
|
||||
_experService = experService;
|
||||
}
|
||||
|
||||
[HttpGet("MyConversation")]
|
||||
[HttpPost("MyConversation")]
|
||||
[Authorize(Roles = "Company,Exper")]
|
||||
public async Task<ActionResult> MyConversation(ConversationStatus status)
|
||||
{
|
||||
|
@@ -7,6 +7,7 @@ using Hushian.Application.Services;
|
||||
using Hushian.Domain.Entites;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using System.ComponentModel.Design;
|
||||
using System.IdentityModel.Tokens.Jwt;
|
||||
|
||||
namespace Hushian.WebApi.Controllers.v1
|
||||
@@ -17,6 +18,10 @@ namespace Hushian.WebApi.Controllers.v1
|
||||
{
|
||||
private readonly ExperService _experService;
|
||||
|
||||
public ExperController(ExperService experService)
|
||||
{
|
||||
_experService = experService;
|
||||
}
|
||||
|
||||
[HttpPost("AddExper")]
|
||||
[Authorize(Roles = "Company")]
|
||||
@@ -113,6 +118,21 @@ namespace Hushian.WebApi.Controllers.v1
|
||||
return response ? NoContent()
|
||||
: BadRequest(new List<string> { "یافت نشد" });
|
||||
}
|
||||
[HttpGet("CheckAvailableExperInCompany")]
|
||||
public async Task<ActionResult> CheckAvailableExper(int? ExperID)
|
||||
{
|
||||
if (!ExperID.HasValue)
|
||||
{
|
||||
string strExperID = User.Claims.Where(w => w.Type == CustomClaimTypes.Uid).Select(s => s.Value).First();
|
||||
ExperID = Convert.ToInt32(strExperID);
|
||||
}
|
||||
|
||||
var response = await _experService.AvailableExperInCompany(ExperID.GetValueOrDefault());
|
||||
return response ? NoContent()
|
||||
: BadRequest();
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
@@ -15,7 +15,6 @@ namespace Hushian.WebApi.Controllers.v1
|
||||
_verificationService = verificationService;
|
||||
}
|
||||
|
||||
|
||||
//------ UserName by Exper - Mobile by Company
|
||||
[HttpGet("ForgetPassword/{input}")]
|
||||
public async Task<ActionResult<int>> GetIDAndSendCodeForForgetPasswordByUserID(string input)
|
||||
|
@@ -1,9 +1,7 @@
|
||||
using BlazorBootstrap;
|
||||
using Common.Dtos.User;
|
||||
using Common.Models.Auth;
|
||||
using Common.Models.Auth.CompanySide;
|
||||
using Common.Models.Auth.UserSide;
|
||||
using Common.Models.Identity;
|
||||
using HushianWebApp.Services;
|
||||
using Microsoft.AspNetCore.Components;
|
||||
using System.Net.Http.Json;
|
||||
|
@@ -1,4 +1,5 @@
|
||||
using Hushian.Application.Dtos;
|
||||
using Common.Dtos.Conversation;
|
||||
using Common.Enums;
|
||||
using System.Net.Http.Json;
|
||||
|
||||
namespace HushianWebApp.Service
|
||||
@@ -13,27 +14,27 @@ namespace HushianWebApp.Service
|
||||
_baseController = baseController;
|
||||
}
|
||||
|
||||
public async Task <List<ConversationDto>> MyConversationIsFinished()
|
||||
public async Task <List<Read_ConversationDto>> MyConversationIsFinished()
|
||||
{
|
||||
var response = await _baseController.Get($"{BaseRoute}MyConversationIsFinished");
|
||||
var response = await _baseController.Post($"{BaseRoute}MyConversation", ConversationStatus.Finished);
|
||||
if (response.IsSuccessStatusCode)
|
||||
return await response.Content.ReadFromJsonAsync<List<ConversationDto>>();
|
||||
return await response.Content.ReadFromJsonAsync<List<Read_ConversationDto>>();
|
||||
|
||||
return new() ;
|
||||
}
|
||||
public async Task<List<ConversationDto>> MyConversationIsInProgress()
|
||||
public async Task<List<Read_ConversationDto>> MyConversationIsInProgress()
|
||||
{
|
||||
var response = await _baseController.Get($"{BaseRoute}MyConversationIsInProgress");
|
||||
var response = await _baseController.Post($"{BaseRoute}MyConversation", ConversationStatus.InProgress);
|
||||
if (response.IsSuccessStatusCode)
|
||||
return await response.Content.ReadFromJsonAsync<List<ConversationDto>>();
|
||||
return await response.Content.ReadFromJsonAsync<List<Read_ConversationDto>>();
|
||||
|
||||
return new();
|
||||
}
|
||||
public async Task<List<ConversationDto>> ConversationAwaitingOurResponse()
|
||||
public async Task<List<Read_ConversationDto>> ConversationAwaitingOurResponse()
|
||||
{
|
||||
var response = await _baseController.Get($"{BaseRoute}ConversationAwaitingOurResponse");
|
||||
if (response.IsSuccessStatusCode)
|
||||
return await response.Content.ReadFromJsonAsync<List<ConversationDto>>();
|
||||
return await response.Content.ReadFromJsonAsync<List<Read_ConversationDto>>();
|
||||
|
||||
return new();
|
||||
}
|
||||
@@ -43,36 +44,28 @@ namespace HushianWebApp.Service
|
||||
return response.IsSuccessStatusCode;
|
||||
|
||||
}
|
||||
public async Task<List<ConversationItemDto>> GetConversationItems(int ConversationID)
|
||||
public async Task<List<Read_ConversationResponseDto>> GetConversationItems(int ConversationID)
|
||||
{
|
||||
var response = await _baseController.Get($"{BaseRoute}ConversationItems/{ConversationID}");
|
||||
if (response.IsSuccessStatusCode)
|
||||
return await response.Content.ReadFromJsonAsync<List<ConversationItemDto>>();
|
||||
return await response.Content.ReadFromJsonAsync<List<Read_ConversationResponseDto>>();
|
||||
|
||||
return new();
|
||||
}
|
||||
public async Task ADDConversationItemFromCompanySide(int ConversationID,string text)
|
||||
public async Task ADDConversationItemFromCompanySide(int ConversationID,string text, ConversationType type)
|
||||
{
|
||||
var response = await _baseController.Post($"{BaseRoute}ADDConversationItemFromCompanySide/{ConversationID}",new ADDConversationItemDto()
|
||||
var response = await _baseController.Post($"{BaseRoute}ADDConversationResponse",new ADD_ConversationResponseDto()
|
||||
{
|
||||
ConversationID = ConversationID,
|
||||
text=text
|
||||
Text=text,
|
||||
Type=type
|
||||
});
|
||||
/* if (response.IsSuccessStatusCode)
|
||||
return await response.Content.ReadFromJsonAsync<List<ConversationItemDto>>();
|
||||
|
||||
// return new();*/
|
||||
}
|
||||
public async Task<bool> ConversationIsFinish(int ConversationID)
|
||||
{
|
||||
var response = await _baseController.Put($"{BaseRoute}ConversationIsFinish/{ConversationID}");
|
||||
return response.IsSuccessStatusCode;
|
||||
}
|
||||
public async Task<bool> ConversationIsStart(int ConversationID)
|
||||
{
|
||||
var response = await _baseController.Put($"{BaseRoute}ConversationIsStart/{ConversationID}");
|
||||
return response.IsSuccessStatusCode;
|
||||
}
|
||||
public async Task<int> GetCountQueueCompany(int CompanyID,int GroupID=0)
|
||||
{
|
||||
var response = await _baseController.Get($"{BaseRoute}CountQueueCompany/{CompanyID}?GroupID={GroupID}");
|
||||
@@ -81,11 +74,11 @@ namespace HushianWebApp.Service
|
||||
|
||||
return -1;
|
||||
}
|
||||
public async Task<List<ConversationDto>> MyConversationUserSide(int CompanyID)
|
||||
public async Task<List<Read_ConversationDto>> MyConversationUserSide(int CompanyID)
|
||||
{
|
||||
var response = await _baseController.Get($"{BaseRoute}ConversationFromUserSide/{CompanyID}");
|
||||
if (response.IsSuccessStatusCode)
|
||||
return await response.Content.ReadFromJsonAsync<List<ConversationDto>>();
|
||||
return await response.Content.ReadFromJsonAsync<List<Read_ConversationDto>>();
|
||||
|
||||
return new();
|
||||
}
|
||||
|
@@ -44,7 +44,7 @@ namespace HushianWebApp.Service
|
||||
var response = await _baseController.Get($"{BaseRoute}GetGroupsCompany");
|
||||
if (response.IsSuccessStatusCode)
|
||||
{
|
||||
return await response.Content.ReadFromJsonAsync<List<GroupDto>>();
|
||||
return await response.Content.ReadFromJsonAsync<List<Read_GroupDto>>();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
@@ -1,80 +1,66 @@
|
||||
using System.Net.Http.Json;
|
||||
using Common.Dtos;
|
||||
using Common.Dtos.Exper;
|
||||
using System.Net.Http.Json;
|
||||
|
||||
namespace HushianWebApp.Service
|
||||
{
|
||||
public class UserService
|
||||
{
|
||||
private readonly BaseController _baseController;
|
||||
const string BaseRoute = "v1/User/";
|
||||
const string BaseRoute = "v1/Exper/";
|
||||
|
||||
public UserService(BaseController baseController)
|
||||
{
|
||||
_baseController = baseController;
|
||||
}
|
||||
public async Task<bool> AddExper(AddUserDto request)
|
||||
public async Task<bool> AddExper(ADD_ExperDto request)
|
||||
{
|
||||
var response = await _baseController.Post($"{BaseRoute}AddExper", request);
|
||||
return response.IsSuccessStatusCode;
|
||||
}
|
||||
public async Task<PagingDto<HushianUserDto>?> GetExpersCompany(int CompanyID, int PageIndex = 1, int PageSize = 10)
|
||||
public async Task<List<Read_ExperDto>?> GetExpersCompany(int CompanyID, int PageIndex = 1, int PageSize = 10)
|
||||
{
|
||||
string route = $"{BaseRoute}GetExpersCompany?CompanyID={CompanyID}&PageIndex={PageIndex}&PageSize={PageSize}";
|
||||
string route = $"{BaseRoute}GetExpersCompany/{CompanyID}&PageIndex={PageIndex}&PageSize={PageSize}";
|
||||
|
||||
var response = await _baseController.Get(route);
|
||||
if (response.IsSuccessStatusCode)
|
||||
{
|
||||
return await response.Content.ReadFromJsonAsync<PagingDto<HushianUserDto>>();
|
||||
return await response.Content.ReadFromJsonAsync<List<Read_ExperDto>>();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
public async Task<List<HushianUserDto>?> GetOnlineExpersCompany(int CompanyID)
|
||||
{
|
||||
string route = $"{BaseRoute}GetOnlineExpersCompany?CompanyID={CompanyID}";
|
||||
|
||||
var response = await _baseController.Get(route);
|
||||
if (response.IsSuccessStatusCode)
|
||||
{
|
||||
return await response.Content.ReadFromJsonAsync<List<HushianUserDto>>();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
//--------------------------------------------------------------------------------------------------------------
|
||||
public async Task<PagingDto<HushianUserDto>?> GetUsersCompanyFromManager(int PageIndex = 1, int PageSize = 10)
|
||||
{
|
||||
string route = $"{BaseRoute}GetUsersCompany?PageIndex={PageIndex}&PageSize={PageSize}";
|
||||
|
||||
var response = await _baseController.Get(route);
|
||||
if (response.IsSuccessStatusCode)
|
||||
{
|
||||
return await response.Content.ReadFromJsonAsync<PagingDto<HushianUserDto>>();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
public async Task<bool> EditUserYourself(EditUserFromUserDto request) //ویرایش کاربران توسط خود
|
||||
public async Task<bool> EditUserYourself(Update_ExperDto request) //ویرایش کاربران توسط خود
|
||||
{
|
||||
var response = await _baseController.Put($"{BaseRoute}EditUserYourself", request);
|
||||
return response.IsSuccessStatusCode;
|
||||
}
|
||||
public async Task<HushianUserDto?> GetCurrentUser() //ویرایش کاربران توسط خود
|
||||
public async Task<Read_ExperDto?> GetCurrentUser() //ویرایش کاربران توسط خود
|
||||
{
|
||||
var response = await _baseController.Get($"{BaseRoute}GetCurrentUser");
|
||||
if (response.IsSuccessStatusCode)
|
||||
{
|
||||
return await response.Content.ReadFromJsonAsync<HushianUserDto>();
|
||||
return await response.Content.ReadFromJsonAsync<Read_ExperDto>();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
public async Task<bool> ExperEditingFromManager(EditUserFromUserDto request) //ویرایش کاربران توسط مدیرش
|
||||
public async Task<bool> ExperEditingFromManager(int ExperID,Update_ExperDto request) //ویرایش کاربران توسط مدیرش
|
||||
{
|
||||
var response = await _baseController.Put($"{BaseRoute}ExperEditingFromManager", request);
|
||||
var response = await _baseController.Put($"{BaseRoute}ExperEditingFromManager/{ExperID}", request);
|
||||
return response.IsSuccessStatusCode;
|
||||
}
|
||||
|
||||
public async Task<bool> ChangePasswordYourself(ChangePasswordFromUserDto request) //تغییر کلمه عبور کاربران توسط خود
|
||||
public async Task<bool> ChangePasswordYourself(ChangePasswordDto request) //تغییر کلمه عبور کاربران توسط خود
|
||||
{
|
||||
var response = await _baseController.Put($"{BaseRoute}ChangePasswordYourself", request);
|
||||
return response.IsSuccessStatusCode;
|
||||
}
|
||||
public async Task<bool> ChangePasswordFromManager(int ExperID, ChangePasswordDto request) //تغییر کلمه عبور کاربران توسط خود
|
||||
{
|
||||
var response = await _baseController.Put($"{BaseRoute}ChangePasswordFromManager/{ExperID}", request);
|
||||
return response.IsSuccessStatusCode;
|
||||
}
|
||||
public async Task<bool> CheckAvailableExperInCompany(string? ExperID=null)
|
||||
{
|
||||
string route = $"{BaseRoute}CheckAvailableExperInCompany";
|
||||
@@ -97,11 +83,7 @@ namespace HushianWebApp.Service
|
||||
return response.IsSuccessStatusCode;
|
||||
}
|
||||
|
||||
public async Task<bool> FreeExper()
|
||||
{
|
||||
var response = await _baseController.Delete($"{BaseRoute}FreeExper");
|
||||
return response.IsSuccessStatusCode;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
@@ -1,4 +1,4 @@
|
||||
using Common.Dtos.User;
|
||||
using Common.Dtos.Verification;
|
||||
using Common.Enums;
|
||||
using System.Net.Http.Json;
|
||||
|
||||
@@ -18,10 +18,7 @@ namespace HushianWebApp.Service
|
||||
|
||||
string route = type switch
|
||||
{
|
||||
VerificationCodeType.PhoneNumberConfirmed => "PhoneNumberConfirmedFromUserName",
|
||||
VerificationCodeType.ForgetPassword => "ForgetPasswordFromUserName",
|
||||
VerificationCodeType.ChangeMobile => throw new NotImplementedException(),
|
||||
VerificationCodeType.Login => throw new NotImplementedException(),
|
||||
VerificationCodeType.ForgetPassword => "ForgetPassword",
|
||||
_ => throw new NotImplementedException()
|
||||
};
|
||||
var response = await _baseController.Get($"v1/Verification/{route}/{mobile}");
|
||||
|
Reference in New Issue
Block a user