Compare commits
2 Commits
4ff7601843
...
95346be5f1
Author | SHA1 | Date |
---|---|---|
|
95346be5f1 | |
|
fd0f5696f4 |
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"ConnectionStrings": {
|
||||
"PostgresServer": "Host=185.220.227.107;Username=vesmmehAgent;Password=g05CTjK358Vx3Eoc9satsWyVwo+15UmsA2dnCrZRUYh1pLTe;Database=NetinaShopDB;Application Name=NetinaShopApi",
|
||||
"PostgresServer": "Host=185.220.227.246;Username=vesmmehAgent;Password=g05CTjK358Vx3Eoc9satsWyVwo+15UmsA2dnCrZRUYh1pLTe;Database=NetinaShopDB;Application Name=NetinaShopApi",
|
||||
"Postgres": "Host=pg-0,pg-1;Username=igarsonAgent;Password=xHTpBf4wC+bBeNg2pL6Ga7VEWKFJx7VPEUpqxwPFfOc2YYTVwFQuHfsiqoVeT9+6;Database=NetinaShopDB;Load Balance Hosts=true;Target Session Attributes=primary;Application Name=iGLS",
|
||||
"MartenDB": "Host=pg-0,pg-1;Username=igarsonAgent;Password=xHTpBf4wC+bBeNg2pL6Ga7VEWKFJx7VPEUpqxwPFfOc2YYTVwFQuHfsiqoVeT9+6;Database=NetinaShopMartenDB;"
|
||||
},
|
||||
|
|
|
@ -40,8 +40,15 @@ public class OrderController : ICarterModule
|
|||
private async Task<IResult> ConfirmOrderStepAsync(Guid id, [FromQuery] OrderStatus nextOrderStatus, [FromQuery]string? trackingCode, [FromServices] IMediator mediator, CancellationToken cancellationToken)
|
||||
=> TypedResults.Ok(await mediator.Send(new ConfirmOrderStepCommand(id, nextOrderStatus,TrackingCode:trackingCode), cancellationToken));
|
||||
|
||||
public async Task<IResult> GetAllAsync(IMediator mediator, [FromQuery]string? factorCode, [FromQuery]long? selectedDate, [FromQuery] OrderStatus? orderStatus, [FromQuery] OrderQueryDateFilter? dateFilter, [FromQuery] int page = 0, CancellationToken cancellationToken = default)
|
||||
=> TypedResults.Ok(await mediator.Send(new GetOrdersQuery(Page:page, FactorCode:factorCode , SelectedDate: selectedDate, OrderStatus:orderStatus, DateFilter:dateFilter), cancellationToken));
|
||||
public async Task<IResult> GetAllAsync(IMediator mediator,
|
||||
[FromQuery]string? factorCode,
|
||||
[FromQuery]long? selectedDate,
|
||||
[FromQuery]OrderStatus? orderStatus,
|
||||
[FromQuery]OrderQueryDateFilter? dateFilter,
|
||||
[FromQuery]bool? orderBags,
|
||||
[FromQuery]int page = 0,
|
||||
CancellationToken cancellationToken = default)
|
||||
=> TypedResults.Ok(await mediator.Send(new GetOrdersQuery(Page:page, FactorCode:factorCode ,OrderBags:orderBags??false , SelectedDate: selectedDate, OrderStatus:orderStatus, DateFilter:dateFilter), cancellationToken));
|
||||
|
||||
public async Task<IResult> GetAsync(IMediator mediator, Guid id, CancellationToken cancellationToken = default)
|
||||
{
|
||||
|
|
|
@ -6,8 +6,8 @@
|
|||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<InvariantGlobalization>true</InvariantGlobalization>
|
||||
<DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
|
||||
<AssemblyVersion>1.0.6.7</AssemblyVersion>
|
||||
<FileVersion>1.0.6.7</FileVersion>
|
||||
<AssemblyVersion>1.0.7.10</AssemblyVersion>
|
||||
<FileVersion>1.0.7.10</FileVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
|
|
@ -142,7 +142,7 @@ public class ExceptionHandlerMiddleware
|
|||
});
|
||||
|
||||
if (httpStatusCode == HttpStatusCode.InternalServerError)
|
||||
context.Response.StatusCode = (int)HttpStatusCode.InternalServerError;
|
||||
context.Response.StatusCode = (int)HttpStatusCode.BadRequest;
|
||||
else
|
||||
context.Response.StatusCode = (int)httpStatusCode;
|
||||
context.Response.ContentType = "application/json";
|
||||
|
|
|
@ -27,8 +27,8 @@ public class CheckUserDiscountFirstUseCommandHandler : IRequestHandler<CheckUser
|
|||
.FirstOrDefaultAsync(f => f.CustomerId == customer.Id && f.DiscountCode == request.DiscountCode,
|
||||
cancellationToken);
|
||||
if (discountedUserOrder != null)
|
||||
return true;
|
||||
return false;
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
throw new BaseApiException(ApiResultStatusCode.BadRequest,"UserId is wrong");
|
||||
|
|
|
@ -4,4 +4,4 @@ public sealed record GetOrderLDtoQuery(Guid Id) : IRequest<OrderLDto>;
|
|||
|
||||
public sealed record GetUserOrdersQuery(Guid CustomerId = default) : IRequest<List<OrderSDto>>;
|
||||
public sealed record GetOrderQuery(Guid Id) : IRequest<Order>;
|
||||
public sealed record GetOrdersQuery(OrderQueryDateFilter? DateFilter, OrderStatus? OrderStatus,long? SelectedDate,string? FactorCode, int Page = 0) : IRequest<List<OrderSDto>>;
|
||||
public sealed record GetOrdersQuery(OrderQueryDateFilter? DateFilter, OrderStatus? OrderStatus,long? SelectedDate,string? FactorCode,bool OrderBags, int Page = 0) : IRequest<List<OrderSDto>>;
|
|
@ -13,6 +13,7 @@ public class ApplicationUser : IdentityUser<Guid>
|
|||
public DateTime BirthDate { get; set; }
|
||||
public Gender Gender { get; set; }
|
||||
public SignUpStatus SignUpStatus { get; set; }
|
||||
public List<UserAddress> Addresses { get; set; } = new();
|
||||
|
||||
public Manager? Manager { get; set; }
|
||||
public Customer? Customer { get; set; }
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
[GenerateMapper]
|
||||
public class Customer : ApiEntity
|
||||
{
|
||||
public List<UserAddress> Addresses { get; set; } = new();
|
||||
public Guid UserId { get; set; }
|
||||
public ApplicationUser? User { get; set; }
|
||||
}
|
|
@ -3,11 +3,11 @@
|
|||
public enum PaymentType
|
||||
{
|
||||
[Display(Name = "نقدی")]
|
||||
Cash,
|
||||
Cash = 0,
|
||||
[Display(Name = "کارت به کارت")]
|
||||
CardTransfer,
|
||||
CardTransfer = 1,
|
||||
[Display(Name = "آنلاین")]
|
||||
Online,
|
||||
Online = 2,
|
||||
[Display(Name = "در محل")]
|
||||
PayOnDoor
|
||||
PayOnDoor = 3
|
||||
}
|
|
@ -18,6 +18,10 @@ public class GetOrdersQueryHandler : IRequestHandler<GetOrdersQuery,List<OrderSD
|
|||
.SetRepository<Order>()
|
||||
.TableNoTracking;
|
||||
|
||||
if (request.OrderBags)
|
||||
orders = orders.Where(o => o.OrderStatus == OrderStatus.OrderBag);
|
||||
else
|
||||
orders = orders.Where(o => o.OrderStatus != OrderStatus.OrderBag);
|
||||
if (request.FactorCode != null)
|
||||
orders = orders.Where(o => o.FactorCode.Trim().ToUpper().Contains(request.FactorCode.Trim().ToUpper()));
|
||||
|
||||
|
@ -49,12 +53,13 @@ public class GetOrdersQueryHandler : IRequestHandler<GetOrdersQuery,List<OrderSD
|
|||
if (request.OrderStatus != null)
|
||||
orders = orders.Where(o => o.OrderStatus == request.OrderStatus.Value);
|
||||
|
||||
return await orders
|
||||
var dtos = await orders
|
||||
.OrderByDescending(o=>o.CreatedAt)
|
||||
.Skip(request.Page * 15)
|
||||
.Take(15)
|
||||
.Select(OrderMapper.ProjectToSDto)
|
||||
.ToListAsync(cancellationToken);
|
||||
return dtos;
|
||||
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,56 @@
|
|||
using System;
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace NetinaShop.Repository.Migrations
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public partial class EditUserAddress : Migration
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropForeignKey(
|
||||
name: "FK_UserAddresses_Customers_CustomerId",
|
||||
schema: "public",
|
||||
table: "UserAddresses");
|
||||
|
||||
migrationBuilder.DropIndex(
|
||||
name: "IX_UserAddresses_CustomerId",
|
||||
schema: "public",
|
||||
table: "UserAddresses");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "CustomerId",
|
||||
schema: "public",
|
||||
table: "UserAddresses");
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.AddColumn<Guid>(
|
||||
name: "CustomerId",
|
||||
schema: "public",
|
||||
table: "UserAddresses",
|
||||
type: "uuid",
|
||||
nullable: true);
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_UserAddresses_CustomerId",
|
||||
schema: "public",
|
||||
table: "UserAddresses",
|
||||
column: "CustomerId");
|
||||
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_UserAddresses_Customers_CustomerId",
|
||||
schema: "public",
|
||||
table: "UserAddresses",
|
||||
column: "CustomerId",
|
||||
principalSchema: "public",
|
||||
principalTable: "Customers",
|
||||
principalColumn: "Id");
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1405,9 +1405,6 @@ namespace NetinaShop.Repository.Migrations
|
|||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<Guid?>("CustomerId")
|
||||
.HasColumnType("uuid");
|
||||
|
||||
b.Property<bool>("IsRemoved")
|
||||
.HasColumnType("boolean");
|
||||
|
||||
|
@ -1456,8 +1453,6 @@ namespace NetinaShop.Repository.Migrations
|
|||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("CustomerId");
|
||||
|
||||
b.HasIndex("UserId");
|
||||
|
||||
b.ToTable("UserAddresses", "public");
|
||||
|
@ -1874,12 +1869,8 @@ namespace NetinaShop.Repository.Migrations
|
|||
|
||||
modelBuilder.Entity("Netina.Domain.Entities.Users.UserAddress", b =>
|
||||
{
|
||||
b.HasOne("Netina.Domain.Entities.Users.Customer", null)
|
||||
.WithMany("Addresses")
|
||||
.HasForeignKey("CustomerId");
|
||||
|
||||
b.HasOne("Netina.Domain.Entities.Users.ApplicationUser", "User")
|
||||
.WithMany()
|
||||
.WithMany("Addresses")
|
||||
.HasForeignKey("UserId")
|
||||
.OnDelete(DeleteBehavior.Restrict);
|
||||
|
||||
|
@ -2019,6 +2010,8 @@ namespace NetinaShop.Repository.Migrations
|
|||
|
||||
modelBuilder.Entity("Netina.Domain.Entities.Users.ApplicationUser", b =>
|
||||
{
|
||||
b.Navigation("Addresses");
|
||||
|
||||
b.Navigation("Customer");
|
||||
|
||||
b.Navigation("Manager");
|
||||
|
@ -2026,11 +2019,6 @@ namespace NetinaShop.Repository.Migrations
|
|||
b.Navigation("Marketer");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Netina.Domain.Entities.Users.Customer", b =>
|
||||
{
|
||||
b.Navigation("Addresses");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Netina.Domain.Entities.Users.Marketer", b =>
|
||||
{
|
||||
b.Navigation("Discount");
|
||||
|
|
Loading…
Reference in New Issue