object delete_category_user(string id) { var site = (Site)jc["site"]; using (ILinqContext <CategoryUsers> cx = CategoryUsers.CreateContext()) { var relation = (from q in cx where q.SiteId == site.Id && q.Id == id select q).FirstOrDefault(); if (relation == null) { return new { code = -1, msg = "指定的栏目与用户的关系不存在" } } ; //TODO 之前创建的文章的作者如何处理? cx.Remove(relation); cx.SubmitChanges(); } return(new { code = 1, msg = "删除成功" }); } #endregion }
object delete(string userId) { var site = (Site)jc["site"]; using (ILinqContext <SiteUsers> cx = SiteUsers.CreateContext()) { var relation = (from q in cx where q.SiteId == site.Id && q.UserId == userId select q).FirstOrDefault(); if (relation == null) { return new { code = -1, msg = "指定的用户在该站点下不存在" } } ; if (relation.UserId == jc.UserName) { return new { code = -2, msg = "不能删除自己的账号" } } ; //删除栏目与用户的关系 CategoryUsers.Where("SiteId = {0}", site.Id).Where("UserId = {0}", relation.UserId).Delete(); //删除站点用户关系 cx.Remove(relation); cx.SubmitChanges(); } return(new { code = 1, msg = "删除成功" }); }
object delete_completely(string[] ids) { var site = (Site)jc["site"]; using (ILinqContext <Posts> cx = Posts.CreateContext()) { var query = (from q in cx where q.SiteId == site.Id && q.IsDeleted == true select q); if (ids.Length > 0) { query = (from q in cx where new List <string>(ids).Contains(q.Id) && q.SiteId == site.Id && q.IsDeleted == true select q); } var posts = query.ToList(); if (posts.Count == 0) { return new { code = -2, msg = "指定的文章未查询到,文章可能已经彻底删除或者未放置回收站" } } ; foreach (var item in posts) { cx.Remove(item); } cx.SubmitChanges(true); } return(new { code = 1, msg = "成功将指定的文章删除" }); }
object delete(string id) { var site = (Site)jc["site"]; #region 校验用户对站点的权限 var relation = (from q in SiteUsers.CreateContext() where q.UserId == jc.UserName && q.SiteId == site.Id select q).FirstOrDefault(); //如果没有站点的管理权限 if (relation == null || relation.PermissionLevel != PermissionLevel.ADMIN) { return new { code = 403, msg = "没有权限访问" } } ; #endregion using (ILinqContext <Category> cx = Category.CreateContext()) { var category = (from q in cx where q.Id == id && q.SiteId == site.Id select q).FirstOrDefault(); if (category == null) { return new { code = -1, msg = "指定的栏目不存在,删除失败" } } ; if (Category.Where("ParentId = {0}", category.Id).Where("SiteId = {0}", site.Id).Count() > 0) { return new { code = -2, msg = "指定的栏目下存在子栏目,不能删除" } } ; cx.Remove(category); cx.SubmitChanges(); //更新父级是否有子集 Category.Where("Id = {0}", category.ParentId).Set("HasChildren", Category.Where("ParentId = {0}", category.ParentId).Count() > 0).Update(); } return(new { code = 1, msg = "删除成功" }); }
object delete(string id) { using (ILinqContext <Widget> cx = Widget.CreateContext()) { var widget = Widget.Get(cx, id); if (widget == null) { return new { code = -1, msg = "指定的挂件不存在,删除失败" } } ; cx.Remove(widget); cx.SubmitChanges(); } return(new { code = 1, msg = "删除成功" }); }
object delete(string id, bool confirmed) { using (ILinqContext <Site> cx = Site.CreateContext()) { var site = Site.Get(cx, id); if (site == null) { return new { code = -1, msg = "指定的站点不存在,删除失败" } } ; if (!confirmed && Widget.Where("SiteId = {0}", site.Id).Count() != 0) { return new { code = -2, msg = "指定的站点下有挂件内容,若确认删除则挂件内容也一并删除,是否确认删除" } } ; Widget.Where("SiteId = {0}", site.Id).Delete(); cx.Remove(site); cx.SubmitChanges(); } return(new { code = 1, msg = "删除成功" }); } #endregion #region 制站点 #endregion } }
public static List <T> ImportFromXml(XmlDocument xml) { Type t = typeof(T); List <PropertyInfo> props = new List <PropertyInfo>(t.GetProperties(BindingFlags.Instance | BindingFlags.Public | BindingFlags.DeclaredOnly)); List <T> list = new List <T>(); XmlNode node = xml.DocumentElement.SelectSingleNode("//" + t.FullName); if (node == null) { return(list); } foreach (XmlNode n in node.ChildNodes) { T obj = Activator.CreateInstance <T>(); foreach (XmlAttribute attr in n.Attributes) { PropertyInfo pi = props.Find(p => { return(p.Name.Equals(attr.Name, StringComparison.InvariantCultureIgnoreCase)); }); if (pi == null || !pi.CanWrite) { continue; } pi.SetValue(obj, TypeConvertUtil.ConvertTo(attr.Value, pi.PropertyType), null); } list.Add(obj); } ILinqContext <T> context = CreateContext(); // remove old items // List <t> ids = new List <t>(); foreach (var item in list) { ids.Add(item.Id); } List <T> old_list = Gets(context, StringUtil.CollectionToCommaDelimitedString(ids)); foreach (var item in old_list) { if (list.Find((T obj) => { return(item.Id.Equals(obj.Id)); }) != null) { context.Remove(item); } } // add new items // foreach (var item in list) { context.Add(item, true); } context.SubmitChanges(true); return(list); }