Compare commits
2 Commits
4ff7601843
...
95346be5f1
Author | SHA1 | Date |
---|---|---|
|
95346be5f1 | |
|
fd0f5696f4 |
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"ConnectionStrings": {
|
"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",
|
"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;"
|
"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)
|
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));
|
=> 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)
|
public async Task<IResult> GetAllAsync(IMediator mediator,
|
||||||
=> TypedResults.Ok(await mediator.Send(new GetOrdersQuery(Page:page, FactorCode:factorCode , SelectedDate: selectedDate, OrderStatus:orderStatus, DateFilter:dateFilter), cancellationToken));
|
[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)
|
public async Task<IResult> GetAsync(IMediator mediator, Guid id, CancellationToken cancellationToken = default)
|
||||||
{
|
{
|
||||||
|
|
|
@ -6,8 +6,8 @@
|
||||||
<ImplicitUsings>enable</ImplicitUsings>
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
<InvariantGlobalization>true</InvariantGlobalization>
|
<InvariantGlobalization>true</InvariantGlobalization>
|
||||||
<DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
|
<DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
|
||||||
<AssemblyVersion>1.0.6.7</AssemblyVersion>
|
<AssemblyVersion>1.0.7.10</AssemblyVersion>
|
||||||
<FileVersion>1.0.6.7</FileVersion>
|
<FileVersion>1.0.7.10</FileVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|
|
@ -142,7 +142,7 @@ public class ExceptionHandlerMiddleware
|
||||||
});
|
});
|
||||||
|
|
||||||
if (httpStatusCode == HttpStatusCode.InternalServerError)
|
if (httpStatusCode == HttpStatusCode.InternalServerError)
|
||||||
context.Response.StatusCode = (int)HttpStatusCode.InternalServerError;
|
context.Response.StatusCode = (int)HttpStatusCode.BadRequest;
|
||||||
else
|
else
|
||||||
context.Response.StatusCode = (int)httpStatusCode;
|
context.Response.StatusCode = (int)httpStatusCode;
|
||||||
context.Response.ContentType = "application/json";
|
context.Response.ContentType = "application/json";
|
||||||
|
|
|
@ -27,8 +27,8 @@ public class CheckUserDiscountFirstUseCommandHandler : IRequestHandler<CheckUser
|
||||||
.FirstOrDefaultAsync(f => f.CustomerId == customer.Id && f.DiscountCode == request.DiscountCode,
|
.FirstOrDefaultAsync(f => f.CustomerId == customer.Id && f.DiscountCode == request.DiscountCode,
|
||||||
cancellationToken);
|
cancellationToken);
|
||||||
if (discountedUserOrder != null)
|
if (discountedUserOrder != null)
|
||||||
return true;
|
return false;
|
||||||
return false;
|
return true;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
throw new BaseApiException(ApiResultStatusCode.BadRequest,"UserId is wrong");
|
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 GetUserOrdersQuery(Guid CustomerId = default) : IRequest<List<OrderSDto>>;
|
||||||
public sealed record GetOrderQuery(Guid Id) : IRequest<Order>;
|
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 DateTime BirthDate { get; set; }
|
||||||
public Gender Gender { get; set; }
|
public Gender Gender { get; set; }
|
||||||
public SignUpStatus SignUpStatus { get; set; }
|
public SignUpStatus SignUpStatus { get; set; }
|
||||||
|
public List<UserAddress> Addresses { get; set; } = new();
|
||||||
|
|
||||||
public Manager? Manager { get; set; }
|
public Manager? Manager { get; set; }
|
||||||
public Customer? Customer { get; set; }
|
public Customer? Customer { get; set; }
|
||||||
|
|
|
@ -5,7 +5,6 @@
|
||||||
[GenerateMapper]
|
[GenerateMapper]
|
||||||
public class Customer : ApiEntity
|
public class Customer : ApiEntity
|
||||||
{
|
{
|
||||||
public List<UserAddress> Addresses { get; set; } = new();
|
|
||||||
public Guid UserId { get; set; }
|
public Guid UserId { get; set; }
|
||||||
public ApplicationUser? User { get; set; }
|
public ApplicationUser? User { get; set; }
|
||||||
}
|
}
|
|
@ -3,11 +3,11 @@
|
||||||
public enum PaymentType
|
public enum PaymentType
|
||||||
{
|
{
|
||||||
[Display(Name = "نقدی")]
|
[Display(Name = "نقدی")]
|
||||||
Cash,
|
Cash = 0,
|
||||||
[Display(Name = "کارت به کارت")]
|
[Display(Name = "کارت به کارت")]
|
||||||
CardTransfer,
|
CardTransfer = 1,
|
||||||
[Display(Name = "آنلاین")]
|
[Display(Name = "آنلاین")]
|
||||||
Online,
|
Online = 2,
|
||||||
[Display(Name = "در محل")]
|
[Display(Name = "در محل")]
|
||||||
PayOnDoor
|
PayOnDoor = 3
|
||||||
}
|
}
|
|
@ -18,6 +18,10 @@ public class GetOrdersQueryHandler : IRequestHandler<GetOrdersQuery,List<OrderSD
|
||||||
.SetRepository<Order>()
|
.SetRepository<Order>()
|
||||||
.TableNoTracking;
|
.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)
|
if (request.FactorCode != null)
|
||||||
orders = orders.Where(o => o.FactorCode.Trim().ToUpper().Contains(request.FactorCode.Trim().ToUpper()));
|
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)
|
if (request.OrderStatus != null)
|
||||||
orders = orders.Where(o => o.OrderStatus == request.OrderStatus.Value);
|
orders = orders.Where(o => o.OrderStatus == request.OrderStatus.Value);
|
||||||
|
|
||||||
return await orders
|
var dtos = await orders
|
||||||
.OrderByDescending(o=>o.CreatedAt)
|
.OrderByDescending(o=>o.CreatedAt)
|
||||||
.Skip(request.Page * 15)
|
.Skip(request.Page * 15)
|
||||||
.Take(15)
|
.Take(15)
|
||||||
.Select(OrderMapper.ProjectToSDto)
|
.Select(OrderMapper.ProjectToSDto)
|
||||||
.ToListAsync(cancellationToken);
|
.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()
|
.IsRequired()
|
||||||
.HasColumnType("text");
|
.HasColumnType("text");
|
||||||
|
|
||||||
b.Property<Guid?>("CustomerId")
|
|
||||||
.HasColumnType("uuid");
|
|
||||||
|
|
||||||
b.Property<bool>("IsRemoved")
|
b.Property<bool>("IsRemoved")
|
||||||
.HasColumnType("boolean");
|
.HasColumnType("boolean");
|
||||||
|
|
||||||
|
@ -1456,8 +1453,6 @@ namespace NetinaShop.Repository.Migrations
|
||||||
|
|
||||||
b.HasKey("Id");
|
b.HasKey("Id");
|
||||||
|
|
||||||
b.HasIndex("CustomerId");
|
|
||||||
|
|
||||||
b.HasIndex("UserId");
|
b.HasIndex("UserId");
|
||||||
|
|
||||||
b.ToTable("UserAddresses", "public");
|
b.ToTable("UserAddresses", "public");
|
||||||
|
@ -1874,12 +1869,8 @@ namespace NetinaShop.Repository.Migrations
|
||||||
|
|
||||||
modelBuilder.Entity("Netina.Domain.Entities.Users.UserAddress", b =>
|
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")
|
b.HasOne("Netina.Domain.Entities.Users.ApplicationUser", "User")
|
||||||
.WithMany()
|
.WithMany("Addresses")
|
||||||
.HasForeignKey("UserId")
|
.HasForeignKey("UserId")
|
||||||
.OnDelete(DeleteBehavior.Restrict);
|
.OnDelete(DeleteBehavior.Restrict);
|
||||||
|
|
||||||
|
@ -2019,6 +2010,8 @@ namespace NetinaShop.Repository.Migrations
|
||||||
|
|
||||||
modelBuilder.Entity("Netina.Domain.Entities.Users.ApplicationUser", b =>
|
modelBuilder.Entity("Netina.Domain.Entities.Users.ApplicationUser", b =>
|
||||||
{
|
{
|
||||||
|
b.Navigation("Addresses");
|
||||||
|
|
||||||
b.Navigation("Customer");
|
b.Navigation("Customer");
|
||||||
|
|
||||||
b.Navigation("Manager");
|
b.Navigation("Manager");
|
||||||
|
@ -2026,11 +2019,6 @@ namespace NetinaShop.Repository.Migrations
|
||||||
b.Navigation("Marketer");
|
b.Navigation("Marketer");
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("Netina.Domain.Entities.Users.Customer", b =>
|
|
||||||
{
|
|
||||||
b.Navigation("Addresses");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("Netina.Domain.Entities.Users.Marketer", b =>
|
modelBuilder.Entity("Netina.Domain.Entities.Users.Marketer", b =>
|
||||||
{
|
{
|
||||||
b.Navigation("Discount");
|
b.Navigation("Discount");
|
||||||
|
|
Loading…
Reference in New Issue