This commit is contained in:
mmrbnjd
2024-07-27 17:06:32 +03:30
parent f5666c705d
commit 97c30ce438
8 changed files with 206 additions and 41 deletions

View File

@@ -36,7 +36,7 @@
<ItemGroup>
<Reference Include="Service">
<HintPath>..\..\Dlls\Service.dll</HintPath>
<HintPath>..\..\..\LocalGit\TaxPayerTools\Service\bin\Debug\Service.dll</HintPath>
</Reference>
</ItemGroup>

View File

@@ -1,4 +1,5 @@
using Back.Services;
using Back.Common;
using Back.Services;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
@@ -11,14 +12,14 @@ namespace Back.Controllers
[Route("api/[controller]")]
[Authorize]
[ApiController]
public class OrderssController : ControllerBase
public class OrdersController : ControllerBase
{
private readonly ServOrders _servOrders;
private readonly ServPromotion _servPromotion;
private readonly ServPricing _servPricing;
private readonly servUser _servUser;
public OrderssController(ServOrders servOrders, ServPromotion servPromotion, ServPricing servPricing, servUser servUser)
public OrdersController(ServOrders servOrders, ServPromotion servPromotion, ServPricing servPricing, servUser servUser)
{
_servOrders = servOrders;
_servPricing = servPricing;
@@ -51,7 +52,27 @@ namespace Back.Controllers
var user = await _servUser.GetUserByUserID(Convert.ToInt32(UserID));
int CompanyID = user.RolUsers.First().CompanyID;
return Ok(await _servOrders.GetOrderItems(CompanyID, OrderID));
return Ok(await _servOrders.GetOrderItems( OrderID, CompanyID));
}
[HttpDelete("CancelOrder/{OrderID}")]
public async Task<ActionResult<List<OrderItemDto>>> CancelOrder(int OrderID)
{
var claim = HttpContext.User.Claims.First(c => c.Type == "UserID");
var UserID = claim.Value;
var user = await _servUser.GetUserByUserID(Convert.ToInt32(UserID));
int CompanyID = user.RolUsers.First().CompanyID;
var order =await _servOrders.GetOrder(OrderID, CompanyID);
if (order==null)
return NotFound();
if (order.Status==StatusOrder.Create)
{
order.Status = StatusOrder.Cancel;
order.ApprovalDate = DateTime.Now.ConvertMiladiToShamsi();
return Ok(await _servOrders.UpdateOrder(order));
}
else return BadRequest(new List<string> { "در این وضعیت امکان ابطال نیست" });
}
}
}

View File

@@ -33,8 +33,8 @@ namespace Back.Services
return await request
.Select(w => new OrderDto
{
ApprovalDate = w.ApprovalDate,
DateCreate = w.DateCreate,
ApprovalDate = w.ApprovalDate.ShamciToFormatShamci(),
DateCreate = w.DateCreate.ShamciToFormatShamci(),
ID = w.ID,
PreDiscount = w.PreDiscount,
Status = w.Status,
@@ -46,7 +46,9 @@ namespace Back.Services
}
public async Task<List<OrderItemDto>> GetOrderItems(int OrderID,int CompanyID)
{
return await _repoOrderItem.Get(w => w.OrderID == OrderID && w.Order.CompanyID== CompanyID)
return await _repoOrderItem.Get(w => w.OrderID == OrderID && w.Order.CompanyID == CompanyID)
.Include(inc=>inc.Permission)
.Include(inc=>inc.Promotion)
.Select(s=>new OrderItemDto
{
OrderID = OrderID,
@@ -55,9 +57,18 @@ namespace Back.Services
Discount=s.Discount,
ID = s.ID,
Tax = s.Tax,
Type= s.PermissionID.HasValue && !s.PromotionID.HasValue ? "" : !s.PermissionID.HasValue && s.PromotionID.HasValue ? "تعرفه" : "نامشخص",
IDForType = s.PermissionID.HasValue && !s.PromotionID.HasValue ? s.PermissionID.Value : !s.PermissionID.HasValue && s.PromotionID.HasValue ? s.PromotionID.Value : 0
Type= s.PermissionID.HasValue && !s.PromotionID.HasValue ? "سرویس" : !s.PermissionID.HasValue && s.PromotionID.HasValue ? "تعرفه" : "نامشخص",
IDForType = s.PermissionID.HasValue && !s.PromotionID.HasValue ? s.PermissionID.Value : !s.PermissionID.HasValue && s.PromotionID.HasValue ? s.PromotionID.Value : 0,
Title = s.PermissionID.HasValue && !s.PromotionID.HasValue ? s.Permission.Title : !s.PermissionID.HasValue && s.PromotionID.HasValue ? s.Promotion.Name : "",
}).ToListAsync();
}
public async Task<Order> GetOrder(int OrderID, int CompanyID)
{
return await _repoOrder.Get(w => w.ID == OrderID && w.CompanyID == CompanyID) .FirstOrDefaultAsync();
}
public async Task<bool> UpdateOrder(Order order)
{
return await _repoOrder.UpdateAsync(order);
}
}
}