Files
moadiran/Back/Controllers/CustomerController.cs

69 lines
2.8 KiB
C#
Raw Normal View History

2024-05-05 18:15:37 +03:30
using Back.Services;
2024-05-07 17:49:02 +03:30
using Back.Validations;
2024-05-05 18:15:37 +03:30
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Shared.DTOs;
namespace Back.Controllers
{
[Route("api/[controller]")]
[Authorize]
[ApiController]
public class CustomerController : ControllerBase
{
private readonly CheckPermission _checkPermission;
private readonly servUser _servUser;
private readonly servCustomer _servCus;
2024-05-07 17:49:02 +03:30
private readonly AddCustomerValidation _addCustomerValidation;
public CustomerController(CheckPermission checkPermission, servUser servUser
, servCustomer servCus, AddCustomerValidation addCustomerValidation)
2024-05-05 18:15:37 +03:30
{
2024-05-07 17:49:02 +03:30
_addCustomerValidation = addCustomerValidation;
2024-05-05 18:15:37 +03:30
_checkPermission = checkPermission;
_servUser = servUser;
_servCus = servCus;
}
[HttpPost("GetAll")]
public async Task<ActionResult<PagingDto<RCustomer>>> GetAll(ItemSerchGetCustomer itemSerch)
{
var claim = HttpContext.User.Claims.First(c => c.Type == "UserID");
var UserID = claim.Value;
var user = await _servUser.GetUserByUserID(Convert.ToInt32(UserID));
if (!await _checkPermission.AllowSYSGetCustomer(Convert.ToInt32(UserID), user.RolUsers.First().CompanyID)) return Forbid( "شما دسترسی به خواندن اطلاعات مشتری را نداربد");
return Ok(await _servCus.GetCustomers(user.RolUsers.First().CompanyID, itemSerch));
}
2024-05-07 17:49:02 +03:30
[HttpPost("Add")]
public async Task<ActionResult<bool>> Add(RCustomer item)
{
var claim = HttpContext.User.Claims.First(c => c.Type == "UserID");
var UserID = claim.Value;
var user = await _servUser.GetUserByUserID(Convert.ToInt32(UserID));
var resultValidationmodel = await _addCustomerValidation.ValidateAsync(Tuple.Create(user.RolUsers.First().CompanyID,item));
if (!resultValidationmodel.IsValid)
return BadRequest(resultValidationmodel.Errors.Select(s => s.ErrorMessage).ToList());
return Ok(_servCus.AddCustomer(new Data.Models.Customer
{
Address = item.Address,
BranchID = item.BranchID,
CompanyID = user.RolUsers.First().CompanyID,
CustomerType = item.CustomerType,
EconomicCode = item.EconomicCode,
Email = item.Email,
FullName = item.FullName,
Info = item.Info,
MeliCode = item.MeliCode,
PassportNumber = item.PassportNumber,
Phone = item.Phone,
ZipCode = item.ZipCode,
IsDeleted = false
})) ;
}
2024-05-05 18:15:37 +03:30
}
}