public ActionResult Edit(int id, ContactInfoView model) { //0.0 检查model实体的属性的合法性 if (ModelState.IsValid == false) { //验证失败,则应该跳转回edit.cshtml视图,同时增加一个错误提醒 SetGlist(); //向视图增加一个错误提醒,配合视图中的@Html.ValidateionSummary(true) 来使用 ModelState.AddModelError("", "实体验证失败,请检查"); return(View()); } try { //1.0 通过EF的推荐方式 ,先查在修改 phonebookEntities db = new phonebookEntities(); //var entity = db.ContactInfo.FirstOrDefault(c => c.ID == id); //entity.CommonMobile = model.CommonMobile; //entity.ContactName = model.ContactName; //entity.GroupId = model.GroupId; //db.SaveChanges(); //2.0 通过自定义实体的方式 ,先追加再修改状态 //补全id属性的值 model.ID = id; //update ContactInfo set CommonMobile=,ContactName=,GroupId where iD=1 //将model追加到EF容器中 ContactInfo entity = new ContactInfo() { ID = model.ID, GroupId = model.GroupId, ContactName = model.ContactName, CommonMobile = model.CommonMobile }; //将entity追加到EF容器中 System.Data.Entity.Infrastructure.DbEntityEntry enty = db.Entry(entity); //修改其状态 enty.State = System.Data.EntityState.Unchanged; //将要修改的属性的IsModified设置成true enty.Property("CommonMobile").IsModified = true; enty.Property("ContactName").IsModified = true; enty.Property("GroupId").IsModified = true; //关闭EF的实体检查 db.Configuration.ValidateOnSaveEnabled = false; //统一将sql语句发送给db执行 db.SaveChanges(); //直接跳转到 cinfo/index 页面 return(RedirectToAction("Index")); } catch (Exception ex) { SetGlist(); ModelState.AddModelError("", ex.Message); return(View()); } }
public void CreateContactInfo(ContactInfoView view) { //TODO Get related Mail Address From Configuration var mailAddress = Settings.GetSetting <string>("EmailContactRegardsTo"); var subject = string.Format("Contact Info - {0},{1}", view.LastName.ToUpperInvariant(), view.FirstName); var body = new StringBuilder() .AppendLine(string.Format("School : {0}", view.School.Value)) .AppendLine(string.Format("Email : <{0},{1}>{2}", view.LastName.ToUpperInvariant(), view.FirstName, view.Email)) .AppendLine(string.Format("Regards To: {0}", view.ContactRegard.Value)) .AppendLine(string.Format("Message: {0}", view.Message)); MailService.SendMail(mailAddress, subject, body.ToString()); }
public ActionResult ContactInfo() { if (!CurrentUser.IsAuthenticated) { return(RedirectToAction("Login")); } var contactRegards = LookupService.ContactRegards().List.ToList(); contactRegards.Insert(0, new KeyValuePair <long, string>(0, "What is this in regard to?")); ViewBag.ContactRegards = contactRegards; var view = new ContactInfoView { Email = CurrentUser.Name, FirstName = CurrentUser.Data["FirstName"].ToString(), LastName = CurrentUser.Data["LastName"].ToString() }; return(View(view)); }
public ActionResult Add(ContactInfoView model) { System.Threading.Thread.Sleep(2000); //实际项目中不能这么做 //1.0 验证实体属性的值的合法性 if (ModelState.IsValid == false) { //PhoneBookEntities db = new PhoneBookEntities(); //var glist = db.GroupInfo.ToList(); //SelectList slist = new SelectList(glist, "GroupId", "GroupName"); //ViewBag.glist = slist; //return View(); return(Json(new { status = 1, msg = "实体属性值的合法性验证失败" })); } //2.0 try { ContactInfo entity = new ContactInfo() { Account = "1", ContactId = "1", CommonMobile = model.CommonMobile, ContactName = model.ContactName, GroupId = model.GroupId, IsDelete = 0 }; phonebookEntities db = new phonebookEntities(); db.ContactInfoes.Add(entity); //1、将entity追加到EF容器中, 2、修改状态类的状态为added db.SaveChanges(); return(Json(new { status = 0, msg = "新增成功" })); } catch (Exception ex) { return(Json(new { status = 1, msg = ex.Message })); } }
public ActionResult ContactInfo(ContactInfoView request) { if (!CurrentUser.IsAuthenticated) { return(RedirectToAction("Login")); } request.ContactRegard = new KeyValuePair <long, string>(Convert.ToInt64(Request["ContactRegard.Key"]), ""); /* * var school = CurrentUser.Schools() * .FirstOrDefault(d => d.Value == CurrentUser.CurrentSchoolId().ToString(CultureInfo.InvariantCulture)); * * request.School = new KeyValuePair<long, string>(CurrentUser.CurrentSchoolId(), school != null ? school.Text : ""); */ request.School = new KeyValuePair <long, string>(CurrentUser.CurrentSchoolId(), CurrentUser.Data["SchoolName"].ToString()); request.UserId = Convert.ToInt32(CurrentUser.Data["UserId"]); request.Email = CurrentUser.Name; request.FirstName = CurrentUser.Data["FirstName"].ToString(); request.LastName = CurrentUser.Data["LastName"].ToString(); var response = SchoolService.CreateContactInfo(new CreateContactInfoRequest { ContactInfo = request }); if (response.Result == Result.Success) { InfoMessage = "Message sent!"; return(RedirectToAction("ContactInfo")); } var contactRegards = LookupService.ContactRegards().List.ToList(); contactRegards.Insert(0, new KeyValuePair <long, string>(0, "Select Regards To")); ViewBag.ContactRegards = contactRegards; ErrorMessage = response.Message; return(View(request)); }
/// <summary> /// 展开子节点 /// </summary> /// <param name="stackPanel">父面板</param> /// <param name="parentDepartId">父部门ID</param> /// <param name="level">在第几层</param> private void RecursionLoadSource(StackPanel stackPanel, string parentDepartId, int level) { if (AntSdkService.AntSdkListContactsEntity == null) { return; } AsyncHandler.AsyncCall(Application.Current.Dispatcher, () => { if (AntSdkService.AntSdkListContactsEntity.departs != null) { List <AntSdkContact_Depart> departList = AntSdkService.AntSdkListContactsEntity.departs.Where(c => c.parentDepartId == parentDepartId) .ToList(); if (AntSdkService.AntSdkListContactsEntity.users != null) { if (stackPanel == null) { stackPanel = new StackPanel(); } List <AntSdkContact_User> userList = AntSdkService.AntSdkListContactsEntity.users.Where(c => c.departmentId == parentDepartId && c.status == 2) .OrderBy(c => c.userId) .ToList(); if (userList.Count > 0) { stackPanel?.Children.Clear(); foreach (AntSdkContact_User user in userList) { ContactInfoView contactInfo = new ContactInfoView(user, this.Container); ContactInfoViewModel contactInfoViewModel = contactInfo.DataContext as ContactInfoViewModel; var tempContactInfo = ContactInfoViewModelList.FirstOrDefault(m => m.User.userId == user.userId); //if (tempContactInfo?.User != null && tempContactInfo.User.departmentId == user.departmentId) continue; if (tempContactInfo?.User != null && tempContactInfo.User.departmentId != user.departmentId) { tempContactInfo.User = user; } stackPanel.Children.Add(contactInfo); if (Container == GlobalVariable.ContactInfoViewContainer.ContactListView) { contactInfo.MouseDown += ModifyColorOnMouseClick; } else if (Container == GlobalVariable.ContactInfoViewContainer.GroupEditWindowViewLeft) { GroupEditWindowViewModel groupEditVM = Owner as GroupEditWindowViewModel; if (groupEditVM?.GroupMemberList != null && groupEditVM.GroupMemberList.Select(c => c.User.userId).Contains(user.userId)) { if (groupEditVM.OriginalMemberIds != null && groupEditVM.OriginalMemberIds.Contains(user.userId)) { contactInfoViewModel?.SetExistGroupMember(); } else { contactInfoViewModel?.OnStateImageClickEventEvent(contactInfoViewModel, true); } } } else if (Container == GlobalVariable.ContactInfoViewContainer.MultiContactsSelectLeft) { MultiContactsSelectViewModel vm = Owner as MultiContactsSelectViewModel; if (vm != null && vm.GroupMemberList != null && vm.GroupMemberList.Select(c => c.User.userId).Contains(user.userId)) { //if (vm.OriginalMemberIds != null && vm.OriginalMemberIds.Contains(user.userId)) //{ // contactInfoViewModel.SetExistGroupMember(); //} //else //{ contactInfoViewModel?.OnStateImageClickEventEvent(contactInfoViewModel, true); //} } } if (contactInfoViewModel != null) { contactInfoViewModel.PlaceholderWidth = 30; ContactInfoViewModelList.Add(contactInfoViewModel); } } } else if (stackPanel?.Children.Count > 0) { stackPanel?.Children.Clear(); } } if (departList.Count <= 0) { return; } foreach (AntSdkContact_Depart depart in departList) { AdddepartData(depart, stackPanel, level); } } }); }