using Back.Services; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Shared.DTOs.Serch; using Shared.DTOs; using System.Xml.Linq; using Back.Common; namespace Back.Controllers { [Route("api/[controller]")] [ApiController] public class CODController : ControllerBase { private readonly ServCOD _servCOD; private readonly servUser _servUser; public CODController(ServCOD servCOD, servUser servUser) { _servCOD = servCOD; _servUser = servUser; } [HttpPost("GetAll")] public async Task?>> GetAll([FromBody] ItemSerchGetCOD 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.AllowSYSGetCOD(Convert.ToInt32(UserID), user.RolUsers.First().CompanyID)) return Forbid("شما دسترسی به خواندن اطلاعات کالا را نداربد"); return Ok(await _servCOD.GetCODs(user.RolUsers.First().CompanyID, itemSerch)); } [HttpGet("GetUnits")] public async Task>>> GetUnits() { return Ok(await _servCOD.GetUnits()); } [HttpPost("Add")] public async Task> Add(RCOD item) { return Ok(); //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 _addorupdateCustomerValidation.ValidateAsync(Tuple.Create(user.RolUsers.First().CompanyID, item, eActionValidation.add)); //if (!resultValidationmodel.IsValid) // return BadRequest(resultValidationmodel.Errors.Select(s => s.ErrorMessage).ToList()); //return Ok(await _servCus.AddOrUpdateCustomer(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 //})); } [HttpPut("Update")] public async Task> Update(RCOD item) { return Ok(); ////-----GetUserAndCompany //var claim = HttpContext.User.Claims.First(c => c.Type == "UserID"); //var UserID = claim.Value; //var user = await _servUser.GetUserByUserID(Convert.ToInt32(UserID)); ////-----Validaton //var resultValidationmodel = await _addorupdateCustomerValidation.ValidateAsync(Tuple.Create(user.RolUsers.First().CompanyID, item, eActionValidation.update)); //if (!resultValidationmodel.IsValid) // return BadRequest(resultValidationmodel.Errors.Select(s => s.ErrorMessage).ToList()); ////-----Get Cus //var cus = await _servCus.GetCustomerByCustomerID(item.ID.Value, user.RolUsers.First().CompanyID); //if (cus == null) // return BadRequest(new List { "Cus notFound..." }); ////-----change Cus //cus.Address = item.Address; //cus.BranchID = item.BranchID; //cus.CompanyID = user.RolUsers.First().CompanyID; //cus.CustomerType = item.CustomerType; //cus.EconomicCode = item.EconomicCode; //cus.Email = item.Email; //cus.FullName = item.FullName; //cus.Info = item.Info; //cus.MeliCode = item.MeliCode; //cus.PassportNumber = item.PassportNumber; //cus.Phone = item.Phone; //cus.ZipCode = item.ZipCode; //cus.IsDeleted = false; ////----Update and sendResult //return Ok(await _servCus.AddOrUpdateCustomer(cus)); } [HttpDelete("Delete/{ID}")] public async Task> Delete(int ID) { return Ok(); ////-----GetUserAndCompany //var claim = HttpContext.User.Claims.First(c => c.Type == "UserID"); //var UserID = claim.Value; //var user = await _servUser.GetUserByUserID(Convert.ToInt32(UserID)); ////-----Get Cus //var cus = await _servCus.GetCustomerByCustomerID(ID, user.RolUsers.First().CompanyID); //if (cus == null) // return NotFound(); ////----Update and sendResult //return Ok(await _servCus.DeleteCustomer(cus)); } } }