public ActionResult ArticleAddOrEdit(Guid? id) { //MallArticle oMallArticle = new MallArticle(); List<SelectListItem> list = new List<SelectListItem>(); //添加新的Article if (id == null) { var oPrivateCategory = (from o in dbEntity.GeneralPrivateCategorys where (o.Deleted == false && o.Ctype == 6 && o.OrgID == gOrgId) select o).ToList(); MallArticle oMallArticle = new MallArticle { Matter=NewLargeObject(gOrgId) }; oMallArticle.Title = NewResource(ModelEnum.ResourceType.STRING,gOrgId); //文章类型下拉列表 foreach (var item in oPrivateCategory) { SelectListItem sitem = new SelectListItem(); sitem.Text = item.Name.GetResource(CurrentSession.Culture); sitem.Value = item.Gid.ToString(); list.Add(sitem); } ViewBag.list = list; List<SelectListItem> AstatusList = GetSelectList(oMallArticle.ArticleStatusList); ViewBag.AstatusList = AstatusList; return View(oMallArticle); } //编辑已有的Article else { MallArticle oMallArticle = (from o in dbEntity.MallArticles where (o.Deleted == false && o.Gid == id) select o).SingleOrDefault(); oMallArticle.Matter = RefreshLargeObject(oMallArticle.Matter,gOrgId); oMallArticle.Title = RefreshResource(ModelEnum.ResourceType.STRING,oMallArticle.Title); if (oMallArticle != null) { var oPrivateCategory = (from o in dbEntity.GeneralPrivateCategorys where (o.Deleted == false && o.Ctype == 6 && o.OrgID == gOrgId) select o).ToList(); foreach (var item in oPrivateCategory) { SelectListItem sitem = new SelectListItem(); sitem.Text = item.Name.GetResource(CurrentSession.Culture); sitem.Value = item.Gid.ToString(); if (oMallArticle.Atype == item.Gid) sitem.Selected = true; list.Add(sitem); } ViewBag.list = list; } List<SelectListItem> AstatusList = GetSelectList(oMallArticle.ArticleStatusList); ViewBag.AstatusList = AstatusList; return View(oMallArticle); } }
public string ArticleSave(MallArticle mallArticle) { Guid gArticleID = mallArticle.Gid; MallArticle oMallArticle = new MallArticle(); //保存新增加的文章 if (gArticleID.Equals(Guid.Empty)) { string strCode = mallArticle.Code; var oArticleCode = (from o in dbEntity.MallArticles where (o.Deleted == false && o.OrgID == gOrgId && o.Acategory == gCategoryId) select o).ToList(); bool flag = false; //判断Code是否唯一 foreach (var item in oArticleCode) { //存在相同Code的文章时,不进行保存,提示用户 if (item.Code == strCode && item.Deleted == false) { flag = true; return "error"; } //存在相同Code的文章,但文章已删除,恢复 else if (item.Code == strCode && item.Deleted == true) { item.Deleted = false; item.OrgID = gOrgId; item.Acategory = gCategoryId; item.Code = mallArticle.Code; item.Atype = mallArticle.Atype; item.Astatus = mallArticle.Astatus; string strUserName = mallArticle.UserName; //填写的用户名不为空 if (strUserName != null) { Guid gUserID = (from o in dbEntity.MemberUsers where (o.Deleted == false && o.OrgID == gOrgId && o.LoginName == strUserName) select o.Gid).SingleOrDefault(); //用户登陆名错误,不存在为此用户名的用户 if (gUserID == null) { return "UserName Error"; } else { item.UserID = gUserID; item.UserName = mallArticle.UserName; } } //用户名为空时,保存为游客 else { item.UserName = "******"; item.UserID = null; } //用户输入的产品代码 string strProductCode = mallArticle.Product.Code; if (strProductCode != null) { //有组织和代码唯一确定产品(组织为前面选择传入值???) ProductInformation oProductInfo = (from p in dbEntity.ProductInformations where (p.OrgID == gOrgId && p.Code == strProductCode && p.Deleted == false) select p).SingleOrDefault(); //代码输入正确,得到产品的具体信息 if (oProductInfo != null) { oMallArticle.ProdID = oProductInfo.Gid; oMallArticle.Product = oProductInfo; } //代码输入不正确,没有符合条件的产品,提示错误 else { return "ProductCode Error"; } } //用户输入的父文章的代码 string strParentCode = mallArticle.Parent.Code; if (strProductCode != null) { //有组织和代码唯一确定文章 MallArticle oParentArt = (from o in dbEntity.MallArticles where (o.OrgID == gOrgId && o.Code == strParentCode && o.Deleted == false) select o).SingleOrDefault(); //文章代码输入正确,进行保存 if (oParentArt != null) { oMallArticle.aParent = oParentArt.Gid; oMallArticle.Parent = oParentArt; } //文章代码不正确,提示错误 else { return "ParentCode Error"; } } oMallArticle.Title = new GeneralResource(ModelEnum.ResourceType.STRING,mallArticle.Title); oMallArticle.Matter = new GeneralLargeObject(mallArticle.Matter); item.Remark = mallArticle.Remark; dbEntity.SaveChanges(); flag = true; } } //不存在相同代码时 if (flag == false) { oMallArticle.OrgID = gOrgId; oMallArticle.Acategory = gCategoryId; oMallArticle.Code = mallArticle.Code; oMallArticle.Atype = mallArticle.Atype; oMallArticle.Astatus = mallArticle.Astatus; string strUserName = mallArticle.UserName; if (strUserName != null) { Guid gUserID = (from o in dbEntity.MemberUsers where (o.Deleted == false && o.OrgID == gOrgId && o.LoginName == strUserName) select o.Gid).SingleOrDefault(); //用户登陆名输入错误,提示错误 if (gUserID == null) { return "UserName Error"; } else { oMallArticle.UserID = gUserID; oMallArticle.UserName = mallArticle.UserName; } } //用户登陆名为空 else { oMallArticle.UserName = "******"; oMallArticle.UserID = null; } //用户输入的产品代码 string strProductCode = mallArticle.Product.Code; if (strProductCode != null) { //有组织和代码唯一确定产品(组织为前面选择传入值???) ProductInformation oProductInfo = (from p in dbEntity.ProductInformations where (p.OrgID == gOrgId && p.Code == strProductCode && p.Deleted == false) select p).SingleOrDefault(); //代码输入正确,得到产品的具体信息 if (oProductInfo != null) { oMallArticle.ProdID = oProductInfo.Gid; oMallArticle.Product = oProductInfo; } //代码输入不正确,没有符合条件的产品,提示错误 else { return "ProductCode Error"; } } //用户输入的父文章的代码 string strParentCode = mallArticle.Parent.Code; if (strParentCode != null) { //有组织和代码唯一确定文章 MallArticle oParentArt = (from o in dbEntity.MallArticles where (o.OrgID == gOrgId && o.Code == strParentCode && o.Deleted == false) select o).SingleOrDefault(); //文章代码输入正确,进行保存 if (oParentArt != null) { oMallArticle.aParent = oParentArt.Gid; oMallArticle.Parent = oParentArt; } //文章代码不正确,提示错误 else { return "ParentCode Error"; } } oMallArticle.Title = new GeneralResource(ModelEnum.ResourceType.STRING,mallArticle.Title); oMallArticle.Matter =new GeneralLargeObject( mallArticle.Matter); oMallArticle.Remark = mallArticle.Remark; dbEntity.MallArticles.Add(oMallArticle); dbEntity.SaveChanges(); flag = false; } } //保存编辑的文章 else { oMallArticle = (from o in dbEntity.MallArticles where (o.Deleted == false && o.Gid == gArticleID) select o).SingleOrDefault(); if (oMallArticle != null) { oMallArticle.Code = mallArticle.Code; oMallArticle.Atype = mallArticle.Atype; oMallArticle.OrgID = gOrgId; oMallArticle.Acategory = mallArticle.Acategory; oMallArticle.Astatus = mallArticle.Astatus; string strUserName = mallArticle.UserName; if (strUserName != "游客") { oMallArticle.UserName = mallArticle.UserName; Guid gUserID = (from o in dbEntity.MemberUsers where (o.Deleted == false && o.OrgID == gOrgId && o.LoginName == strUserName) select o.Gid).SingleOrDefault(); oMallArticle.UserID = gUserID; } else { oMallArticle.UserName = "******"; oMallArticle.UserID = null; } //用户输入的产品代码 if (mallArticle.Product != null) { string strProductCode = mallArticle.Product.Code; if (strProductCode != null) { //有组织和代码唯一确定产品(组织为前面选择传入值???) ProductInformation oProductInfo = (from p in dbEntity.ProductInformations where (p.OrgID == gOrgId && p.Code == strProductCode && p.Deleted == false) select p).SingleOrDefault(); //代码输入正确,得到产品的具体信息 if (oProductInfo != null) { oMallArticle.ProdID = oProductInfo.Gid; oMallArticle.Product = oProductInfo; } //代码输入不正确,没有符合条件的产品,提示错误 else { return "ProductCode Error"; } } } //用户输入的父文章的代码 if (mallArticle.Parent != null) { string strParentCode = mallArticle.Parent.Code; if (strParentCode != null) { //有组织和代码唯一确定文章 MallArticle oParentArt = (from o in dbEntity.MallArticles where (o.OrgID == gOrgId && o.Code == strParentCode && o.Deleted == false) select o).SingleOrDefault(); //文章代码输入正确,进行保存 if (oParentArt != null) { oMallArticle.aParent = oParentArt.Gid; oMallArticle.Parent = oParentArt; } //文章代码不正确,提示错误 else { return "ParentCode Error"; } } } oMallArticle.Title = mallArticle.Title; oMallArticle.Matter.SetLargeObject( mallArticle.Matter); oMallArticle.Remark = mallArticle.Remark; dbEntity.SaveChanges(); } } return "success"; }
/// <summary> /// 对某一文章跟帖 /// </summary> /// <param name="id">父文章的ID</param> /// <returns></returns> public ActionResult ArticleReplay(Guid id) { //文章类型下拉框 var oPrivateCategory = (from o in dbEntity.GeneralPrivateCategorys where (o.Deleted == false && o.Ctype == 6 && o.OrgID == gOrgId) select o).ToList(); List<SelectListItem> list = new List<SelectListItem>(); foreach (var item in oPrivateCategory) { SelectListItem sitem = new SelectListItem(); sitem.Text = item.Name.GetResource(CurrentSession.Culture); sitem.Value = item.Gid.ToString(); list.Add(sitem); } ViewBag.list = list; MallArticle oMallArticle = new MallArticle(); oMallArticle.Matter = NewLargeObject(gOrgId); oMallArticle.Title = NewResource(ModelEnum.ResourceType.STRING,gOrgId); MallArticle oParentMallArticle = (from o in dbEntity.MallArticles where (o.Deleted == false && o.Gid == id) select o).SingleOrDefault(); if (oParentMallArticle != null) { oMallArticle.aParent = id; oMallArticle.Parent = oParentMallArticle; oMallArticle.ProdID = oParentMallArticle.ProdID; oMallArticle.Product = oParentMallArticle.Product; } else { oMallArticle.aParent = null; oMallArticle.ProdID = null; } List<SelectListItem> AstatusList = GetSelectList(oMallArticle.ArticleStatusList); ViewBag.AstatusList = AstatusList; return View("ArticleReplay", oMallArticle); }