Esempio n. 1
0
        /// <summary>
        /// save a item.update if exists
        /// </summary>
        /// <param name="obj"></param>
        /// <returns></returns>
        public static dynamic Save(VMGroupEdit obj)
        {
            var msg = new Msg();
            var dbm = default(Group);

            obj.Slug = string.IsNullOrEmpty(obj.Slug) ? obj.Name.CHSToPinyin("-").ToLower() : obj.Slug.ToLower();

            //validate name existence
            if (!ValidateName(obj.Name, obj.Id.ToString()))
            {
                msg.Error = true;
                msg.Body  = string.Format("Name [{0}] exists,please choose another one!", obj.Name);
                return(msg);
            }
            ;

            using (var db = new GarfielderEntities())
            {
                if (obj.IsNew)//add new
                {
                    obj.Id        = Guid.NewGuid();
                    dbm           = new Group();
                    dbm.Id        = obj.Id;
                    dbm.CreatedAt = DateTime.Now;
                    //TODO
                    dbm.CreatedBy = "Sys";
                    db.AddToGroups(dbm);
                }
                else
                { //update
                    dbm = db.Groups.SingleOrDefault(x => x.Id.Equals(obj.Id));
                    if (dbm == null)
                    { //has been deleted!
                        msg.Error = true;
                        msg.Body  = string.Format("Obj {0} has been deleted!", obj.Id);
                        return(msg);
                    }
                }//if

                dbm.Name        = obj.Name;
                dbm.Slug        = Group.CheckSlug(db, obj.Slug);
                dbm.Description = obj.Description;

                dbm.ParentID = obj.ParentID.Equals(Guid.Empty) ? default(Guid?) : obj.ParentID;
                dbm.Level    = obj.Level;


                db.CommandTimeout = 0;
                db.SaveChanges();

                //clear cache
                ClearCache();

                if (dbm.Parent != null)
                {
                    obj.ParentName = dbm.Parent.Name;
                }
            };//using
            return(obj);
        }
Esempio n. 2
0
        public JsonResult EditGroup(VMGroupEdit obj)
        {
            var msg = new Msg();

            if (!TryUpdateModel(obj) || !ModelState.IsValid)
            {
                msg.Error = true;
                msg.Body  = String.Format("Fields [{0}] are invalid!", string.Join(",", ModelState.Keys));
                return(Json(msg));
            }
            var obj1 = Group.Save(obj);

            return(Json(obj1));
        }