From 478456c03fcd50f806d9ee49c9ae3d2690f7b27f Mon Sep 17 00:00:00 2001 From: mmrbnjd Date: Wed, 26 Jun 2024 17:10:29 +0330 Subject: [PATCH] ... --- Back/Back.csproj | 2 +- Back/Controllers/stuffController.cs | 71 +++++++++++++++++++ .../Persistence/SqlDbContext.cs | 1 + Back/Data/Models/stuff.cs | 25 +++++++ Back/Program.cs | 1 + Back/Services/Servstuff.cs | 31 ++++++++ Shared/DTOs/stuffDto.cs | 26 +++++++ TaxPayerFull/CUSComponent/CodItem.razor | 4 ++ TaxPayerFull/CUSComponent/Taxstuff.razor | 66 +++++++++++++++++ TaxPayerFull/Pages/UserPanel/COD.razor | 23 ++++-- TaxPayerFull/Program.cs | 4 +- 11 files changed, 247 insertions(+), 7 deletions(-) create mode 100644 Back/Controllers/stuffController.cs create mode 100644 Back/Data/Models/stuff.cs create mode 100644 Back/Services/Servstuff.cs create mode 100644 Shared/DTOs/stuffDto.cs create mode 100644 TaxPayerFull/CUSComponent/Taxstuff.razor diff --git a/Back/Back.csproj b/Back/Back.csproj index fd97cd7..899d7e4 100644 --- a/Back/Back.csproj +++ b/Back/Back.csproj @@ -36,7 +36,7 @@ - ..\..\Dlls\Service.dll + ..\..\..\LocalGit\TaxPayerTools\Service\bin\Debug\Service.dll diff --git a/Back/Controllers/stuffController.cs b/Back/Controllers/stuffController.cs new file mode 100644 index 0000000..dcb5c7e --- /dev/null +++ b/Back/Controllers/stuffController.cs @@ -0,0 +1,71 @@ +using Back.Data.Models; +using Back.Services; +using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Mvc; +using Newtonsoft.Json; +using Shared.DTOs; + +namespace Back.Controllers +{ + [Route("api/[controller]")] + [Authorize] + [ApiController] + public class stuffController : ControllerBase + { + private readonly Servstuff _Servstuff; + public stuffController(Servstuff Servstuff) + { + _Servstuff = Servstuff; + } + [HttpGet("Getstuff/{value}")] + public async Task Getstuff(string value) + { + return Ok(await _Servstuff.Getstuff(value)); + } + //[HttpPost("InitalInTb")] + //public async Task InitalInTb() + //{ + // int countererror = 0; + // List stuffDtos = new List(); + // //------ + // using (StreamReader sr = new StreamReader("C://AllserviceStuff.CSV")) + // { + // string line = ""; + // while ((line = sr.ReadLine()) != null) + // { + // string[] cells = line.Split(new char[] { '\r', '\n' }, StringSplitOptions.None); + // if (cells.Length > 0) + // { + // var item = cells[0].Split(','); + // if (item[0] == "ID") continue; + // try + // { + // stuffDtos.Add(new stuff + // { + // CID = item[0], + // sType = item[1], + // sDate = item[2], + // RunDate = item[3], + // ExpirationDate = item[4], + // SpecialOrGeneral = item[5], + // TaxableOrFree = item[6], + // Vat = item[7], + // VatCustomPurposes = item[8], + // DescriptionOfID = item[9] + // }); + // } + // catch (Exception) + // { + // countererror++; + + // } + + // } + // } + // } + + // return Ok(await _Servstuff.AddRange(stuffDtos)); + //} + } +} diff --git a/Back/Data/Infrastructure/Persistence/SqlDbContext.cs b/Back/Data/Infrastructure/Persistence/SqlDbContext.cs index ffb2146..8b50f42 100644 --- a/Back/Data/Infrastructure/Persistence/SqlDbContext.cs +++ b/Back/Data/Infrastructure/Persistence/SqlDbContext.cs @@ -44,6 +44,7 @@ namespace TaxPayer.Infrastructure.Persistence public DbSet TiceketUnknownPeoples { get; set; } public DbSet SaleLeads { get; set; } public DbSet UserNotifis { get; set; } + public DbSet Stuffs { get; set; } #endregion //public override Task SaveChangesAsync(CancellationToken cancellationToken = new CancellationToken()) //{ diff --git a/Back/Data/Models/stuff.cs b/Back/Data/Models/stuff.cs new file mode 100644 index 0000000..bc03bbe --- /dev/null +++ b/Back/Data/Models/stuff.cs @@ -0,0 +1,25 @@ +namespace Back.Data.Models +{ + public class stuff + { + public int ID { get; set; } + //شناسه کالا/خدمت + public string? CID { get; set; } + // نوع شناسه کالا/خدمت + public string? sType { get; set; } + //تاریخ ثبت + public string? sDate { get; set; } + public string? RunDate { get; set; } + public string? ExpirationDate { get; set; } + //عمومی یا خاص بودن شناسه + public string? SpecialOrGeneral { get; set; } + //مشمول یا معاف بودن + public string? TaxableOrFree { get; set; } + //نرخ ارزش افزوده + public string? Vat { get; set; } + // نرخ ارزش افزوده مبادی گمرکی + public string? VatCustomPurposes { get; set; } + //شرح شناسه کالا/خدمت + public string? DescriptionOfID { get; set; } + } +} diff --git a/Back/Program.cs b/Back/Program.cs index be2f76e..823322a 100644 --- a/Back/Program.cs +++ b/Back/Program.cs @@ -76,6 +76,7 @@ builder.Services.AddScoped(); builder.Services.AddScoped(); builder.Services.AddScoped(); builder.Services.AddScoped(); +builder.Services.AddScoped(); builder.Services.AddScoped(c => new mpNuget.RestClient("09119660045", "C54S2")); string origins = "OriginTaxPayer"; diff --git a/Back/Services/Servstuff.cs b/Back/Services/Servstuff.cs new file mode 100644 index 0000000..8ca27df --- /dev/null +++ b/Back/Services/Servstuff.cs @@ -0,0 +1,31 @@ +using Back.Data.Contracts; +using Back.Data.Models; +using Microsoft.EntityFrameworkCore; +using Shared.DTOs; + +namespace Back.Services +{ + public class Servstuff + { + private readonly IAsyncRepository _repostuff; + public Servstuff(IAsyncRepository repostuff) + { + _repostuff=repostuff; + } + public async Task> Getstuff(string value) + { + var request = _repostuff.Get(w => w.sType.Contains(value) || w.DescriptionOfID.Contains(value) || w.CID.Contains(value)); + + return await request.Select(s=>new stuffDto + { + DescriptionOfID=s.DescriptionOfID, + ID=string.IsNullOrEmpty(s.CID) ? 0 :Convert.ToUInt64(s.CID), + TaxableOrFree=s.TaxableOrFree, + Type=s.sType, + Vat= string.IsNullOrEmpty(s.Vat) ? 0 :Convert.ToInt32(s.Vat), + // VatCustomPurposes = string.IsNullOrEmpty(s.VatCustomPurposes) ? 0 : Convert.ToInt32(s.VatCustomPurposes) + + }).ToListAsync(); + } + } +} diff --git a/Shared/DTOs/stuffDto.cs b/Shared/DTOs/stuffDto.cs new file mode 100644 index 0000000..925111c --- /dev/null +++ b/Shared/DTOs/stuffDto.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using static System.Runtime.InteropServices.JavaScript.JSType; + +namespace Shared.DTOs +{ + public class stuffDto + { + //شناسه کالا/خدمت + public UInt64? ID { get; set; } + // نوع شناسه کالا/خدمت + public string? Type { get; set; } + //مشمول یا معاف بودن + public string? TaxableOrFree { get; set; } + //نرخ ارزش افزوده + public int? Vat { get; set; } + //// نرخ ارزش افزوده مبادی گمرکی + //public int? VatCustomPurposes { get; set; } + //شرح شناسه کالا/خدمت + public string? DescriptionOfID { get; set; } + + } +} diff --git a/TaxPayerFull/CUSComponent/CodItem.razor b/TaxPayerFull/CUSComponent/CodItem.razor index 5398d28..752a629 100644 --- a/TaxPayerFull/CUSComponent/CodItem.razor +++ b/TaxPayerFull/CUSComponent/CodItem.razor @@ -1,6 +1,7 @@ @using Front.Services @using Shared.DTOs @inject HttpClientController hc; +
@* alert *@
@@ -80,6 +81,7 @@ else @code { + private Modal modal = default!; // alert AlertColor alertColor = AlertColor.Primary; IconName alertIconName = IconName.CheckCircleFill; @@ -196,4 +198,6 @@ else } else ShowDangerAlert("فیلدهای قرمز باید مقدار دهی شوند"); } + + } \ No newline at end of file diff --git a/TaxPayerFull/CUSComponent/Taxstuff.razor b/TaxPayerFull/CUSComponent/Taxstuff.razor new file mode 100644 index 0000000..c7494b5 --- /dev/null +++ b/TaxPayerFull/CUSComponent/Taxstuff.razor @@ -0,0 +1,66 @@ +@using Shared.DTOs; +@using Front.Services +@inject HttpClientController hc; +
+
+ +
+ +
+
+ +
+
+ + + @context.ID + + + @context.Type + + + @context.TaxableOrFree + + + @context.Vat + + @* + @context.VatCustomPurposes + *@ + + @context.DescriptionOfID + + +
+
+@code { + private IEnumerable stuffDtos; + public string Value { get; set; } + protected override void OnInitialized() + { + stuffDtos = new List(); + + + } + + +} +@functions { + public async Task Search() + { + if (!string.IsNullOrEmpty(Value)) + { + var rsp = await hc.Get($"stuff/Getstuff/{Value}"); + if (rsp.IsSuccessStatusCode) + { + stuffDtos = await rsp.Content.ReadFromJsonAsync>(); + } + } + + } + + private async Task> DataProvider(GridDataProviderRequest request) + { + return await Task.FromResult(request.ApplyTo(stuffDtos)); + } +} \ No newline at end of file diff --git a/TaxPayerFull/Pages/UserPanel/COD.razor b/TaxPayerFull/Pages/UserPanel/COD.razor index b1a1843..5312505 100644 --- a/TaxPayerFull/Pages/UserPanel/COD.razor +++ b/TaxPayerFull/Pages/UserPanel/COD.razor @@ -7,7 +7,6 @@ @inject Fixedvalues fv; کالا - @* search *@
@@ -60,10 +59,18 @@
-
+
+ +
+
+
+ +
@@ -110,7 +117,7 @@ @layout PanelLayout @code { - + //private Modal stuffmodal = default!; [Inject] protected PreloadService PreloadService { get; set; } = default!; ItemSerchGetCOD itemsearch = new ItemSerchGetCOD(); [Parameter, SupplyParameterFromQuery] @@ -201,7 +208,6 @@ } public async Task CodItem(int ID) { - var parameters = new Dictionary(); if(ID == 0) parameters.Add("Cod", new RCOD(){ID=0}); @@ -211,5 +217,14 @@ await modal.ShowAsync(title: ID == 0 ? "کالا جدید" : "ویرایش اطلاعات", parameters: parameters); + } + public async Task Showstuff() + { + var parameters = new Dictionary(); + modal.Size = ModalSize.ExtraLarge; + + await modal.ShowAsync(title: "دریافت شناسه کالا", parameters: parameters); + + } } \ No newline at end of file diff --git a/TaxPayerFull/Program.cs b/TaxPayerFull/Program.cs index 628e6c3..f8805c2 100644 --- a/TaxPayerFull/Program.cs +++ b/TaxPayerFull/Program.cs @@ -34,9 +34,9 @@ builder.Services.AddScoped(sp => new UserAuthenticationDTO() }) ; -builder.Services.AddScoped(sp => new HttpClient { BaseAddress = new Uri("https://localhost:7075/api/") }); +//builder.Services.AddScoped(sp => new HttpClient { BaseAddress = new Uri("https://localhost:7075/api/") }); -//builder.Services.AddScoped(sp => new HttpClient { BaseAddress = new Uri("http://localhost:5271/api/") }); +builder.Services.AddScoped(sp => new HttpClient { BaseAddress = new Uri("http://localhost:5271/api/") }); CultureInfo.DefaultThreadCurrentCulture = new CultureInfo("fa-Ir");