diff --git a/Back/Controllers/CODController.cs b/Back/Controllers/CODController.cs new file mode 100644 index 0000000..24c3295 --- /dev/null +++ b/Back/Controllers/CODController.cs @@ -0,0 +1,32 @@ +using Back.Services; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Mvc; +using Shared.DTOs.Serch; +using Shared.DTOs; + +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)); + + + } + } +} diff --git a/Back/Controllers/CustomerController.cs b/Back/Controllers/CustomerController.cs index 61a8ccf..c2cc7f0 100644 --- a/Back/Controllers/CustomerController.cs +++ b/Back/Controllers/CustomerController.cs @@ -15,15 +15,12 @@ namespace Back.Controllers [ApiController] public class CustomerController : ControllerBase { - private readonly CheckPermission _checkPermission; private readonly servUser _servUser; private readonly servCustomer _servCus; private readonly AddOrCustomerValidation _addorupdateCustomerValidation; - public CustomerController(CheckPermission checkPermission, servUser servUser - , servCustomer servCus, AddOrCustomerValidation addorupdateCustomerValidation) + public CustomerController( servUser servUser, servCustomer servCus, AddOrCustomerValidation addorupdateCustomerValidation) { _addorupdateCustomerValidation = addorupdateCustomerValidation; - _checkPermission = checkPermission; _servUser = servUser; _servCus = servCus; } @@ -34,7 +31,7 @@ namespace Back.Controllers 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("شما دسترسی به خواندن اطلاعات مشتری را نداربد"); + // if (!await _checkPermission.AllowSYSGetCustomer(Convert.ToInt32(UserID), user.RolUsers.First().CompanyID)) return Forbid("شما دسترسی به خواندن اطلاعات مشتری را نداربد"); return Ok(await _servCus.GetCustomers(user.RolUsers.First().CompanyID, itemSerch)); diff --git a/Back/Services/ServCOD.cs b/Back/Services/ServCOD.cs new file mode 100644 index 0000000..e7d439d --- /dev/null +++ b/Back/Services/ServCOD.cs @@ -0,0 +1,51 @@ +using Back.Common; +using Back.Data.Contracts; +using Back.Data.Models; +using Shared.DTOs; +using Shared.DTOs.Serch; + +namespace Back.Services +{ + public class ServCOD + { + private readonly IAsyncRepository _CODRepo; + public ServCOD(IAsyncRepository CODRepo) + { + _CODRepo = CODRepo; + } + public async Task?> GetCODs(int CompanyID, ItemSerchGetCOD itemSerch) + { + + #region AdvancedSearch + var invok = _CODRepo + .Get(w => w.CompanyID == CompanyID && !w.IsDeleted); + //foreach (InputObj item in inputObjs) + // invok = invok.Where(ExMethod.GetFunc(item.Param, item.Value)); + + + if (!string.IsNullOrEmpty(itemSerch.Title)) + invok = invok.Where(w => w.Title.Contains(itemSerch.Title)); + + if (!string.IsNullOrEmpty(itemSerch.ItemTaxID)) + invok = invok.Where(w => w.ItemTaxID == itemSerch.ItemTaxID); + + if (itemSerch.CODID.HasValue) + invok = invok.Where(w => w.ID == itemSerch.CODID); + + if (itemSerch.UnitID.HasValue) + invok = invok.Where(w => w.UnitID == itemSerch.UnitID); + + #endregion + //----------------------- + return await invok.Select(s => new RCOD() + { + ID = s.ID, + TaxID = s.ItemTaxID, + Title = s.Title, + Unit = s.CODUnit.Title, + TaxRate = s.TaxRate + }) + .Paging(itemSerch.PageIndex, itemSerch.PageSize); + } + } +} diff --git a/Shared/DTOs/RCOD.cs b/Shared/DTOs/RCOD.cs new file mode 100644 index 0000000..2ae509f --- /dev/null +++ b/Shared/DTOs/RCOD.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Shared.DTOs +{ + public class RCOD + { + public int? ID { get; set; } + public string? TaxID { get; set; } + public string Title { get; set; } + public int UnitID { get; set; } + public string? Unit { get; set; } + public int TaxRate { get; set; } + + } +} diff --git a/Shared/DTOs/Serch/ItemSerchGetCOD.cs b/Shared/DTOs/Serch/ItemSerchGetCOD.cs new file mode 100644 index 0000000..bcb056b --- /dev/null +++ b/Shared/DTOs/Serch/ItemSerchGetCOD.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Shared.DTOs.Serch +{ + public class ItemSerchGetCOD : IFildGlobalItemSerch + { + public int? CODID { get; set; } + public string? ItemTaxID { get; set; } + public string? Title { get; set; } + public int? UnitID { get; set; } + public int PageIndex { get; set; } = 1; + public int PageSize { get; set; } = 5; + } +}