예제 #1
0
        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);
            }
        }
예제 #2
0
        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";
        }
예제 #3
0
        /// <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);
        }