Example #1
0
        /// <summary>
        /// Update item
        /// </summary>
        /// <param name="o"></param>
        /// <param name="properties"></param>
        /// <returns></returns>
        public bool UpdateItem(SiteFunction o, params System.Linq.Expressions.Expression <Func <SiteFunction, object> >[] properties)
        {
            var item = db.SiteFunctions.Where(i => i.SiteFunctionID == o.SiteFunctionID).SingleOrDefault();

            if (item != null)
            {
                foreach (var propertie in properties)
                {
                    var lambda = (LambdaExpression)propertie;
                    MemberExpression memberExpression;
                    if (lambda.Body is UnaryExpression)
                    {
                        memberExpression = (MemberExpression)((UnaryExpression)lambda.Body).Operand;
                    }
                    else
                    {
                        memberExpression = (MemberExpression)lambda.Body;
                    }

                    string propertyName = memberExpression.Member.Name;
                    item.GetType().GetProperty(propertyName).SetValue(item, o.GetType().GetProperty(propertyName).GetValue(o));
                }
                db.SaveChanges();
            }
            else
            {
                return(false);
            }
            return(true);
        }
Example #2
0
        /// <summary>
        /// Delete a item
        /// </summary>
        /// <param name="iItemID"></param>
        /// <returns></returns>
        public bool DeleteItem(int iItemID)
        {
            SiteFunction item = db.SiteFunctions.Where(i => i.SiteFunctionID == iItemID).SingleOrDefault();

            if (item != null)
            {
                if (item.SiteFunction_UserGroup.Count > 0) // Chekc for permission
                {
                    return(false);
                }

                int childCount = db.SiteFunctions.Where(i => i.ParentID == item.SiteFunctionID).Count(); // Count for child menus
                if (childCount > 0)
                {
                    return(false);
                }


                db.SiteFunctions.Remove(item);
                db.SaveChanges();
                return(true);
            }
            return(false);
        }
Example #3
0
 /// <summary>
 /// Insert an item to database
 /// </summary>
 /// <param name="o"></param>
 /// <returns></returns>
 public int InsertItem(SiteFunction o)
 {
     db.SiteFunctions.Add(o);
     db.SaveChanges();
     return(o.SiteFunctionID);
 }