public ActionResult Index(AddressDetailsViewModel addressDetails)
        {
            var billingDetails = addressDetails.BillingAddress;

            if (!string.IsNullOrEmpty(billingDetails.FirstName) || !string.IsNullOrEmpty(billingDetails.LastName) ||
                !string.IsNullOrEmpty(billingDetails.EmailAddress) || !string.IsNullOrEmpty(billingDetails.MobilePhoneNumber) || !string.IsNullOrEmpty(billingDetails.Line1))
            {
                if (addressDetails.IsShippingAddressDifferent)
                {
                    EditBillingInformation(billingDetails);
                    EditShippingInformation(addressDetails.ShippingAddress);
                }

                else
                {
                    EditBillingInformation(billingDetails);
                    EditShippingInformation(billingDetails);
                }

                TransactionLibrary.ExecuteBasketPipeline();

                var root     = UmbracoContext.PublishedContentRequest.PublishedContent.AncestorsOrSelf("homePage").FirstOrDefault();
                var shipping = root.Descendants("shipping").FirstOrDefault();
                return(Redirect(shipping.Url));
            }

            return(base.View("/Views/BillingShippingAddress.cshtml", addressDetails));
        }
示例#2
0
        public List <AddressDetailsViewModel> GetOrders(long id)
        {
            List <CMS_OrderInfo>           Orders = _cMSEntities.CMS_OrderInfo.Where(x => x.DealerId == id).ToList();
            List <AddressDetailsViewModel> addressDetailsViewModels = new List <AddressDetailsViewModel>();
            AddressDetailsViewModel        addressDetailsViewModel  = new AddressDetailsViewModel();

            foreach (CMS_OrderInfo cMS_OrderInfo in Orders)
            {
                addressDetailsViewModel.OrderId         = cMS_OrderInfo.OrderId;
                addressDetailsViewModel.CreatedDate     = cMS_OrderInfo.CreatedDate;
                addressDetailsViewModel.FromName        = cMS_OrderInfo.FromName;
                addressDetailsViewModel.FromAddressLine = cMS_OrderInfo.FromAddressLine;
                addressDetailsViewModel.FromAreaName    = cMS_OrderInfo.FromAreaName;
                addressDetailsViewModel.FromCityName    = cMS_OrderInfo.FromCityName;
                addressDetailsViewModel.FromPinCode     = cMS_OrderInfo.FromPinCode;
                addressDetailsViewModel.FromMobileNo    = cMS_OrderInfo.FromMobileNo;
                addressDetailsViewModel.FromEmail       = cMS_OrderInfo.FromEmail;
                addressDetailsViewModel.ToName          = cMS_OrderInfo.ToName;
                addressDetailsViewModel.ToAddressLine   = cMS_OrderInfo.ToAddressLine;
                addressDetailsViewModel.ToAreaName      = cMS_OrderInfo.ToAreaName;
                addressDetailsViewModel.ToCityName      = cMS_OrderInfo.ToCityName;
                addressDetailsViewModel.ToPinCode       = cMS_OrderInfo.ToPinCode;
                addressDetailsViewModel.ToMobileNo      = cMS_OrderInfo.ToMobileNo;
                addressDetailsViewModel.ToEmail         = cMS_OrderInfo.ToEmail;
                addressDetailsViewModel.PackageWeight   = cMS_OrderInfo.PackageWeight;
                addressDetailsViewModel.DealerProductId = cMS_OrderInfo.DealerProductId;
                addressDetailsViewModel.DealerServiceId = cMS_OrderInfo.DealerServiceId;
                addressDetailsViewModel.Price           = cMS_OrderInfo.Price;

                addressDetailsViewModels.Add(addressDetailsViewModel);
            }
            return(addressDetailsViewModels);
        }
示例#3
0
        public ActionResult AddressDetails(AddressDetailsViewModel data, string prevBtn, string nextBtn)
        {
            if (prevBtn != null)
            {
                return(RedirectToAction("BasicDetails"));
            }

            if (nextBtn != null)
            {
                if (ModelState.IsValid)
                {
                    var customer = GetCustomer();

                    customer.Address  = data.Address;
                    customer.City     = data.City;
                    customer.Country  = data.Country;
                    customer.PostCode = data.PostCode;

                    SaveCustomer(customer);

                    return(RedirectToAction("ContactDetails"));
                }
            }

            return(View());
        }
示例#4
0
        public IHttpActionResult InsertAddressDetails(AddressDetailsViewModel OrderInfo)
        {
            bool status = _userManager.InsertAddressDetails(OrderInfo);

            if (status == false)
            {
                return(NotFound());
            }
            return(Ok());
        }
示例#5
0
 public ActionResult AddressDetails(AddressDetailsViewModel OrderInfo)
 {
     OrderInfo.CreatedDate     = DateTime.Now;
     OrderInfo.UserId          = Convert.ToInt64(Session["UID"]);
     OrderInfo.DealerId        = Convert.ToInt64(Session["dealerid"]);
     OrderInfo.DealerProductId = Convert.ToInt64(TempData["CategoryId"]);
     OrderInfo.DealerServiceId = Convert.ToInt64(TempData["ServiceId"]);
     OrderInfo.PackageWeight   = Convert.ToDecimal(TempData["Weight"]);
     OrderInfo.Price           = Convert.ToDecimal(TempData["Price"]);
     TempData["Order"]         = OrderInfo;
     return(RedirectToAction("ShippingDetails", "User"));
 }
示例#6
0
        public ActionResult ShippingDetails(string confirm)
        {
            AddressDetailsViewModel OrderInfo = (AddressDetailsViewModel)TempData["Order"];
            var stringContent = new StringContent(JsonConvert.SerializeObject(OrderInfo), Encoding.UTF8, "application/json");
            var addressUri    = new Uri("api/User/InsertAddressDetails", UriKind.Relative);
            var Res           = GlobalVariables.client.PostAsync(addressUri, stringContent).Result;

            if (Res.IsSuccessStatusCode)
            {
                return(RedirectToAction("ShippingDetails", "User"));
            }
            return(View());
        }
示例#7
0
        public bool InsertAddressDetails(AddressDetailsViewModel OrderInfo)
        {
            var config = new MapperConfiguration(cfg => {
                cfg.CreateMap <AddressDetailsViewModel, CMS_OrderInfo>();
            });

            IMapper mapper = config.CreateMapper();
            var     source = OrderInfo;
            var     dest   = mapper.Map <AddressDetailsViewModel, CMS_OrderInfo>(source);

            bool status = _userRepository.InsertAddressDetails(dest);

            return(status);
        }
示例#8
0
        public ActionResult AddressDetails()
        {
            var customer = GetCustomer();

            var viewModel = new AddressDetailsViewModel
            {
                Address  = customer.Address,
                City     = customer.City,
                Country  = customer.Country,
                PostCode = customer.PostCode
            };

            return(View(viewModel));
        }
        public ActionResult Index()
        {
            var addressDetails = new AddressDetailsViewModel();

            var shippingInformation = TransactionLibrary.GetShippingInformation();
            var billingInformation  = TransactionLibrary.GetBillingInformation();

            addressDetails.BillingAddress.FirstName         = billingInformation.FirstName;
            addressDetails.BillingAddress.LastName          = billingInformation.LastName;
            addressDetails.BillingAddress.EmailAddress      = billingInformation.EmailAddress;
            addressDetails.BillingAddress.PhoneNumber       = billingInformation.PhoneNumber;
            addressDetails.BillingAddress.MobilePhoneNumber = billingInformation.MobilePhoneNumber;
            addressDetails.BillingAddress.Line1             = billingInformation.Line1;
            addressDetails.BillingAddress.Line2             = billingInformation.Line2;
            addressDetails.BillingAddress.PostalCode        = billingInformation.PostalCode;
            addressDetails.BillingAddress.City        = billingInformation.City;
            addressDetails.BillingAddress.State       = billingInformation.State;
            addressDetails.BillingAddress.Attention   = billingInformation.Attention;
            addressDetails.BillingAddress.CompanyName = billingInformation.CompanyName;
            addressDetails.BillingAddress.CountryId   = billingInformation.Country != null ? billingInformation.Country.CountryId : -1;

            addressDetails.ShippingAddress.FirstName         = shippingInformation.FirstName;
            addressDetails.ShippingAddress.LastName          = shippingInformation.LastName;
            addressDetails.ShippingAddress.EmailAddress      = shippingInformation.EmailAddress;
            addressDetails.ShippingAddress.PhoneNumber       = shippingInformation.PhoneNumber;
            addressDetails.ShippingAddress.MobilePhoneNumber = shippingInformation.MobilePhoneNumber;
            addressDetails.ShippingAddress.Line1             = shippingInformation.Line1;
            addressDetails.ShippingAddress.Line2             = shippingInformation.Line2;
            addressDetails.ShippingAddress.PostalCode        = shippingInformation.PostalCode;
            addressDetails.ShippingAddress.City        = shippingInformation.City;
            addressDetails.ShippingAddress.State       = shippingInformation.State;
            addressDetails.ShippingAddress.Attention   = shippingInformation.Attention;
            addressDetails.ShippingAddress.CompanyName = shippingInformation.CompanyName;
            addressDetails.ShippingAddress.CountryId   = shippingInformation.Country != null ? shippingInformation.Country.CountryId : -1;

            addressDetails.AvailableCountries = Country.All().ToList().Select(x => new SelectListItem()
            {
                Text = x.Name, Value = x.CountryId.ToString()
            }).ToList();

            addressDetails.UseAlternativeAddress =
                !string.IsNullOrWhiteSpace(addressDetails.BillingAddress.Line1) &&
                (addressDetails.BillingAddress.Line1 != addressDetails.ShippingAddress.Line1);

            return(View(addressDetails));
        }
        public override ActionResult Index(ContentModel model)
        {
            var addressDetails = new AddressDetailsViewModel();

            var shippingInformation = TransactionLibrary.GetShippingInformation();
            var billingInformation  = TransactionLibrary.GetBillingInformation();

            addressDetails.BillingAddress.FirstName         = billingInformation.FirstName;
            addressDetails.BillingAddress.LastName          = billingInformation.LastName;
            addressDetails.BillingAddress.EmailAddress      = billingInformation.EmailAddress;
            addressDetails.BillingAddress.PhoneNumber       = billingInformation.PhoneNumber;
            addressDetails.BillingAddress.MobilePhoneNumber = billingInformation.MobilePhoneNumber;
            addressDetails.BillingAddress.Line1             = billingInformation.Line1;
            addressDetails.BillingAddress.Line2             = billingInformation.Line2;
            addressDetails.BillingAddress.PostalCode        = billingInformation.PostalCode;
            addressDetails.BillingAddress.City        = billingInformation.City;
            addressDetails.BillingAddress.State       = billingInformation.State;
            addressDetails.BillingAddress.Attention   = billingInformation.Attention;
            addressDetails.BillingAddress.CompanyName = billingInformation.CompanyName;
            addressDetails.BillingAddress.CountryId   =
                billingInformation.Country != null ? billingInformation.Country.CountryId : -1;

            addressDetails.ShippingAddress.FirstName         = shippingInformation.FirstName;
            addressDetails.ShippingAddress.LastName          = shippingInformation.LastName;
            addressDetails.ShippingAddress.EmailAddress      = shippingInformation.EmailAddress;
            addressDetails.ShippingAddress.PhoneNumber       = shippingInformation.PhoneNumber;
            addressDetails.ShippingAddress.MobilePhoneNumber = shippingInformation.MobilePhoneNumber;
            addressDetails.ShippingAddress.Line1             = shippingInformation.Line1;
            addressDetails.ShippingAddress.Line2             = shippingInformation.Line2;
            addressDetails.ShippingAddress.PostalCode        = shippingInformation.PostalCode;
            addressDetails.ShippingAddress.City        = shippingInformation.City;
            addressDetails.ShippingAddress.State       = shippingInformation.State;
            addressDetails.ShippingAddress.Attention   = shippingInformation.Attention;
            addressDetails.ShippingAddress.CompanyName = shippingInformation.CompanyName;
            addressDetails.ShippingAddress.CountryId   =
                shippingInformation.Country != null ? shippingInformation.Country.CountryId : -1;

            addressDetails.AvailableCountries = Country.All().ToList()
                                                .Select(x => new SelectListItem()
            {
                Text = x.Name, Value = x.CountryId.ToString()
            }).ToList();

            return(View("/Views/BillingShippingAddress.cshtml", addressDetails));
        }
示例#11
0
        public async Task <ActionResult> Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            Address address = await context.Addresses.FindAsync(id);

            if (address == null)
            {
                return(HttpNotFound());
            }

            AddressDetailsViewModel model = new AddressDetailsViewModel(address);

            return(View(model));
        }
        public ActionResult Index(AddressDetailsViewModel addressDetails)
        {
            TransactionLibrary.EditBillingInformation(
                addressDetails.BillingAddress.FirstName,
                addressDetails.BillingAddress.LastName,
                addressDetails.BillingAddress.EmailAddress,
                addressDetails.BillingAddress.PhoneNumber,
                addressDetails.BillingAddress.MobilePhoneNumber,
                addressDetails.BillingAddress.CompanyName,
                addressDetails.BillingAddress.Line1,
                addressDetails.BillingAddress.Line2,
                addressDetails.BillingAddress.PostalCode,
                addressDetails.BillingAddress.City,
                addressDetails.BillingAddress.State,
                addressDetails.BillingAddress.Attention,
                addressDetails.BillingAddress.CountryId);


            var shippingAddress = addressDetails.BillingAddress;

            if (addressDetails.UseAlternativeAddress)
            {
                shippingAddress = addressDetails.ShippingAddress;
            }

            TransactionLibrary.EditShippingInformation(
                shippingAddress.LastName,
                shippingAddress.EmailAddress,
                shippingAddress.PhoneNumber,
                shippingAddress.FirstName,
                shippingAddress.MobilePhoneNumber,
                shippingAddress.CompanyName,
                shippingAddress.Line1,
                shippingAddress.Line2,
                shippingAddress.PostalCode,
                shippingAddress.City,
                shippingAddress.State,
                shippingAddress.Attention,
                shippingAddress.CountryId);

            TransactionLibrary.ExecuteBasketPipeline();

            return(Redirect("/shipping"));
        }
        public ActionResult Index(AddressDetailsViewModel addressDetails)
        {
            if (addressDetails.IsShippingAddressDifferent)
            {
                EditBillingInformation(addressDetails.BillingAddress);
                EditShippingInformation(addressDetails.ShippingAddress);
            }

            else
            {
                EditBillingInformation(addressDetails.BillingAddress);
                EditShippingInformation(addressDetails.BillingAddress);
            }

            TransactionLibrary.ExecuteBasketPipeline();

            var parent   = PublishedRequest.PublishedContent.AncestorOrSelf("basket");
            var shipping = parent.Children(x => x.Name == "Shipping").FirstOrDefault();

            return(Redirect(shipping.Url));
        }
示例#14
0
        public ActionResult Index(AddressDetailsViewModel addressDetails)
        {
            if (addressDetails.IsShippingAddressDifferent)
            {
                EditBillingInformation(addressDetails.BillingAddress);
                EditShippingInformation(addressDetails.ShippingAddress);
            }

            else
            {
                EditBillingInformation(addressDetails.BillingAddress);
                EditShippingInformation(addressDetails.BillingAddress);
            }

            TransactionLibrary.ExecuteBasketPipeline();

            var root     = UmbracoContext.PublishedContentRequest.PublishedContent.AncestorsOrSelf("home").FirstOrDefault();
            var shipping = root.Descendants("shipping").FirstOrDefault();

            return(Redirect(shipping.Url));
        }
示例#15
0
        public ActionResult Index(AddressDetailsViewModel addressDetails)
        {
            TransactionLibrary.EditBillingInformation(
                addressDetails.BillingAddress.FirstName,
                addressDetails.BillingAddress.LastName,
                addressDetails.BillingAddress.EmailAddress,
                addressDetails.BillingAddress.PhoneNumber,
                addressDetails.BillingAddress.MobilePhoneNumber,
                addressDetails.BillingAddress.CompanyName,
                addressDetails.BillingAddress.Line1,
                addressDetails.BillingAddress.Line2,
                addressDetails.BillingAddress.PostalCode,
                addressDetails.BillingAddress.City,
                addressDetails.BillingAddress.State,
                addressDetails.BillingAddress.Attention,
                addressDetails.BillingAddress.CountryId);

            // TODO: implement
            //TransactionLibrary.EditShippingInformation(
            //	addressDetails.ShippingAddress.FirstName,
            //	addressDetails.ShippingAddress.LastName,
            //	addressDetails.ShippingAddress.EmailAddress,
            //	addressDetails.ShippingAddress.PhoneNumber,
            //	addressDetails.ShippingAddress.MobilePhoneNumber,
            //	addressDetails.ShippingAddress.CompanyName,
            //	addressDetails.ShippingAddress.Line1,
            //	addressDetails.ShippingAddress.Line2,
            //	addressDetails.ShippingAddress.PostalCode,
            //	addressDetails.ShippingAddress.City,
            //	addressDetails.ShippingAddress.State,
            //	addressDetails.ShippingAddress.Attention,
            //	addressDetails.ShippingAddress.CountryId);

            TransactionLibrary.ExecuteBasketPipeline();

            return(Redirect("/shipping"));
        }
示例#16
0
        public override async Task <IHttpActionResult> Post(RegistrationViewModel regModel)
        {
            var addressUnits = new List <AddressUnitViewModel>();
            var details      = new AddressDetailsViewModel();

            regModel.Customer.Address = new AddressViewModel
            {
                ApiResult = regModel.Customer.AddressJson,
                UnitsAddressUnitViewModels = addressUnits,
                Details = details
            };

            if ((int)regModel.Customer.SearchType > 3 && !regModel.Customer.BirthDate.HasValue)
            {
                return(BadRequest("bithtdate_required"));
            }

            if (!ValidateAddress(regModel.Customer.AddressJson))
            {
                return(BadRequest("address_not_valid"));
            }

            // fill address
            var address = JObject.Parse(regModel.Customer.AddressJson);

            foreach (var component in address["address_components"])
            {
                var name      = component["long_name"].Value <string>();
                var shortname = component["short_name"].Value <string>();
                var type      = component["types"].First.Value <string>();
                var unitType  = AddressUnitParser.Get(type);

                if (unitType == AddressUnitType.Country)
                {
                    regModel.Customer.Address.Country = await _countryQuery.Execute(shortname);
                }

                var addressUnit = await _addressUnitByShortNameQuery.Execute(shortname, unitType);

                if (addressUnit != null)
                {
                    addressUnits.Add(_mapper.Map <AddressUnitViewModel>(addressUnit));
                }
                else
                {
                    addressUnits.Add(new AddressUnitViewModel
                    {
                        Name      = name,
                        ShortName = shortname,
                        Type      = unitType
                    });
                }
            }

            // fill details
            var location = address["geometry"]["location"];

            details.Lat        = location["lat"].Value <double>();
            details.Lng        = location["lng"].Value <double>();
            details.Components = address["address_components"].ToString();
            details.DetailsId  = address["id"].Value <string>();
            details.PlaceId    = address["place_id"].Value <string>();
            details.Reference  = address["reference"].Value <string>();
            details.Scope      = address["scope"].Value <string>();
            details.Types      = string.Join(";", address["types"].Values <string>());
            details.Url        = address["url"].Value <string>();
            details.UtcOffset  = address["utc_offset"].Value <string>();

            return(await base.Post(regModel));
        }