/// <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); }
/// <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; }