示例#1
0
        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
        }
示例#2
0
        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>"));
        }
示例#3
0
        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());
            }
        }
示例#4
0
        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 = "删除成功" }));
        }
示例#5
0
        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>"));
        }
示例#6
0
        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 }));
            }
        }
示例#7
0
        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>"));
        }
示例#8
0
        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);
                }
            }
        }