public int SaveShippingDetails(ShippingDetailsDTO shippingDetailsDTO) { try { using (nareshkartEntities dbContext = new nareshkartEntities()) { var entity = new ShippingDetail() { Country = shippingDetailsDTO.Country, Email = shippingDetailsDTO.Email, FirstName = shippingDetailsDTO.FirstName, LandMark = shippingDetailsDTO.LandMark, LastName = shippingDetailsDTO.LastName, PhoneNumber = shippingDetailsDTO.PhoneNumber, ShippingAddress = shippingDetailsDTO.Address, State = shippingDetailsDTO.State, Street = shippingDetailsDTO.Street, Zipcode = shippingDetailsDTO.Zip, UserId = shippingDetailsDTO.UserId }; dbContext.ShippingDetails.Add(entity); dbContext.SaveChanges(); return(entity.Id); } } catch (Exception ex) { throw ex; } }
public async Task ProcessOrderAsync(IEnumerable <CartLineDTO> cart, ShippingDetailsDTO shippingDetails) { var customer = CreateCurrentCustomer(shippingDetails); var orderHeader = ProcessOrderHeader(cart, shippingDetails); customer.PurchaseOrderHeaders.Add(orderHeader); unitOfWork.Save(); await emailService.SendEmailAsync(orderHeader.PurchaseOrderID); }
public ActionResult GetShippingDetails(int quantity, string itemId, double itemCost) { var itemDetails = new ItemDetails { ItemCost = itemCost, ItemId = itemId, Quantity = quantity }; // Get person details var personDetails = new ShippingDetailsDTO(); personDetails.Country = 1; personDetails.CountryList = Helper.GetCountryList(); personDetails.ItemDetails = itemDetails; return(View("~/Views/ShippingDetails/Index.cshtml", personDetails)); }
public ActionResult SaveShippingDetails(ShippingDetailsDTO shippingDetails) { if (!ModelState.IsValid) { shippingDetails.CountryList = Helper.GetCountryList(); return(View("~/Views/ShippingDetails/Index.cshtml", shippingDetails)); } IShippingDetailsRepository shippingDetailsRepository = new ShippingDetailsRepository(); var shippingTransactionId = shippingDetailsRepository.SaveShippingDetails(shippingDetails); return(RedirectToAction("Index", "PaymentOptions", new { quantity = shippingDetails.ItemDetails?.Quantity, itemId = shippingDetails.ItemDetails?.ItemId, itemCost = shippingDetails.ItemDetails?.ItemCost, shipmentTransactionId = shippingTransactionId })); }
private PurchaseOrderHeader ProcessOrderHeader(IEnumerable <CartLineDTO> cart, ShippingDetailsDTO shippingDetails) { var employeeID = GetSalesPerson(shippingDetails.Country.ToString()); var subTotal = CartTotalValue(cart); var taxAmt = (CartTotalValue(cart) * GetTaxRate(shippingDetails.Country.ToString())) / 100; var freight = (CartTotalValue(cart) * ShipBaseRate()) / 1000; var orderHeader = new PurchaseOrderHeader() { RevisionNumber = 1, Status = 2, EmployeeID = employeeID, ShipMethodID = 1, OrderDate = DateTime.Now, ShipDate = DateTime.Now.AddDays(7), SubTotal = subTotal, TaxAmt = taxAmt, Freight = freight, TotalDue = subTotal + taxAmt + freight, ModifiedDate = DateTime.Now }; foreach (var item in cart) { var orderDetail = new PurchaseOrderDetail() { DueDate = DateTime.Now.AddDays(5), OrderQty = (short)item.Quantity, ProductID = item.Product.ProductID, UnitPrice = item.Product.Price, LineTotal = item.Product.Price * item.Quantity, ReceivedQty = item.Quantity, RejectedQty = 0, StockedQty = item.Quantity, ModifiedDate = DateTime.Now }; orderHeader.PurchaseOrderDetails.Add(orderDetail); } return(orderHeader); }
public async Task ProccesOrderAuthenticatedAsync(IEnumerable <CartLineDTO> cart, ShippingDetailsDTO shippingDetails, string userId) { var person = unitOfWork.Person.GetList(i => i.UserID == userId).FirstOrDefault(); var busEntity = unitOfWork.BusinessEntity.Get(person.BusinessEntityID); var personPhone = new PersonPhone() { PhoneNumber = shippingDetails.MobilePhone, PhoneNumberTypeID = 1, ModifiedDate = DateTime.Now }; var emailAddress = new EmailAddress() { EmailAddress1 = shippingDetails.Email, rowguid = Guid.NewGuid(), ModifiedDate = DateTime.Now }; person.EmailAddresses.Add(emailAddress); person.PersonPhones.Add(personPhone); var orderHeader = ProcessOrderHeader(cart, shippingDetails); busEntity.PurchaseOrderHeaders.Add(orderHeader); unitOfWork.Save(); await emailService.SendEmailAsync(orderHeader.PurchaseOrderID); }
public BusinessEntity CreateCurrentCustomer(ShippingDetailsDTO shippingDetails) { var busEntity = new BusinessEntity() { rowguid = Guid.NewGuid(), ModifiedDate = DateTime.Now }; var personCurrent = new Person() { FirstName = shippingDetails.FirstName, MiddleName = shippingDetails.MiddleName, LastName = shippingDetails.LastName, EmailPromotion = 0, rowguid = Guid.NewGuid(), ModifiedDate = DateTime.Now }; var busEntityAddress = new BusinessEntityAddress() { AddressTypeID = 2, rowguid = Guid.NewGuid(), ModifiedDate = DateTime.Now }; var stateProvince = unitOfWork.StateProvince.GetList(i => i.CountryRegionCode == shippingDetails.Country.ToString()).FirstOrDefault(); var address = new Address() { AddressLine1 = shippingDetails.Address, City = shippingDetails.City, StateProvince = stateProvince, PostalCode = shippingDetails.PostalCode, rowguid = Guid.NewGuid(), ModifiedDate = DateTime.Now }; var personPhone = new PersonPhone() { PhoneNumber = shippingDetails.MobilePhone, PhoneNumberTypeID = 1, ModifiedDate = DateTime.Now }; var emailAddress = new EmailAddress() { EmailAddress1 = shippingDetails.Email, rowguid = Guid.NewGuid(), ModifiedDate = DateTime.Now }; busEntity.BusinessEntityAddresses.Add(busEntityAddress); address.BusinessEntityAddresses.Add(busEntityAddress); personCurrent.BusinessEntity = busEntity; personCurrent.EmailAddresses.Add(emailAddress); personCurrent.PersonPhones.Add(personPhone); unitOfWork.Address.Create(address); unitOfWork.Person.Create(personCurrent); unitOfWork.Save(); return(busEntity); }
public void ProcessOrder(IEnumerable <CartLineDTO> cart, ShippingDetailsDTO shippingDetails) { orderProcessorService.ProcessOrderAsync(cart, shippingDetails); }
public void ProccesOrderAuthenticated(IEnumerable <CartLineDTO> cart, ShippingDetailsDTO shippingDetails, string userId) { orderProcessorService.ProccesOrderAuthenticatedAsync(cart, shippingDetails, userId); }
// GET: ShippingDetails public ActionResult Index() { var personDetails = new ShippingDetailsDTO(); return(View(personDetails)); }