serv full ticket
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
using Back.Common.Enums;
|
||||
using Shared.DTOs;
|
||||
using Back.Data.Models;
|
||||
using Back.Services;
|
||||
using Back.Validations;
|
||||
@@ -9,6 +9,7 @@ using Microsoft.AspNetCore.Mvc;
|
||||
using Shared.DTOs;
|
||||
using System.Security.Cryptography;
|
||||
using static Microsoft.EntityFrameworkCore.DbLoggerCategory.Database;
|
||||
using Shared.DTOs.Serch;
|
||||
|
||||
namespace Back.Controllers
|
||||
{
|
||||
@@ -21,32 +22,97 @@ namespace Back.Controllers
|
||||
private readonly servTicket _servTicket;
|
||||
private readonly ServValidatinMsg _servValidatinMsg;
|
||||
private readonly servSendMsg _servSendMsg;
|
||||
private readonly servCompany _servCompany;
|
||||
private readonly servUser _servUser;
|
||||
public TicketController(MobileValidation mobilevalidation, servTicket servTicket
|
||||
, ServValidatinMsg servValidatinMsg, servSendMsg servSendMsg)
|
||||
, ServValidatinMsg servValidatinMsg, servSendMsg servSendMsg
|
||||
, servCompany servCompany, servUser servUser)
|
||||
{
|
||||
_mobilevalidation = mobilevalidation;
|
||||
_servTicket = servTicket;
|
||||
_servValidatinMsg = servValidatinMsg;
|
||||
_servSendMsg = servSendMsg;
|
||||
_servUser = servUser;
|
||||
_servCompany = servCompany;
|
||||
}
|
||||
[HttpPost("GetAll")]
|
||||
public async Task<ActionResult<PagingDto<TicketDTO>>> GetAll(ItemSerchGetTicket itemSerch)
|
||||
{
|
||||
var claim = HttpContext.User.Claims.First(c => c.Type == "UserID");
|
||||
var UserID = claim.Value;
|
||||
var user = await _servUser.GetUserByUserID(Convert.ToInt32(UserID));
|
||||
|
||||
return Ok(await _servTicket.GetAll(user.RolUsers.First().CompanyID, itemSerch));
|
||||
}
|
||||
[HttpGet("GetSubTicket/{TicketID}")]
|
||||
public async Task<ActionResult<ICollection<SubTicketDTO>>> GetSubTicket(int TicketID)
|
||||
{
|
||||
var claim = HttpContext.User.Claims.First(c => c.Type == "UserID");
|
||||
var UserID = claim.Value;
|
||||
var user = await _servUser.GetUserByUserID(Convert.ToInt32(UserID));
|
||||
|
||||
return Ok(await _servTicket.GetSubTicket(user.RolUsers.First().CompanyID, TicketID));
|
||||
}
|
||||
[HttpPost("NewTicket")]
|
||||
public async Task<ActionResult<int>> NewTicket(CTicketDto item)
|
||||
{
|
||||
var claim = HttpContext.User.Claims.First(c => c.Type == "UserID");
|
||||
var UserID = claim.Value;
|
||||
var user = await _servUser.GetUserByUserID(Convert.ToInt32(UserID));
|
||||
|
||||
item.CompanyID = user.RolUsers.First().CompanyID.ToString();
|
||||
var res = await _servTicket.NewTicket(item);
|
||||
return Ok(res != null);
|
||||
}
|
||||
[HttpPost("AddSubicket")]
|
||||
public async Task<ActionResult<int>> AddSubicket(AddSubTicket item)
|
||||
{
|
||||
var claim = HttpContext.User.Claims.First(c => c.Type == "UserID");
|
||||
var UserID = claim.Value;
|
||||
var user = await _servUser.GetUserByUserID(Convert.ToInt32(UserID));
|
||||
var Ticket = await _servTicket.GetTicketorgbyTicketID(user.RolUsers.First().CompanyID,item.TicketID);
|
||||
if (Ticket==null)
|
||||
return NotFound(new List<string>() { "تیکت یافت نشد" });
|
||||
|
||||
if (!string.IsNullOrEmpty(Ticket.EndDate)) return BadRequest(new List<string>() { "این تیکت بسته شده" });
|
||||
|
||||
var subTicket = await _servTicket.AddSubTicket(item);
|
||||
Ticket.Status = StatusTicket.Awaitingreview;
|
||||
await _servTicket.UpdateTicket(Ticket);
|
||||
return Ok(subTicket);
|
||||
}
|
||||
[HttpPut("CancelTicket/{TicketID}")]
|
||||
public async Task<ActionResult<bool>> CancelTicket(int TicketID)
|
||||
{
|
||||
var claim = HttpContext.User.Claims.First(c => c.Type == "UserID");
|
||||
var UserID = claim.Value;
|
||||
var user = await _servUser.GetUserByUserID(Convert.ToInt32(UserID));
|
||||
|
||||
var Ticket = await _servTicket.GetTicketorgbyTicketID(user.RolUsers.First().CompanyID,TicketID);
|
||||
if (Ticket == null)
|
||||
return NotFound(new List<string>() { "تیکت یافت نشد" });
|
||||
if (!string.IsNullOrEmpty(Ticket.EndDate)) return BadRequest("این تیکت قبلا بسته شده");
|
||||
|
||||
Ticket.Status = StatusTicket.optout;
|
||||
return Ok(await _servTicket.UpdateTicket(Ticket));
|
||||
}
|
||||
[HttpPost("NewTicketNoAuthentication")]
|
||||
[AllowAnonymous]
|
||||
public async Task<ActionResult<int>> NewTicketNoAuthentication(CTicketNoAuthenticationDto item)
|
||||
{
|
||||
var resultValidationmodel = await _mobilevalidation.ValidateAsync(Tuple.Create(item.Mobile,ActionMobileValidation.No));
|
||||
var resultValidationmodel = await _mobilevalidation.ValidateAsync(Tuple.Create(item.Mobile, ActionMobileValidation.No));
|
||||
if (!resultValidationmodel.IsValid)
|
||||
return BadRequest(resultValidationmodel.Errors.Select(s => s.ErrorMessage).ToList());
|
||||
|
||||
var pid=await _servTicket.NewPepole(item.FullName,item.Mobile);
|
||||
var pid = await _servTicket.NewPepole(item.FullName, item.Mobile);
|
||||
item.CompanyID = pid.Value.ToString();
|
||||
var Ticket = await _servTicket.NewTicket(item, StatusTicket.unknownPerson);
|
||||
|
||||
var ID= await _servValidatinMsg.GenerateCode(new VerificationCode
|
||||
var ID = await _servValidatinMsg.GenerateCode(new VerificationCode
|
||||
{
|
||||
prm = Ticket.ID.ToString(),
|
||||
val = item.Mobile,
|
||||
Type = "NewTicketNoAuthentication"
|
||||
Type = "NewTicketNoAuthentication"
|
||||
});
|
||||
_servSendMsg.Authentication(item.Mobile, ID.ToString());
|
||||
return Ticket == null ? BadRequest() : Ok(ID);
|
||||
|
Reference in New Issue
Block a user