...
This commit is contained in:
@@ -36,7 +36,7 @@
|
||||
|
||||
<ItemGroup>
|
||||
<Reference Include="Service">
|
||||
<HintPath>..\..\..\LocalGit\TaxPayerTools\Service\bin\Debug\Service.dll</HintPath>
|
||||
<HintPath>..\..\Dlls\Service.dll</HintPath>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
|
||||
|
@@ -5,6 +5,7 @@ using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Newtonsoft.Json;
|
||||
using Shared.DTOs;
|
||||
using Shared.DTOs.Serch;
|
||||
|
||||
namespace Back.Controllers
|
||||
{
|
||||
@@ -18,8 +19,8 @@ namespace Back.Controllers
|
||||
{
|
||||
_Servstuff = Servstuff;
|
||||
}
|
||||
[HttpGet("Getstuff/{value}")]
|
||||
public async Task<ActionResult> Getstuff(string value)
|
||||
[HttpPost("Getstuff")]
|
||||
public async Task<ActionResult<PagingDto<stuffDto>>> Getstuff(GridDataProviderRequestDto value)
|
||||
{
|
||||
return Ok(await _Servstuff.Getstuff(value));
|
||||
}
|
||||
|
@@ -1,7 +1,9 @@
|
||||
using Back.Data.Contracts;
|
||||
using Back.Common;
|
||||
using Back.Data.Contracts;
|
||||
using Back.Data.Models;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Shared.DTOs;
|
||||
using Shared.DTOs.Serch;
|
||||
|
||||
namespace Back.Services
|
||||
{
|
||||
@@ -12,10 +14,24 @@ namespace Back.Services
|
||||
{
|
||||
_repostuff=repostuff;
|
||||
}
|
||||
public async Task<List<stuffDto>> Getstuff(string value)
|
||||
public async Task<PagingDto<stuffDto>> Getstuff(GridDataProviderRequestDto value)
|
||||
{
|
||||
var request = _repostuff.Get(w => w.sType.Contains(value) || w.DescriptionOfID.Contains(value) || w.CID.Contains(value));
|
||||
|
||||
//Contains
|
||||
var request = _repostuff.GetAll();
|
||||
foreach (var item in value.Filters)
|
||||
{
|
||||
switch (item.PropertyName)
|
||||
{
|
||||
case "ID":
|
||||
request = request.Where(w=>w.CID.Contains( item.Value));
|
||||
break;
|
||||
case "DescriptionOfID":
|
||||
request = request.Where(w => w.DescriptionOfID.Contains(item.Value));
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
return await request.Select(s=>new stuffDto
|
||||
{
|
||||
DescriptionOfID=s.DescriptionOfID,
|
||||
@@ -25,7 +41,7 @@ namespace Back.Services
|
||||
Vat= string.IsNullOrEmpty(s.Vat) ? 0 :Convert.ToInt32(s.Vat),
|
||||
// VatCustomPurposes = string.IsNullOrEmpty(s.VatCustomPurposes) ? 0 : Convert.ToInt32(s.VatCustomPurposes)
|
||||
|
||||
}).ToListAsync();
|
||||
}).Paging(value.PageNumber,value.PageSize);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
32
Shared/DTOs/Serch/GridDataProviderResultDto.cs
Normal file
32
Shared/DTOs/Serch/GridDataProviderResultDto.cs
Normal file
@@ -0,0 +1,32 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Linq.Expressions;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Shared.DTOs.Serch
|
||||
{
|
||||
public class FilterItem
|
||||
{
|
||||
public string Oper { get; set; }
|
||||
public string PropertyName { get; set; }
|
||||
public string Value { get; set; }
|
||||
}
|
||||
|
||||
public class GridDataProviderRequestDto
|
||||
{
|
||||
// public CancellationToken CancellationToken { get; init; }
|
||||
|
||||
public IEnumerable<FilterItem> Filters { get; init; }
|
||||
|
||||
public int PageNumber { get; init; }
|
||||
|
||||
public int PageSize { get; init; }
|
||||
|
||||
//public string sortString { get; init; }
|
||||
//public string SortDirection { get; init; }
|
||||
|
||||
|
||||
}
|
||||
}
|
@@ -1,66 +1,97 @@
|
||||
@using Shared.DTOs;
|
||||
@using Front.Services
|
||||
@using Shared.DTOs.Serch
|
||||
@inject HttpClientController hc;
|
||||
<div class="mb-3 row">
|
||||
<div class="col-md-10">
|
||||
<InputText @bind-Value="@Value" onclick="" style="text-align:center;" class="form-control" placeholder="دنبال چی ؟" id="html5-password-input3" />
|
||||
</div> <div class="col-md-2">
|
||||
<button onclick="" type="submit" class="btn btn-primary">ارسال</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<Grid TItem="stuffDto" class="table table-hover table-bordered table-striped" DataProvider="DataProvider" AllowFiltering="true" Responsive="true" AllowPaging="true" PageSize="5">
|
||||
<GridColumn TItem="stuffDto" HeaderText="شناسه" PropertyName="Id">
|
||||
<Grid TItem="stuffDto" class="table table-hover table-bordered table-striped" DataProvider="DataProvider" AllowFiltering="true" Responsive="true" AllowPaging="true" PageSize="10">
|
||||
<GridColumn Sortable="false" FilterOperator="FilterOperator.Contains" TItem="stuffDto" HeaderText="شناسه" PropertyName="ID">
|
||||
@context.ID
|
||||
</GridColumn>
|
||||
<GridColumn TItem="stuffDto" HeaderText="نوع شناسه کالا" PropertyName="Type" StringComparison="StringComparison.Ordinal">
|
||||
<GridColumn Sortable="false" FilterOperator="FilterOperator.Contains" TItem="stuffDto" HeaderText="شرح شناسه کالا" PropertyName="DescriptionOfID">
|
||||
@context.DescriptionOfID
|
||||
</GridColumn>
|
||||
<GridColumn Sortable="false" Filterable="false" TItem="stuffDto" HeaderText="نوع شناسه کالا" PropertyName="Type">
|
||||
@context.Type
|
||||
</GridColumn>
|
||||
<GridColumn TItem="stuffDto" HeaderText="مشمول یا معاف" PropertyName="TaxableOrFree">
|
||||
<GridColumn Sortable="false" Filterable="false" TItem="stuffDto" HeaderText="وضعیت" PropertyName="TaxableOrFree">
|
||||
@context.TaxableOrFree
|
||||
</GridColumn>
|
||||
<GridColumn TItem="stuffDto" HeaderText="نرخ ارزش افزوده" PropertyName="Vat">
|
||||
<GridColumn Sortable="false" Filterable="false" TItem="stuffDto" HeaderText="نرخ" PropertyName="Vat">
|
||||
@context.Vat
|
||||
</GridColumn>
|
||||
@* <GridColumn TItem="stuffDto" HeaderText="نرخ ارزش افزوده مبادی گمرکی" PropertyName="VatCustomPurposes">
|
||||
@context.VatCustomPurposes
|
||||
</GridColumn> *@
|
||||
<GridColumn TItem="stuffDto" HeaderText="شرح شناسه کالا" PropertyName="DescriptionOfID">
|
||||
@context.DescriptionOfID
|
||||
</GridColumn>
|
||||
|
||||
</Grid>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<a href="https://stuffid.tax.gov.ir/" target="_blank" rel="noopener noreferrer">جستجوی پیشرفته</a>
|
||||
</div>
|
||||
</div>
|
||||
@code {
|
||||
private IEnumerable<stuffDto> stuffDtos;
|
||||
public string Value { get; set; }
|
||||
protected override void OnInitialized()
|
||||
{
|
||||
stuffDtos = new List<stuffDto>();
|
||||
// private IEnumerable<stuffDto> stuffDtos;
|
||||
// public string Value { get; set; }
|
||||
// protected override void OnInitialized()
|
||||
// {
|
||||
// stuffDtos = new List<stuffDto>();
|
||||
|
||||
|
||||
}
|
||||
// }
|
||||
|
||||
|
||||
}
|
||||
@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<List<stuffDto>>();
|
||||
}
|
||||
}
|
||||
// public async Task Search()
|
||||
// {
|
||||
// if (!string.IsNullOrEmpty(Value))
|
||||
// {
|
||||
// var rsp = await hc.Get($"stuff/Getstuff/{Value}");
|
||||
// if (rsp.IsSuccessStatusCode)
|
||||
// {
|
||||
// stuffDtos = await rsp.Content.ReadFromJsonAsync<List<stuffDto>>();
|
||||
// }
|
||||
// }
|
||||
|
||||
}
|
||||
// }
|
||||
|
||||
private async Task<GridDataProviderResult<stuffDto>> DataProvider(GridDataProviderRequest<stuffDto> request)
|
||||
{
|
||||
return await Task.FromResult(request.ApplyTo(stuffDtos));
|
||||
string sortString = "";
|
||||
SortDirection sortDirection = SortDirection.None;
|
||||
|
||||
if (request.Sorting is not null && request.Sorting.Any())
|
||||
{
|
||||
// Note: Multi column sorting is not supported at this moment
|
||||
sortString = request.Sorting.FirstOrDefault()!.SortString;
|
||||
sortDirection = request.Sorting.FirstOrDefault()!.SortDirection;
|
||||
}
|
||||
var itemsearch = new GridDataProviderRequestDto()
|
||||
{
|
||||
// CancellationToken = request.CancellationToken,
|
||||
Filters = request.Filters.Select(s => new Shared.DTOs.Serch.FilterItem
|
||||
{
|
||||
Oper = s.Operator.ToString(),
|
||||
PropertyName = s.PropertyName,
|
||||
Value = s.Value
|
||||
}).ToList(),
|
||||
PageNumber = request.PageNumber,
|
||||
PageSize = request.PageSize,
|
||||
//sortString = sortString,
|
||||
// SortDirection = sortDirection.ToString()
|
||||
};
|
||||
var stuffDtos = new PagingDto<stuffDto>(0, 0, new List<stuffDto>());
|
||||
var rsp = await hc.Post<GridDataProviderRequestDto>($"stuff/Getstuff", itemsearch);
|
||||
if (rsp.IsSuccessStatusCode)
|
||||
{
|
||||
stuffDtos = await rsp.Content.ReadFromJsonAsync<PagingDto<stuffDto>>();
|
||||
}
|
||||
|
||||
// var result = await _customerService.GetCustomersAsync(request.Filters, request.PageNumber, request.PageSize, sortString, sortDirection, request.CancellationToken);
|
||||
return await Task.FromResult(new GridDataProviderResult<stuffDto> { Data = stuffDtos.list, TotalCount = stuffDtos.RowCount });
|
||||
}
|
||||
}
|
@@ -57,23 +57,27 @@
|
||||
@* action *@
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="mb-2">
|
||||
<div class="row">
|
||||
<div class="col-md-10">
|
||||
<ul class="list-group fa-padding" >
|
||||
<li class="list-group-item" data-toggle="modal" data-target="#issue">
|
||||
<div class="row g-3">
|
||||
<div class="col-auto">
|
||||
<button type="submit" @onclick="()=>CodItem(0)" class="btn btn-primary">جدید</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="col-md-2">
|
||||
<button type="submit" @onclick="()=>CodItem(0)" class="btn btn-primary">جدید</button>
|
||||
|
||||
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
|
||||
<Button Color="ButtonColor.Info" @onclick="Showstuff" Type="ButtonType.Button">
|
||||
دریافت شناسه کالا
|
||||
</Button>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -222,7 +226,6 @@
|
||||
{
|
||||
var parameters = new Dictionary<string, object>();
|
||||
modal.Size = ModalSize.ExtraLarge;
|
||||
|
||||
await modal.ShowAsync<Front.CUSComponent.Taxstuff>(title: "دریافت شناسه کالا", parameters: parameters);
|
||||
|
||||
|
||||
|
@@ -67,9 +67,7 @@
|
||||
</div>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@@ -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");
|
||||
|
||||
|
Reference in New Issue
Block a user