private void btnAddContact_Click(object sender, EventArgs e) { //do validation here database.contacts.Add( new contact() { ContactID = database.contacts.Count(), name = txtName.Text.Trim(), email = txtEmail.Text.Trim(), phone = txtPhone.Text.Trim(), address = txtAddress.Text.Trim(), isFriend = isFriend.Checked, isFamily = isFamily.Checked, isCoWorker = isCoWorker.Checked, isBusiness = isBusiness.Checked } ); //Save changes if (database.SaveChanges() > 0) { Bunifu.Snackbar.Show(this.FindForm(), txtName.Text.Trim() + " Successfully Added.", 3000, Snackbar.Views.SnackbarDesigner.MessageTypes.Success); } else { Bunifu.Snackbar.Show(this.FindForm(), "Failed,Check database connection.", 3000, Snackbar.Views.SnackbarDesigner.MessageTypes.Error); } //thats it }
public ActionResult Edit(string id, ContactInfo model) { //合法性验证 if (id.IsInt() == false || id == null) { return(Content("<script>alert('数据不存在或编辑错误');window.location='/CInfo/Index'</script>")); } phonebookEntities db = new phonebookEntities(); int iid = id.AsInt(); //TODO:第一种编辑方式 //var entity = db.ContactInfo.FirstOrDefault(c => c.ID == iid); //entity.ContactName = model.ContactName; //entity.CommonMobile = model.CommonMobile; //entity.GroupId = model.GroupId; //db.SaveChanges(); //TODO: 第二种编辑方式 model.ID = id.AsInt(); DbEntityEntry entry = db.Entry(model); entry.State = System.Data.EntityState.Unchanged; entry.Property("ContactName").IsModified = true; entry.Property("CommonMobile").IsModified = true; entry.Property("GroupId").IsModified = true; db.Configuration.ValidateOnSaveEnabled = false; //关闭检查 db.SaveChanges(); return(Content("<script>alert('编辑成功');window.location='/CInfo/Index'</script>")); }
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 ActionResult Delete(int id) { //1.0 物理删除 phonebookEntities db = new phonebookEntities(); ContactInfo model = new ContactInfo() { ID = id }; db.ContactInfoes.Attach(model); db.ContactInfoes.Remove(model); db.SaveChanges(); //2.0 返回json格式字符串给ajax异步对象 return(Json(new { status = 0, msg = "删除成功" })); }
public ActionResult Add(ContactInfo model) { //1.0 补全model中没有赋值,但是数据库中不允许有null值的字段 model.ContactId = "1"; model.Account = "123"; //2.0 实例化EF上下文对象 phonebookEntities db = new phonebookEntities(); //2.0.1 将model追加到EF容器中,并且将状态修改成added db.ContactInfoes.Add(model); //2.0.2 统一保存 db.SaveChanges(); return(Content("<script>alert('新增成功');window.location='/CInfo/Index'</script>")); }
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 delete(string id) { //1.0 id的合法性验证 if (id.IsInt() == false || id == null) { return(Content("<script>alert('数据不存在或其他错误');window.location='/CInfo/Index'</script>")); } //2.0 将id对应的数据进行物理删除 ContactInfo model = new ContactInfo() { ID = id.AsInt() }; phonebookEntities db = new phonebookEntities(); db.ContactInfoes.Attach(model); db.ContactInfoes.Remove(model); db.SaveChanges(); return(Content("<script>alert('删除成功');window.location='/CInfo/Index'</script>")); }
private void btnDelete_Click(object sender, EventArgs e) { //Delete selected rows foreach (DataGridViewRow row in grid.SelectedRows) { var contact = (contact)row.Tag; database.contacts.Remove(contact); grid.Rows.Remove(row); } //save changes if (database.ChangeTracker.HasChanges()) { if (database.SaveChanges() > 0) { Bunifu.Snackbar.Show(this.FindForm(), "Success.", 3000, Snackbar.Views.SnackbarDesigner.MessageTypes.Success); } else { Bunifu.Snackbar.Show(this.FindForm(), "Failed.", 3000, Snackbar.Views.SnackbarDesigner.MessageTypes.Error); } } }