示例#1
0
        /// <summary>
        /// 新增或者编辑文章发布
        /// </summary>
        /// <param name="id">要编辑的文章发布ID</param>
        /// <returns></returns>
        public ActionResult ArtPublishAddOrEdit(Guid? id)
        {
            MallArtPublish oMallArtPublish = new MallArtPublish();
            //新建文章发布
            if (id.Equals(Guid.Empty) || id == null)
            {
                //若为超级管理员则有权限读取所有文章、渠道、文章位子
                if (CurrentSession.IsAdmin == true)
                {
                    //文章选择下拉框
                    var oArticleList = (from o in dbEntity.MallArticles where (o.Deleted == false) select o).ToList();
                    List<SelectListItem> ArticleList = new List<SelectListItem>();
                    foreach (var item in oArticleList)
                    {
                        SelectListItem aitem = new SelectListItem();
                        aitem.Text = item.Code;
                        aitem.Value = item.Gid.ToString();

                        ArticleList.Add(aitem);
                    }
                    ViewBag.ArticleList = ArticleList;
                    //渠道选择下拉框
                    var oChannelList = (from m in dbEntity.MemberChannels where (m.Deleted == false) select m).ToList();
                    List<SelectListItem> ChannelList = new List<SelectListItem>();
                    foreach (var item in oChannelList)
                    {
                        SelectListItem citem = new SelectListItem();
                        citem.Text = item.Code;
                        citem.Value = item.Gid.ToString();

                        ChannelList.Add(citem);
                    }
                    ViewBag.ChannelList = ChannelList;
                    //文章位置选择下拉框
                    var oPositionList = (from n in dbEntity.MallArtPositions where (n.Deleted == false) select n).ToList();
                    List<SelectListItem> PositionList = new List<SelectListItem>();
                    foreach (var item in oPositionList)
                    {
                        SelectListItem pitem = new SelectListItem();
                        pitem.Text = item.Code;
                        pitem.Value = item.Gid.ToString();

                        PositionList.Add(pitem);
                    }
                    ViewBag.PositionList = PositionList;
                    //是否显示
                    List<SelectListItem> ShowList = SelectEnumList(oMallArtPublish.Show);

                    ViewData["StartTime"] = "";
                    ViewData["EndTime"] = "";
                }
                //若为普通用户
                else
                {
                    Guid gUserID = (Guid)CurrentSession.UserID;
                    //如果用户ID不为空,首先读出该用户有权限查看的组织,其次读出所有有权限查看组织下的文章和文章位置
                    if (!gUserID.Equals(Guid.Empty))
                    {
                        MemberPrivilege oMemberPrivilege = (from m in dbEntity.MemberPrivileges where (m.Deleted == false && m.UserID == gUserID && m.Ptype == 2) select m).SingleOrDefault();
                        //该用户只有权限查看自己所属组织
                        if (oMemberPrivilege == null)
                        {
                            MemberUser oMemberUser = (from o in dbEntity.MemberUsers where (o.Gid == gUserID && o.Deleted == false) select o).SingleOrDefault();
                            if (oMemberUser != null)
                            {
                                Guid gOrgID = oMemberUser.OrgID;
                                //文章选择下拉框
                                var oArticle = (from p in dbEntity.MallArticles where (p.OrgID == gOrgID && p.Deleted == false) select p).ToList();
                                List<SelectListItem> ArticleList = new List<SelectListItem>();
                                foreach (var item in oArticle)
                                {
                                    SelectListItem aitem = new SelectListItem();
                                    aitem.Text = item.Code;
                                    aitem.Value = item.Gid.ToString();

                                    ArticleList.Add(aitem);
                                }
                                ViewBag.ArticleList = ArticleList;

                                //文章位置选择下拉框
                                var oPosition = (from q in dbEntity.MallArtPositions where (q.OrgID == gOrgID && q.Deleted == false) select q).ToList();
                                List<SelectListItem> PositionList = new List<SelectListItem>();
                                foreach (var item in oPosition)
                                {
                                    SelectListItem pitem = new SelectListItem();
                                    pitem.Text = item.Code;
                                    pitem.Value = item.Gid.ToString();

                                    PositionList.Add(pitem);
                                }
                                ViewBag.PositionList = PositionList;
                            }
                        }
                        //该用户能够查看多个组织
                        else
                        {
                            Guid PrivId = oMemberPrivilege.Gid;
                            List<SelectListItem> ArticleList = new List<SelectListItem>();
                            List<SelectListItem> PositionList = new List<SelectListItem>();
                            //授权组织
                            var oMemPrivItem = (from o in dbEntity.MemberPrivItems where (o.PrivID == PrivId && o.Deleted == false) select o).ToList();
                            //读取每个组织下的文章和文章位置
                            foreach (var item in oMemPrivItem)
                            {
                                Guid gOrg = (Guid)item.RefID;
                                var oArticle = (from p in dbEntity.MallArticles where (p.OrgID == gOrg && p.Deleted == false) select p).ToList();

                                foreach (var aitem in oArticle)
                                {
                                    SelectListItem saitem = new SelectListItem();
                                    saitem.Text = aitem.Code;
                                    saitem.Value = aitem.Gid.ToString();

                                    ArticleList.Add(saitem);
                                }

                                var oPosition = (from q in dbEntity.MallArtPositions where (q.OrgID == gOrg && q.Deleted == false) select q).ToList();
                                foreach (var pitem in oPosition)
                                {
                                    SelectListItem spitem = new SelectListItem();
                                    spitem.Text = pitem.Code;
                                    spitem.Value = pitem.Gid.ToString();

                                    PositionList.Add(spitem);
                                }
                            }
                            //该用户默认的组织
                            MemberUser oMemberUser = (from o in dbEntity.MemberUsers where (o.Gid == gUserID && o.Deleted == false) select o).SingleOrDefault();
                            if (oMemberUser != null)
                            {
                                Guid gOrgID = oMemberUser.OrgID;
                                //文章选择下拉框
                                var oArticle = (from p in dbEntity.MallArticles where (p.OrgID == gOrgID && p.Deleted == false) select p).ToList();
                                foreach (var item in oArticle)
                                {
                                    SelectListItem aitem = new SelectListItem();
                                    aitem.Text = item.Code;
                                    aitem.Value = item.Gid.ToString();

                                    ArticleList.Add(aitem);
                                }
                                ViewBag.ArticleList = ArticleList;

                                //文章位置选择下拉框
                                var oPosition = (from q in dbEntity.MallArtPositions where (q.OrgID == gOrgID && q.Deleted == false) select q).ToList();
                                foreach (var item in oPosition)
                                {
                                    SelectListItem pitem = new SelectListItem();
                                    pitem.Text = item.Code;
                                    pitem.Value = item.Gid.ToString();

                                    PositionList.Add(pitem);
                                }
                                ViewBag.PositionList = PositionList;
                            }
                        }
                    }
                    //该用户有权查看的渠道
                    MemberPrivilege oMemPrivilege = (from n in dbEntity.MemberPrivileges where (n.Ptype == 3 && n.UserID == gUserID && n.Deleted == false) select n).SingleOrDefault();
                    List<SelectListItem> ChannelList = new List<SelectListItem>();
                    //只有权查看自己所属的渠道
                    if (oMemPrivilege == null)
                    {
                        MemberUser oMemberUser = (from o in dbEntity.MemberUsers where (o.Gid == gUserID && o.Deleted == false) select o).SingleOrDefault();
                        Guid gChannelID = oMemberUser.ChlID;
                        MemberChannel oMemberChannel = (from p in dbEntity.MemberChannels where(p.Gid==gChannelID &&p.Deleted==false)select p).SingleOrDefault();
                        if(oMemberChannel!=null)
                        {
                            SelectListItem citem = new SelectListItem();
                            citem.Text = oMemberChannel.Code;
                            citem.Value = oMemberChannel.Gid.ToString();

                            ChannelList.Add(citem);
                        }
                    }
                    else
                    {
                        Guid gPrivId = oMemPrivilege.Gid;
                        var oMemPrivItem = (from o in dbEntity.MemberPrivItems where(o.PrivID==gPrivId&&o.Deleted==false)select o).ToList();
                        foreach (var item in oMemPrivItem)
                        {
                            Guid ChannelID =(Guid)item.RefID;
                            MemberChannel oMemberChannel = (from p in dbEntity.MemberChannels where (p.Gid == ChannelID && p.Deleted == false) select p).SingleOrDefault();
                            if (oMemberChannel != null)
                            {
                                SelectListItem citem = new SelectListItem();
                                citem.Text = oMemberChannel.Code;
                                citem.Value = oMemberChannel.Gid.ToString();

                                ChannelList.Add(citem);
                            }
                        }
                        MemberUser oMemberUser = (from o in dbEntity.MemberUsers where (o.Gid == gUserID && o.Deleted == false) select o).SingleOrDefault();
                        Guid gChannelID = oMemberUser.ChlID;
                        MemberChannel oMemrChannel = (from p in dbEntity.MemberChannels where (p.Gid == gChannelID && p.Deleted == false) select p).SingleOrDefault();
                        if (oMemrChannel != null)
                        {
                            SelectListItem citem = new SelectListItem();
                            citem.Text = oMemrChannel.Code;
                            citem.Value = oMemrChannel.Gid.ToString();

                            ChannelList.Add(citem);
                        }
                    }
                    ViewBag.ChannelList = ChannelList;

                    ViewBag.ShowList = SelectEnumList(oMallArtPublish.Show);

                    ViewData["StartTime"] = "";
                    ViewData["EndTime"] = "";
                }
            }
            //编辑某一文章发布
            else
            {
                oMallArtPublish = (from o in dbEntity.MallArtPublishes where (o.Deleted == false && o.Gid == id) select o).SingleOrDefault();
                if (oMallArtPublish != null)
                {
                    //若为超级管理员则有权限读取所有文章、渠道、文章位子
                    if (CurrentSession.IsAdmin == true)
                    {
                        //文章选择下拉框
                        var oArticleList = (from o in dbEntity.MallArticles where (o.Deleted == false) select o).ToList();
                        List<SelectListItem> ArticleList = new List<SelectListItem>();
                        foreach (var item in oArticleList)
                        {
                            SelectListItem aitem = new SelectListItem();
                            aitem.Text = item.Code;
                            aitem.Value = item.Gid.ToString();
                            if (item.Gid == oMallArtPublish.ArtID) aitem.Selected = true;

                            ArticleList.Add(aitem);
                        }
                        ViewBag.ArticleList = ArticleList;
                        //渠道选择下拉框
                        var oChannelList = (from m in dbEntity.MemberChannels where (m.Deleted == false) select m).ToList();
                        List<SelectListItem> ChannelList = new List<SelectListItem>();
                        foreach (var item in oChannelList)
                        {
                            SelectListItem citem = new SelectListItem();
                            citem.Text = item.Code;
                            citem.Value = item.Gid.ToString();
                            if (item.Gid == oMallArtPublish.ChlID) citem.Selected = true;

                            ChannelList.Add(citem);
                        }
                        ViewBag.ChannelList = ChannelList;
                        //文章位置选择下拉框
                        var oPositionList = (from n in dbEntity.MallArtPositions where (n.Deleted == false) select n).ToList();
                        List<SelectListItem> PositionList = new List<SelectListItem>();
                        foreach (var item in oPositionList)
                        {
                            SelectListItem pitem = new SelectListItem();
                            pitem.Text = item.Code;
                            pitem.Value = item.Gid.ToString();
                            if (item.Gid == oMallArtPublish.PosID) pitem.Selected = true;

                            PositionList.Add(pitem);
                        }
                        ViewBag.PositionList = PositionList;
                        //是否显示
                        List<SelectListItem> ShowList = SelectEnumList(oMallArtPublish.Show);

                        CultureInfo culture = new CultureInfo(CurrentSession.Culture);
                        ViewData["StartTime"] = oMallArtPublish.StartTime.Value.ToString(culture.DateTimeFormat.ShortDatePattern);

                        ViewData["EndTime"] = oMallArtPublish.EndTime.Value.ToString(culture.DateTimeFormat.ShortDatePattern);
                    }
                    //若为普通用户
                    else
                    {
                        Guid gUserID = (Guid)CurrentSession.UserID;
                        //如果用户ID不为空,首先读出该用户有权限查看的组织,其次读出所有有权限查看组织下的文章和文章位置
                        if (!gUserID.Equals(Guid.Empty))
                        {
                            MemberPrivilege oMemberPrivilege = (from m in dbEntity.MemberPrivileges where (m.Deleted == false && m.UserID == gUserID && m.Ptype == 2) select m).SingleOrDefault();
                            //该用户只有权限查看自己所属组织
                            if (oMemberPrivilege == null)
                            {
                                MemberUser oMemberUser = (from o in dbEntity.MemberUsers where (o.Gid == gUserID && o.Deleted == false) select o).SingleOrDefault();
                                if (oMemberUser != null)
                                {
                                    Guid gOrgID = oMemberUser.OrgID;
                                    //文章选择下拉框
                                    var oArticle = (from p in dbEntity.MallArticles where (p.OrgID == gOrgID && p.Deleted == false) select p).ToList();
                                    List<SelectListItem> ArticleList = new List<SelectListItem>();
                                    foreach (var item in oArticle)
                                    {
                                        SelectListItem aitem = new SelectListItem();
                                        aitem.Text = item.Code;
                                        aitem.Value = item.Gid.ToString();
                                        if (item.Gid == oMallArtPublish.ArtID) aitem.Selected = true;

                                        ArticleList.Add(aitem);
                                    }
                                    ViewBag.ArticleList = ArticleList;

                                    //文章位置选择下拉框
                                    var oPosition = (from q in dbEntity.MallArtPositions where (q.OrgID == gOrgID && q.Deleted == false) select q).ToList();
                                    List<SelectListItem> PositionList = new List<SelectListItem>();
                                    foreach (var item in oPosition)
                                    {
                                        SelectListItem pitem = new SelectListItem();
                                        pitem.Text = item.Code;
                                        pitem.Value = item.Gid.ToString();
                                        if (item.Gid == oMallArtPublish.PosID) pitem.Selected = true;
                                        PositionList.Add(pitem);
                                    }
                                    ViewBag.PositionList = PositionList;
                                }
                            }
                            //该用户能够查看多个组织
                            else
                            {
                                Guid PrivId = oMemberPrivilege.Gid;
                                List<SelectListItem> ArticleList = new List<SelectListItem>();
                                List<SelectListItem> PositionList = new List<SelectListItem>();
                                //授权组织
                                var oMemPrivItem = (from o in dbEntity.MemberPrivItems where (o.PrivID == PrivId && o.Deleted == false) select o).ToList();
                                //读取每个组织下的文章和文章位置
                                foreach (var item in oMemPrivItem)
                                {
                                    Guid gOrg = (Guid)item.RefID;
                                    var oArticle = (from p in dbEntity.MallArticles where (p.OrgID == gOrg && p.Deleted == false) select p).ToList();

                                    foreach (var aitem in oArticle)
                                    {
                                        SelectListItem saitem = new SelectListItem();
                                        saitem.Text = aitem.Code;
                                        saitem.Value = aitem.Gid.ToString();
                                        if (aitem.Gid == oMallArtPublish.ArtID) saitem.Selected = true;
                                        ArticleList.Add(saitem);
                                    }

                                    var oPosition = (from q in dbEntity.MallArtPositions where (q.OrgID == gOrg && q.Deleted == false) select q).ToList();
                                    foreach (var pitem in oPosition)
                                    {
                                        SelectListItem spitem = new SelectListItem();
                                        spitem.Text = pitem.Code;
                                        spitem.Value = pitem.Gid.ToString();
                                        if (pitem.Gid == oMallArtPublish.PosID) spitem.Selected = true;

                                        PositionList.Add(spitem);
                                    }
                                }
                                //该用户默认的组织
                                MemberUser oMemberUser = (from o in dbEntity.MemberUsers where (o.Gid == gUserID && o.Deleted == false) select o).SingleOrDefault();
                                if (oMemberUser != null)
                                {
                                    Guid gOrgID = oMemberUser.OrgID;
                                    //文章选择下拉框
                                    var oArticle = (from p in dbEntity.MallArticles where (p.OrgID == gOrgID && p.Deleted == false) select p).ToList();
                                    foreach (var item in oArticle)
                                    {
                                        SelectListItem aitem = new SelectListItem();
                                        aitem.Text = item.Code;
                                        aitem.Value = item.Gid.ToString();
                                        if (item.Gid == oMallArtPublish.ArtID) aitem.Selected = true;

                                        ArticleList.Add(aitem);
                                    }
                                    ViewBag.ArticleList = ArticleList;

                                    //文章位置选择下拉框
                                    var oPosition = (from q in dbEntity.MallArtPositions where (q.OrgID == gOrgID && q.Deleted == false) select q).ToList();
                                    foreach (var item in oPosition)
                                    {
                                        SelectListItem pitem = new SelectListItem();
                                        pitem.Text = item.Code;
                                        pitem.Value = item.Gid.ToString();
                                        if (item.Gid == oMallArtPublish.PosID) pitem.Selected = true;

                                        PositionList.Add(pitem);
                                    }
                                    ViewBag.PositionList = PositionList;
                                }
                            }
                        }
                        //该用户有权查看的渠道
                        MemberPrivilege oMemPrivilege = (from n in dbEntity.MemberPrivileges where (n.Ptype == 3 && n.UserID == gUserID && n.Deleted == false) select n).SingleOrDefault();
                        List<SelectListItem> ChannelList = new List<SelectListItem>();
                        //只有权查看自己所属的渠道
                        if (oMemPrivilege == null)
                        {
                            MemberUser oMemberUser = (from o in dbEntity.MemberUsers where (o.Gid == gUserID && o.Deleted == false) select o).SingleOrDefault();
                            Guid gChannelID = oMemberUser.ChlID;
                            MemberChannel oMemberChannel = (from p in dbEntity.MemberChannels where (p.Gid == gChannelID && p.Deleted == false) select p).SingleOrDefault();
                            if (oMemberChannel != null)
                            {
                                SelectListItem citem = new SelectListItem();
                                citem.Text = oMemberChannel.Code;
                                citem.Value = oMemberChannel.Gid.ToString();
                                if (oMemberChannel.Gid == oMallArtPublish.ChlID) citem.Selected = true;

                                ChannelList.Add(citem);
                            }
                        }
                        //授权查看多个渠道
                        else
                        {
                            Guid gPrivId = oMemPrivilege.Gid;
                            var oMemPrivItem = (from o in dbEntity.MemberPrivItems where (o.PrivID == gPrivId && o.Deleted == false) select o).ToList();
                            foreach (var item in oMemPrivItem)
                            {
                                Guid ChannelID = (Guid)item.RefID;
                                MemberChannel oMemberChannel = (from p in dbEntity.MemberChannels where (p.Gid == ChannelID && p.Deleted == false) select p).SingleOrDefault();
                                if (oMemberChannel != null)
                                {
                                    SelectListItem citem = new SelectListItem();
                                    citem.Text = oMemberChannel.Code;
                                    citem.Value = oMemberChannel.Gid.ToString();
                                    if (oMemberChannel.Gid == oMallArtPublish.ChlID) citem.Selected = true;

                                    ChannelList.Add(citem);
                                }
                            }
                            MemberUser oMemberUser = (from o in dbEntity.MemberUsers where (o.Gid == gUserID && o.Deleted == false) select o).SingleOrDefault();
                            Guid gChannelID = oMemberUser.ChlID;
                            MemberChannel oMemChannel = (from p in dbEntity.MemberChannels where (p.Gid == gChannelID && p.Deleted == false) select p).SingleOrDefault();
                            if (oMemChannel != null)
                            {
                                SelectListItem citem = new SelectListItem();
                                citem.Text = oMemChannel.Code;
                                citem.Value = oMemChannel.Gid.ToString();
                                if (oMemChannel.Gid == oMallArtPublish.ChlID) citem.Selected = true;

                                ChannelList.Add(citem);
                            }
                        }
                        ViewBag.ChannelList = ChannelList;

                        ViewBag.ShowList = SelectEnumList(oMallArtPublish.Show);

                        CultureInfo culture = new CultureInfo(CurrentSession.Culture);
                        ViewData["StartTime"] = oMallArtPublish.StartTime.Value.ToString(culture.DateTimeFormat.ShortDatePattern);

                        ViewData["EndTime"] = oMallArtPublish.EndTime.Value.ToString(culture.DateTimeFormat.ShortDatePattern);
                    }
                }
            }
            return View("ArtPublishAddOrEdit",oMallArtPublish);
        }
示例#2
0
        /// <summary>
        /// 保存新增或者编辑的文章
        /// </summary>
        /// <param name="mallArtPublish"></param>
        /// <returns></returns>
        public string ArtPublishSave(MallArtPublish mallArtPublish, FormCollection formCollection)
        {
            MallArtPublish oMallArtPublish = new MallArtPublish();
            Guid gArtPublish = mallArtPublish.Gid;
            if (gArtPublish.Equals(Guid.Empty))
            {
                oMallArtPublish.ArtID = mallArtPublish.ArtID;
                oMallArtPublish.ChlID = mallArtPublish.ChlID;
                oMallArtPublish.PosID = mallArtPublish.PosID;
                oMallArtPublish.Sorting = mallArtPublish.Sorting;
                oMallArtPublish.Show = mallArtPublish.Show;
                oMallArtPublish.TotalRank = mallArtPublish.TotalRank;
                oMallArtPublish.MatterRank = mallArtPublish.MatterRank;
                oMallArtPublish.LayoutRank = mallArtPublish.LayoutRank;
                oMallArtPublish.ComfortRank = mallArtPublish.ComfortRank;

                string startTime = formCollection["startTime"];
                if (startTime != "")
                {
                    DateTimeOffset DStartTime = DateTimeOffset.Parse(startTime);
                    oMallArtPublish.StartTime = DStartTime;
                }
                else
                {
                    oMallArtPublish.StartTime =DateTimeOffset.Now;
                }

                string endTime = formCollection["endTime"];
                if (endTime != "")
                {
                    DateTimeOffset DEndTime = DateTimeOffset.Parse(endTime);
                    oMallArtPublish.EndTime = DEndTime;
                }
                else
                {
                    oMallArtPublish.EndTime = DateTimeOffset.Now;
                }
                oMallArtPublish.Remark = mallArtPublish.Remark;

                dbEntity.MallArtPublishes.Add(oMallArtPublish);
                dbEntity.SaveChanges();
            }
            else
            {
                oMallArtPublish = (from o in dbEntity.MallArtPublishes where (o.Gid == gArtPublish && o.Deleted == false) select o).SingleOrDefault();
                if (oMallArtPublish != null)
                {
                    oMallArtPublish.ArtID = mallArtPublish.ArtID;
                    oMallArtPublish.ChlID = mallArtPublish.ChlID;
                    oMallArtPublish.PosID = mallArtPublish.PosID;
                    oMallArtPublish.Sorting = mallArtPublish.Sorting;
                    oMallArtPublish.Show = mallArtPublish.Show;
                    oMallArtPublish.TotalRank = mallArtPublish.TotalRank;
                    oMallArtPublish.MatterRank = mallArtPublish.MatterRank;
                    oMallArtPublish.LayoutRank = mallArtPublish.LayoutRank;
                    oMallArtPublish.ComfortRank = mallArtPublish.ComfortRank;

                    string startTime = formCollection["startTime"];
                    if (startTime != "")
                    {
                        oMallArtPublish.StartTime = DateTimeOffset.Parse(startTime);
                    }
                    else
                    {
                        oMallArtPublish.StartTime = DateTimeOffset.Now;
                    }

                    string endTime = formCollection["endTime"];
                    if (endTime != "")
                    {
                        oMallArtPublish.EndTime = DateTimeOffset.Parse(endTime);
                    }
                    else
                    {
                        oMallArtPublish.EndTime = DateTimeOffset.Now;
                    }
                    oMallArtPublish.Remark = mallArtPublish.Remark;

                    dbEntity.SaveChanges();
                }
            }
            return "success";
        }