public async Task InsertOrderPaymentDetails(PaymentResponseWithoutRequiredDto PaymentResponseDto, int OrderId, int CustomerId) { await Repository.InsertAsync(new PaymentResponse { OrderId = OrderId, PaymentDate = PaymentResponseDto.PaymentDate, Amount = PaymentResponseDto.Amount, Currency = PaymentResponseDto.Currency, Card = PaymentResponseDto.Card, Cardscheme = PaymentResponseDto.Cardscheme, CardType = PaymentResponseDto.CardType, PaymentStatus = PaymentResponseDto.PaymentStatus, TransactionId = PaymentResponseDto.TransactionId, TransactionType = PaymentResponseDto.TransactionType, CustomerId = CustomerId, PaymentCustomerId = "OrderPayment_" + PaymentResponseDto.TransactionId, PaymentSourceId = "OrderPayment_" + PaymentResponseDto.TransactionId, ReturnPaymentResponse = PaymentResponseDto.ReturnPaymentResponse, }); }
public async Task <List <PaymentResponseWithoutRequiredDto> > GetOrderPaymentlist(int OrderID) { var getOrderlist = this.Repository.Where(m => m.OrderId == OrderID).ToList(); List <PaymentResponseWithoutRequiredDto> PaymentOrderlist = new List <PaymentResponseWithoutRequiredDto>(); foreach (var Orderslist in getOrderlist) { PaymentResponseWithoutRequiredDto PaymentOrder = new PaymentResponseWithoutRequiredDto(); PaymentOrder.PaymentDate = Orderslist.PaymentDate; PaymentOrder.Amount = Orderslist.Amount; PaymentOrder.Currency = Orderslist.Currency; PaymentOrder.Card = Orderslist.Card; PaymentOrder.Cardscheme = Orderslist.Cardscheme; PaymentOrder.CardType = Orderslist.CardType; PaymentOrder.PaymentStatus = Orderslist.PaymentStatus; PaymentOrder.TransactionId = Orderslist.TransactionId; PaymentOrder.TransactionType = Orderslist.TransactionType; PaymentOrder.ReturnPaymentResponse = Orderslist.ReturnPaymentResponse; PaymentOrderlist.Add(PaymentOrder); } return(PaymentOrderlist); }
public async Task <List <GetOrderDetailsDto> > GetAll(string CustomerID) { //return this.Repository.Where(m => m.CustomerRegistration.Email == CustomerID).ToList(); var getOrderlist = (from s in this.Repository.Where(m => m.CustomerRegistration.Email == CustomerID) select new { s.Id, s.OrderNo, s.OrderDate, s.OrderAmount, s.Currency, s.OrderStatus, s.WayBill, s.OrderAddress, s.Merchant, s.Paymentstatus, s.COD }).ToList(); List <GetOrderDetailsDto> OrderDetailslist = new List <GetOrderDetailsDto>(); foreach (var tOrderlist in getOrderlist) { GetOrderDetailsDto OrderDetails = new GetOrderDetailsDto(); OrderDetails.OrderID = tOrderlist.Id; OrderDetails.OrderNo = tOrderlist.OrderNo; OrderDetails.OrderDate = tOrderlist.OrderDate; OrderDetails.OrderAmount = tOrderlist.OrderAmount; OrderDetails.CurrenyCode = tOrderlist.Currency; OrderDetails.OrderStatus = tOrderlist.OrderStatus; OrderDetails.MerchantID = tOrderlist.Merchant.Id; OrderDetails.MerchantName = tOrderlist.Merchant.Name; OrderDetails.MerchantImage = tOrderlist.Merchant.CompanyImage; OrderDetails.COD = tOrderlist.COD; if (tOrderlist.Paymentstatus != null) { OrderDetails.PaymentStatus = tOrderlist.Paymentstatus; } else { OrderDetails.PaymentStatus = "0"; } foreach (var OrderAddress in tOrderlist.OrderAddress) { OrderDetails.ConsigneeAddressLine1 = OrderAddress.Line1; OrderDetails.ConsigneeAddressLine2 = OrderAddress.Line1; OrderDetails.ConsigneeAddressCity = OrderAddress.City; OrderDetails.ConsigneeAddressCountry = OrderAddress.Country; OrderDetails.ConsigneeAddresszip = OrderAddress.zip; OrderDetails.ConsigneeAddressMobileNo = OrderAddress.MobileNo; OrderDetails.ConsigneeAddressPhone = OrderAddress.Phone; OrderDetails.Latitude = OrderAddress.Latitude; OrderDetails.Longitude = OrderAddress.Longitude; } OrderDetails.Products = new List <GetProductDetailsDto>(); foreach (var ProductWayBillDetails in tOrderlist.WayBill) { foreach (var ProductDetails in ProductWayBillDetails.OrderDetails) { GetProductDetailsDto ProductDetailsDto = new GetProductDetailsDto(); ProductDetailsDto.ProductID = ProductDetails.Id; ProductDetailsDto.ProductSKU = ProductDetails.ProductSKU; ProductDetailsDto.ProductImage = ProductDetails.ProductImage; ProductDetailsDto.ProductName = ProductDetails.ProductName; ProductDetailsDto.Description = ProductDetails.Description; ProductDetailsDto.Quantity = ProductDetails.Quantity; ProductDetailsDto.UnitCost = ProductDetails.UnitCost; ProductDetailsDto.CurrenyCode = ProductDetails.CurrenyCode; ProductDetailsDto.OrderID = ProductDetails.OrderRefID; ProductDetailsDto.COD = tOrderlist.COD; ProductDetailsDto.TrackingID = ProductWayBillDetails.WaybillNo; OrderDetails.Products.Add(ProductDetailsDto); } } var PaymentResponseService = await _PaymentResponseService.GetOrderPaymentlist(tOrderlist.Id); if (PaymentResponseService != null) { OrderDetails.PaymentDetails = new List <PaymentResponseWithoutRequiredDto>(); foreach (var PaymentResponselDetails in PaymentResponseService) { PaymentResponseWithoutRequiredDto PaymentResponseWithoutRequiredDto = new PaymentResponseWithoutRequiredDto(); PaymentResponseWithoutRequiredDto.PaymentDate = PaymentResponselDetails.PaymentDate; PaymentResponseWithoutRequiredDto.Amount = PaymentResponselDetails.Amount; PaymentResponseWithoutRequiredDto.Currency = PaymentResponselDetails.Currency; PaymentResponseWithoutRequiredDto.Card = PaymentResponselDetails.Card; PaymentResponseWithoutRequiredDto.Cardscheme = PaymentResponselDetails.Cardscheme; PaymentResponseWithoutRequiredDto.CardType = PaymentResponselDetails.CardType; PaymentResponseWithoutRequiredDto.PaymentStatus = PaymentResponselDetails.PaymentStatus; PaymentResponseWithoutRequiredDto.TransactionId = PaymentResponselDetails.TransactionId; PaymentResponseWithoutRequiredDto.TransactionType = PaymentResponselDetails.TransactionType; PaymentResponseWithoutRequiredDto.ReturnPaymentResponse = PaymentResponselDetails.ReturnPaymentResponse; OrderDetails.PaymentDetails.Add(PaymentResponseWithoutRequiredDto); } } OrderDetailslist.Add(OrderDetails); } return(OrderDetailslist); }
public async Task <IActionResult> OrdersDetails([FromBody] MerchantResponseDto MerchantReposesDto) { try { var _checkLoginAuthentication = await _UsersService.LoginAuthenticate(new CustomerRegistrationDto { Email = MerchantReposesDto.MerchantUserName }); if (_checkLoginAuthentication != null) { if (EncryptionHelper.Decrypt(_checkLoginAuthentication.PWD) == MerchantReposesDto.MerchantPassword) { strImagePath = _configuration["FilePath:ImagePath"] + "OrderImage/"; for (int i = 0; i < MerchantReposesDto.OrderDetails.Count(); i++) { GetOrderDetailsDto objGetOrderDetails = new GetOrderDetailsDto(); if (MerchantReposesDto.MerchantID > 0 && MerchantReposesDto.CustomerID > 0) { var Checkorders = _OrdersService.CheckOrderDetails(MerchantReposesDto.OrderDetails[i].OrderNo); if (Checkorders.Count == 0) { if (MerchantReposesDto.OrderDetails[i].COD != "") { if (MerchantReposesDto.OrderDetails[i].COD == "Y") { int OrderId = 0; objGetOrderDetails.OrderNo = MerchantReposesDto.OrderDetails[i].OrderNo; objGetOrderDetails.OrderDate = MerchantReposesDto.OrderDetails[i].OrderDate; objGetOrderDetails.OrderAmount = MerchantReposesDto.OrderDetails[i].OrderAmount; objGetOrderDetails.CurrenyCode = MerchantReposesDto.OrderDetails[i].CurrenyCode; objGetOrderDetails.COD = MerchantReposesDto.OrderDetails[i].COD; objGetOrderDetails.OrderStatus = MerchantReposesDto.OrderDetails[i].OrderStatus; objGetOrderDetails.CustomerID = MerchantReposesDto.CustomerID; objGetOrderDetails.MerchantID = MerchantReposesDto.MerchantID; await _OrdersService.InsertOrder(objGetOrderDetails); var getOrderId = _OrdersService.OrderId(objGetOrderDetails); OrderId = Convert.ToInt32(getOrderId.Id); objGetOrderDetails.ConsigneeAddressLine1 = MerchantReposesDto.OrderDetails[i].ConsigneeAddressLine1; objGetOrderDetails.ConsigneeAddressLine2 = MerchantReposesDto.OrderDetails[i].ConsigneeAddressLine2; objGetOrderDetails.ConsigneeAddressCity = MerchantReposesDto.OrderDetails[i].ConsigneeAddressCity; objGetOrderDetails.ConsigneeAddressState = MerchantReposesDto.OrderDetails[i].ConsigneeAddressState; objGetOrderDetails.ConsigneeAddressCountry = MerchantReposesDto.OrderDetails[i].ConsigneeAddressCountry; objGetOrderDetails.ConsigneeAddresszip = MerchantReposesDto.OrderDetails[i].ConsigneeAddresszip; objGetOrderDetails.ConsigneeAddressMobileNo = MerchantReposesDto.OrderDetails[i].ConsigneeAddressMobileNo; objGetOrderDetails.ConsigneeAddressPhone = MerchantReposesDto.OrderDetails[i].ConsigneeAddressPhone; objGetOrderDetails.Latitude = MerchantReposesDto.OrderDetails[i].Latitude; objGetOrderDetails.Longitude = MerchantReposesDto.OrderDetails[i].Longitude; await _OrdersAddressService.InsertOrderAddress(objGetOrderDetails, OrderId); for (int L = 0; L < MerchantReposesDto.OrderDetails[i].Waybill.Count(); L++) { await _WayBillService.InsertWayBill(OrderId, MerchantReposesDto.OrderDetails[i].Waybill[L].WaybillNo); int getWayBillId = await _WayBillService.GetWayBillId(OrderId, MerchantReposesDto.OrderDetails[i].Waybill[L].WaybillNo); for (int K = 0; K < MerchantReposesDto.OrderDetails[i].Waybill[L].Products.Count(); K++) { if (MerchantReposesDto.OrderDetails[i].Waybill[L].Products[K].ProductID > 0) { Guid Imagguid = Guid.NewGuid(); ProductDetailsDto objProductDetailsDto = new ProductDetailsDto(); objProductDetailsDto.ProductSKU = MerchantReposesDto.OrderDetails[i].Waybill[L].Products[K].ProductSKU; if (MerchantReposesDto.OrderDetails[i].Waybill[L].Products[K].ProductImage.Substring(MerchantReposesDto.OrderDetails[i].Waybill[L].Products[K].ProductImage.Length - 3) != "jpg" && MerchantReposesDto.OrderDetails[i].Waybill[L].Products[K].ProductImage.Substring(MerchantReposesDto.OrderDetails[i].Waybill[L].Products[K].ProductImage.Length - 3) != "png") { if (!String.IsNullOrEmpty(MerchantReposesDto.OrderDetails[i].Waybill[L].Products[K].ProductImage)) { if (!Directory.Exists(strImagePath + getOrderId.Id)) { Directory.CreateDirectory(strImagePath + getOrderId.Id); } Byte[] imageByteData = Convert.FromBase64String(MerchantReposesDto.OrderDetails[i].Waybill[L].Products[K].ProductImage); var fs = new BinaryWriter(new FileStream(strImagePath + getOrderId.Id + "/" + Imagguid + ".jpg", FileMode.Create, FileAccess.ReadWrite)); fs.Write(imageByteData); fs.Close(); } objProductDetailsDto.ProductImage = Imagguid + ".jpg"; } objProductDetailsDto.ProductImage = MerchantReposesDto.OrderDetails[i].Waybill[L].Products[K].ProductImage; objProductDetailsDto.ProductName = MerchantReposesDto.OrderDetails[i].Waybill[L].Products[K].ProductName; objProductDetailsDto.Description = MerchantReposesDto.OrderDetails[i].Waybill[L].Products[K].Description; objProductDetailsDto.Quantity = MerchantReposesDto.OrderDetails[i].Waybill[L].Products[K].Quantity; objProductDetailsDto.UnitCost = MerchantReposesDto.OrderDetails[i].Waybill[L].Products[K].UnitCost; objProductDetailsDto.CurrenyCode = MerchantReposesDto.OrderDetails[i].Waybill[L].Products[K].CurrenyCode; objProductDetailsDto.Returndate = MerchantReposesDto.OrderDetails[i].Waybill[L].Products[K].Returndate; await _OrdersDetailsService.InsertProductDetails(getWayBillId, Convert.ToInt32(getOrderId.Id), objProductDetailsDto); } } } } else { if (!string.IsNullOrEmpty(MerchantReposesDto.OrderDetails[i].PaymentDetails[0].TransactionId) && !string.IsNullOrEmpty(MerchantReposesDto.OrderDetails[i].PaymentDetails[0].TransactionType) && MerchantReposesDto.OrderDetails[i].PaymentDetails[0].Amount > 0) { int OrderId = 0; objGetOrderDetails.OrderNo = MerchantReposesDto.OrderDetails[i].OrderNo; objGetOrderDetails.OrderDate = MerchantReposesDto.OrderDetails[i].OrderDate; objGetOrderDetails.OrderAmount = MerchantReposesDto.OrderDetails[i].OrderAmount; objGetOrderDetails.CurrenyCode = MerchantReposesDto.OrderDetails[i].CurrenyCode; objGetOrderDetails.COD = MerchantReposesDto.OrderDetails[i].COD; objGetOrderDetails.OrderStatus = MerchantReposesDto.OrderDetails[i].OrderStatus; objGetOrderDetails.CustomerID = MerchantReposesDto.CustomerID; objGetOrderDetails.MerchantID = MerchantReposesDto.MerchantID; await _OrdersService.InsertOrder(objGetOrderDetails); var getOrderId = _OrdersService.OrderId(objGetOrderDetails); OrderId = Convert.ToInt32(getOrderId.Id); objGetOrderDetails.ConsigneeAddressLine1 = MerchantReposesDto.OrderDetails[i].ConsigneeAddressLine1; objGetOrderDetails.ConsigneeAddressLine2 = MerchantReposesDto.OrderDetails[i].ConsigneeAddressLine2; objGetOrderDetails.ConsigneeAddressCity = MerchantReposesDto.OrderDetails[i].ConsigneeAddressCity; objGetOrderDetails.ConsigneeAddressState = MerchantReposesDto.OrderDetails[i].ConsigneeAddressState; objGetOrderDetails.ConsigneeAddressCountry = MerchantReposesDto.OrderDetails[i].ConsigneeAddressCountry; objGetOrderDetails.ConsigneeAddresszip = MerchantReposesDto.OrderDetails[i].ConsigneeAddresszip; objGetOrderDetails.ConsigneeAddressMobileNo = MerchantReposesDto.OrderDetails[i].ConsigneeAddressMobileNo; objGetOrderDetails.ConsigneeAddressPhone = MerchantReposesDto.OrderDetails[i].ConsigneeAddressPhone; objGetOrderDetails.Latitude = MerchantReposesDto.OrderDetails[i].Latitude; objGetOrderDetails.Longitude = MerchantReposesDto.OrderDetails[i].Longitude; await _OrdersAddressService.InsertOrderAddress(objGetOrderDetails, OrderId); for (int L = 0; L < MerchantReposesDto.OrderDetails[i].Waybill.Count(); L++) { await _WayBillService.InsertWayBill(OrderId, MerchantReposesDto.OrderDetails[i].Waybill[L].WaybillNo); int getWayBillId = await _WayBillService.GetWayBillId(OrderId, MerchantReposesDto.OrderDetails[i].Waybill[L].WaybillNo); for (int K = 0; K < MerchantReposesDto.OrderDetails[i].Waybill[L].Products.Count(); K++) { if (MerchantReposesDto.OrderDetails[i].Waybill[L].Products[K].ProductID > 0) { Guid ImagNonCODguid = Guid.NewGuid(); ProductDetailsDto objProductDetailsDto = new ProductDetailsDto(); objProductDetailsDto.ProductSKU = MerchantReposesDto.OrderDetails[i].Waybill[L].Products[K].ProductSKU; if (MerchantReposesDto.OrderDetails[i].Waybill[L].Products[K].ProductImage.Substring(MerchantReposesDto.OrderDetails[i].Waybill[L].Products[K].ProductImage.Length - 3) != "jpg" && MerchantReposesDto.OrderDetails[i].Waybill[L].Products[K].ProductImage.Substring(MerchantReposesDto.OrderDetails[i].Waybill[L].Products[K].ProductImage.Length - 3) != "png") { if (!String.IsNullOrEmpty(MerchantReposesDto.OrderDetails[i].Waybill[L].Products[K].ProductImage)) { if (!Directory.Exists(strImagePath + getOrderId.Id)) { Directory.CreateDirectory(strImagePath + getOrderId.Id); } Byte[] imageByteData = Convert.FromBase64String(MerchantReposesDto.OrderDetails[i].Waybill[L].Products[K].ProductImage); var fs = new BinaryWriter(new FileStream(strImagePath + getOrderId.Id + "/" + ImagNonCODguid + ".jpg", FileMode.Create, FileAccess.ReadWrite)); fs.Write(imageByteData); fs.Close(); } objProductDetailsDto.ProductImage = ImagNonCODguid + ".jpg"; } objProductDetailsDto.ProductImage = MerchantReposesDto.OrderDetails[i].Waybill[L].Products[K].ProductImage; objProductDetailsDto.ProductName = MerchantReposesDto.OrderDetails[i].Waybill[L].Products[K].ProductName; objProductDetailsDto.Description = MerchantReposesDto.OrderDetails[i].Waybill[L].Products[K].Description; objProductDetailsDto.Quantity = MerchantReposesDto.OrderDetails[i].Waybill[L].Products[K].Quantity; objProductDetailsDto.UnitCost = MerchantReposesDto.OrderDetails[i].Waybill[L].Products[K].UnitCost; objProductDetailsDto.CurrenyCode = MerchantReposesDto.OrderDetails[i].Waybill[L].Products[K].CurrenyCode; objProductDetailsDto.Returndate = MerchantReposesDto.OrderDetails[i].Waybill[L].Products[K].Returndate; await _OrdersDetailsService.InsertProductDetails(getWayBillId, Convert.ToInt32(getOrderId.Id), objProductDetailsDto); } } } for (int M = 0; M < MerchantReposesDto.OrderDetails[i].PaymentDetails.Count(); M++) { Guid Imagguid = Guid.NewGuid(); PaymentResponseWithoutRequiredDto objPaymentDto = new PaymentResponseWithoutRequiredDto(); objPaymentDto.PaymentDate = MerchantReposesDto.OrderDetails[i].PaymentDetails[M].PaymentDate; objPaymentDto.Amount = MerchantReposesDto.OrderDetails[i].PaymentDetails[M].Amount; objPaymentDto.Currency = MerchantReposesDto.OrderDetails[i].PaymentDetails[M].Currency; objPaymentDto.Card = MerchantReposesDto.OrderDetails[i].PaymentDetails[M].Card; objPaymentDto.Cardscheme = MerchantReposesDto.OrderDetails[i].PaymentDetails[M].Cardscheme; objPaymentDto.CardType = MerchantReposesDto.OrderDetails[i].PaymentDetails[M].CardType; objPaymentDto.PaymentStatus = MerchantReposesDto.OrderDetails[i].PaymentDetails[M].PaymentStatus; objPaymentDto.TransactionId = MerchantReposesDto.OrderDetails[i].PaymentDetails[M].TransactionId; objPaymentDto.TransactionType = MerchantReposesDto.OrderDetails[i].PaymentDetails[M].TransactionType; objPaymentDto.ReturnPaymentResponse = MerchantReposesDto.OrderDetails[i].PaymentDetails[M].ReturnPaymentResponse; await _PaymentResponseService.InsertOrderPaymentDetails(objPaymentDto, OrderId, MerchantReposesDto.CustomerID); } } else { return(BadRequest(new OrderResultDto <string> { Result = "Order PaymentDetails Required", ReOrderNo = MerchantReposesDto.OrderDetails[i].OrderNo })); } } } else { return(BadRequest(new OrderResultDto <string> { Result = "Order Required COD", ReOrderNo = MerchantReposesDto.OrderDetails[i].OrderNo })); } } else { return(BadRequest(new OrderResultDto <string> { Result = "OrderNo already exsist", ReOrderNo = MerchantReposesDto.OrderDetails[i].OrderNo })); } } else if (MerchantReposesDto.MerchantID == 0) { return(BadRequest(new OrderResultDto <string> { Result = "Invalid Merchant ID ", ReOrderNo = MerchantReposesDto.OrderDetails[i].OrderNo })); } else if (MerchantReposesDto.CustomerID == 0) { return(BadRequest(new OrderResultDto <string> { Result = " Invalid Customer ID", ReOrderNo = MerchantReposesDto.OrderDetails[i].OrderNo })); } } } else { return(BadRequest(new OrderResultDto <string> { Result = "Invalid Password" })); } } else { return(BadRequest(new OrderResultDto <string> { Result = "Invalid Merchant" })); } } catch (Exception err) { return(BadRequest(new OrderResultDto <string> { Result = err.Message })); } return(Ok(new OrderResultDto <string> { Result = "Orders created successfully" })); }