/// <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); }
/// <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); }
/// <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); }