/// <summary> /// GET: /mypage/setting/ /// </summary> /// <returns></returns> public ActionResult Index() { //Todo:認証処理 AOPでやりたい。 一旦Session変数を参照し判定(フォーム認証部分も本来なら見るべき。) if (Session["CurrentUser"] == null) { return RedirectToActionPermanent("Login", "Member", new { area = "" }); } var viewModel = new MyPageSettingViewModel(); Int64 memberId = GetMemberID(); viewModel.MemberSettingInfo = GetMemberSettingInfo(memberId); viewModel.PrefecturesInfo = GetPrefecturesInfo(); viewModel.SportsInfo = GetSportsInfo(); viewModel.SendMailInfo = GetSendMailInfo(memberId); return View(viewModel); }
public JsonResult SaveMailSetting(MyPageSettingViewModel.SendMailConditionInfoModel ViewModel) { Int64 memberID = GetMemberID(); bool isResult = false; using (var dbContextTransaction = com.Database.BeginTransaction()) { try { if (memberID != null) { var del_mailstart = (from md in com.MailDeliverCond where md.MemberID == memberID && md.MailDelivCondID == 1 select md).FirstOrDefault(); if (del_mailstart != null) { com.MailDeliverCond.Remove(del_mailstart); } var del_mailend = (from md in com.MailDeliverCond where md.MemberID == memberID && md.MailDelivCondID == 2 select md).FirstOrDefault(); if (del_mailend != null) { com.MailDeliverCond.Remove(del_mailend); } if (ViewModel.MailSendAtStart != 0) { var newMailStart = new MailDeliverCond { MemberID = memberID, MailDelivCondID = ViewModel.MailSendAtStart, CreatedAccountID = memberID.ToString(), CreatedDate = DateTime.Now }; com.MailDeliverCond.Add(newMailStart); } if (ViewModel.MailSendAtEnd != 0) { var newMailEnd = new MailDeliverCond { MemberID = memberID, MailDelivCondID = ViewModel.MailSendAtEnd, CreatedAccountID = memberID.ToString(), CreatedDate = DateTime.Now }; com.MailDeliverCond.Add(newMailEnd); } com.SaveChanges(); dbContextTransaction.Commit(); isResult = true; } else { //Rollback transaction. dbContextTransaction.Rollback(); } } catch (Exception) { dbContextTransaction.Rollback(); } } return Json(isResult, JsonRequestBehavior.AllowGet); }
public JsonResult SaveSetting(MyPageSettingViewModel.MemberSettingInfoModel ViewModel) { Int64 memberID = GetMemberID(); bool isResult = false; using (var dbContextTransaction = com.Database.BeginTransaction()) { try { if (memberID != null) { var update_member = (from m in com.Member where m.MemberId == memberID select m).FirstOrDefault(); update_member.MemberId = memberID; update_member.Nickname = ViewModel.Nickname; update_member.ProfileImg = ViewModel.ProfileImg; update_member.Gender = ViewModel.Gender; update_member.BirthdayYear = ViewModel.BirthdayYear; update_member.BirthdayMonth = ViewModel.BirthdayMonth; update_member.BirthdayDay = ViewModel.BirthdayDay; update_member.Birthday = DateTime.Parse(ViewModel.BirthdayYear + "/" + ViewModel.BirthdayMonth + "/" + ViewModel.BirthdayDay); update_member.PrefecturesId = ViewModel.PrefecturesID; //com.SaveChanges(); var delQuery = from ls in com.LikeSports where ls.MemberID == memberID select ls; foreach (var ls in delQuery) { com.LikeSports.Remove(ls); } com.SaveChanges(); if (ViewModel.LikeSportsID != null) { for (var i = 0; i < ViewModel.LikeSportsID.Count; i++) { var newLikeSport = new LikeSports { MemberID = memberID, SportsID = ViewModel.LikeSportsID[i], CreatedAccountID = memberID.ToString(), CreatedDate = DateTime.Now }; com.LikeSports.Add(newLikeSport); } com.SaveChanges(); } var delTerm = from ls in com.LikeTeam where ls.MemberID == memberID select ls; foreach (var t in delTerm) { com.LikeTeam.Remove(t); } com.SaveChanges(); if (ViewModel.LikeTeam != null) { for (var i = 0; i < ViewModel.LikeTeam.Count; i++) { var newLikeTeam = new LikeTeam { MemberID = memberID, SportsID = ViewModel.LikeTeam[i].SportsID, TeamID = ViewModel.LikeTeam[i].TeamID, CreatedAccountID = memberID.ToString(), CreatedDate = DateTime.Now }; com.LikeTeam.Add(newLikeTeam); } } com.SaveChanges(); dbContextTransaction.Commit(); isResult = true; } else { //Rollback transaction. dbContextTransaction.Rollback(); } } catch (Exception ex) { dbContextTransaction.Rollback(); } } return Json(isResult, JsonRequestBehavior.AllowGet); }