Compare commits

..

No commits in common. "95346be5f183e50193c452cfff714562aa4101ed" and "4ff76018438c0b22737f3f5c6bc6c0eec3450455" have entirely different histories.

14 changed files with 31 additions and 2119 deletions

View File

@ -1 +1 @@
1.0.7.10
1.0.6.7

View File

@ -1,6 +1,6 @@
{
"ConnectionStrings": {
"PostgresServer": "Host=185.220.227.246;Username=vesmmehAgent;Password=g05CTjK358Vx3Eoc9satsWyVwo+15UmsA2dnCrZRUYh1pLTe;Database=NetinaShopDB;Application Name=NetinaShopApi",
"PostgresServer": "Host=185.220.227.107;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;"
},

View File

@ -40,15 +40,8 @@ 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]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> 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> GetAsync(IMediator mediator, Guid id, CancellationToken cancellationToken = default)
{

View File

@ -6,8 +6,8 @@
<ImplicitUsings>enable</ImplicitUsings>
<InvariantGlobalization>true</InvariantGlobalization>
<DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
<AssemblyVersion>1.0.7.10</AssemblyVersion>
<FileVersion>1.0.7.10</FileVersion>
<AssemblyVersion>1.0.6.7</AssemblyVersion>
<FileVersion>1.0.6.7</FileVersion>
</PropertyGroup>
<ItemGroup>

View File

@ -142,7 +142,7 @@ public class ExceptionHandlerMiddleware
});
if (httpStatusCode == HttpStatusCode.InternalServerError)
context.Response.StatusCode = (int)HttpStatusCode.BadRequest;
context.Response.StatusCode = (int)HttpStatusCode.InternalServerError;
else
context.Response.StatusCode = (int)httpStatusCode;
context.Response.ContentType = "application/json";

View File

@ -27,8 +27,8 @@ public class CheckUserDiscountFirstUseCommandHandler : IRequestHandler<CheckUser
.FirstOrDefaultAsync(f => f.CustomerId == customer.Id && f.DiscountCode == request.DiscountCode,
cancellationToken);
if (discountedUserOrder != null)
return false;
return true;
return true;
return false;
}
else
throw new BaseApiException(ApiResultStatusCode.BadRequest,"UserId is wrong");

View File

@ -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,bool OrderBags, int Page = 0) : IRequest<List<OrderSDto>>;
public sealed record GetOrdersQuery(OrderQueryDateFilter? DateFilter, OrderStatus? OrderStatus,long? SelectedDate,string? FactorCode, int Page = 0) : IRequest<List<OrderSDto>>;

View File

@ -13,7 +13,6 @@ 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; }

View File

@ -5,6 +5,7 @@
[GenerateMapper]
public class Customer : ApiEntity
{
public List<UserAddress> Addresses { get; set; } = new();
public Guid UserId { get; set; }
public ApplicationUser? User { get; set; }
}

View File

@ -3,11 +3,11 @@
public enum PaymentType
{
[Display(Name = "نقدی")]
Cash = 0,
Cash,
[Display(Name = "کارت به کارت")]
CardTransfer = 1,
CardTransfer,
[Display(Name = "آنلاین")]
Online = 2,
Online,
[Display(Name = "در محل")]
PayOnDoor = 3
PayOnDoor
}

View File

@ -18,10 +18,6 @@ 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()));
@ -53,13 +49,12 @@ public class GetOrdersQueryHandler : IRequestHandler<GetOrdersQuery,List<OrderSD
if (request.OrderStatus != null)
orders = orders.Where(o => o.OrderStatus == request.OrderStatus.Value);
var dtos = await orders
return 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

View File

@ -1,56 +0,0 @@
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");
}
}
}

View File

@ -1405,6 +1405,9 @@ namespace NetinaShop.Repository.Migrations
.IsRequired()
.HasColumnType("text");
b.Property<Guid?>("CustomerId")
.HasColumnType("uuid");
b.Property<bool>("IsRemoved")
.HasColumnType("boolean");
@ -1453,6 +1456,8 @@ namespace NetinaShop.Repository.Migrations
b.HasKey("Id");
b.HasIndex("CustomerId");
b.HasIndex("UserId");
b.ToTable("UserAddresses", "public");
@ -1869,8 +1874,12 @@ namespace NetinaShop.Repository.Migrations
modelBuilder.Entity("Netina.Domain.Entities.Users.UserAddress", b =>
{
b.HasOne("Netina.Domain.Entities.Users.ApplicationUser", "User")
b.HasOne("Netina.Domain.Entities.Users.Customer", null)
.WithMany("Addresses")
.HasForeignKey("CustomerId");
b.HasOne("Netina.Domain.Entities.Users.ApplicationUser", "User")
.WithMany()
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Restrict);
@ -2010,8 +2019,6 @@ namespace NetinaShop.Repository.Migrations
modelBuilder.Entity("Netina.Domain.Entities.Users.ApplicationUser", b =>
{
b.Navigation("Addresses");
b.Navigation("Customer");
b.Navigation("Manager");
@ -2019,6 +2026,11 @@ 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");