Пример #1
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public ActionResult Edit(int? id)
        {
            if (id == null)
            {
                return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
            }
            var member = UoW.MemberDetails.GetById(id);

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

            var list                    = GetDropDownItems();
            ViewBag.categories          = list[0];
            ViewBag.platforms           = list[1];
            ViewBag.homeCountry         = list[2];
            ViewBag.shippingCountry     = list[2];
            ViewBag.homeProvince        = list[3];
            ViewBag.shippingProvince    = list[3];
            ViewBag.homeState           = list[4];
            ViewBag.shippingState       = list[4];
            ViewBag.Year                = list[5];
            ViewBag.Month               = list[6];
            var viewModel               = new EditProfileViewModel();

            Mapper.CreateMap<MemberDetails, EditProfileViewModel>();
            viewModel = Mapper.Map<MemberDetails, EditProfileViewModel>(member);

            viewModel.AccountInfoViewModel.UserId = member.UserId;

            return View(viewModel);
        }
Пример #2
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="vm"></param>
        /// <param name="form"></param>
        /// <returns></returns>
        public ActionResult AdressInfo(EditProfileViewModel vm, FormCollection form)
        {
            // grab the form's dropdown lists selected value.
            var homeCountry = Int32.Parse(form["homeCountry"]);
            var homeProvince = Int32.Parse(form["homeProvince"]);
            var homeState = Int32.Parse(form["homeState"]);
            var shippingCountry = Int32.Parse(form["shippingCountry"]);
            var shippingProvince = Int32.Parse(form["shippingProvince"]);
            var shippingState = Int32.Parse(form["shippingState"]);

            // check which country is selected. If shipping and home addresses are the same Country,
            // some of the form collection attributes will bu null/zero.
            int homeCountryId = homeCountry;
            int homeProvinceOrState = homeCountryId == 1 ? homeProvince : homeState;
            int shippingProvinceOrState = shippingCountry == 1 ? shippingProvince : shippingState;

            var homeAddress = new Address()
            {
                Street1 = form["EditMembersAddressViewModel.HomeAddress.Street1"],
                Street2 = form["EditMembersAddressViewModel.HomeAddress.Street2"],
                City = form["EditMembersAddressViewModel.HomeAddress.City"],
                PostalZipCode = form["EditMembersAddressViewModel.HomeAddress.PostalZipCode"].Replace(",", ""),
                ProvinceStateId = homeProvinceOrState,
                CountryId = homeCountry
            };

            var shippingAddress = new Address()
                {
                    Street1 = form["EditMembersAddressViewModel.ShippingAddress.Street1"],
                    Street2 = form["EditMembersAddressViewModel.ShippingAddress.Street2"],
                    City = form["EditMembersAddressViewModel.ShippingAddress.City"],
                    PostalZipCode = form["EditMembersAddressViewModel.ShippingAddress.PostalZipCode"].Replace(",", ""),
                    ProvinceStateId = shippingProvinceOrState,
                    CountryId = shippingCountry
                };

            using (db)
            {
                try
                {
                    Member member = db.Members.FirstOrDefault(m => m.DisplayName == User.Identity.Name);
                    member.MemberDetails.HomeAddress = homeAddress;
                    member.MemberDetails.ShippingAddress = shippingAddress;
                    member.MemberDetails.HomeAddress.State = State.Added;
                    member.MemberDetails.ShippingAddress.State = State.Added;
                    member.MemberDetails.State = State.Modified;

                    db.MemberDetails.AddOrUpdate(member.MemberDetails);
                    db.SaveChanges();
                }

                catch (Exception e)
                {
                    TempData["message"] = "Error: " + e.InnerException;
                }
            }

            return null;
        }