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;
     }
 }
Ejemplo n.º 2
0
        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
            }));
        }
Ejemplo n.º 5
0
        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);
        }
Ejemplo n.º 6
0
        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);
        }
Ejemplo n.º 7
0
        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);
        }
Ejemplo n.º 8
0
 public void ProcessOrder(IEnumerable <CartLineDTO> cart, ShippingDetailsDTO shippingDetails)
 {
     orderProcessorService.ProcessOrderAsync(cart, shippingDetails);
 }
Ejemplo n.º 9
0
 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));
        }