Beispiel #1
0
        public void ProcessRequest(HttpContext context)
        {
            try {
                long NewsID = 0;
                Int64.TryParse(context.Request.Form["news_id"].ToString(), out NewsID);
                int CatID = 0;
                Int32.TryParse(context.Request.Form["cat_id"].ToString(), out CatID);

                //NewsEditHelper.AutoSave_Insert(NewsID, CatID, context.Request.Form["news_title"].ToString(), context.Request.Form["image"].ToString(), context.Request.Form["sapo"].ToString(), context.Request.Form["news_content"].ToString(), DateTime.Now);

                NewsRow objNewsRow = NewsEditHelper.GetNewsInfo_News(NewsID, false);
                if (objNewsRow == null)
                {
                    NewsEditHelper.CreateNews(NewsID, CatID, string.Empty, context.Request.Form["news_title"].ToString(), context.Request.Form["image"].ToString(), context.Request.Form["news_title"].ToString(), context.Request.Form["sapo"].ToString(), context.Request.Form["news_content"].ToString(), string.Empty, false, 0 /*lưu tạm*/, 0, string.Empty, string.Empty, string.Empty, DateTime.Now, false, false, 0, string.Empty, string.Empty, string.Empty, false, string.Empty, string.Empty, string.Empty, 0, string.Empty, string.Empty);
                }
                else
                if (objNewsRow.News_Status == 0)
                {
                    NewsEditHelper.UpdateNews(NewsID, CatID, string.Empty, context.Request.Form["news_title"].ToString(), context.Request.Form["image"].ToString(), string.Empty, context.Request.Form["sapo"].ToString(), context.Request.Form["news_content"].ToString(), false, 0, 0, string.Empty, string.Empty, DateTime.Now, false, false, false, 0, string.Empty, string.Empty, string.Empty, string.Empty, false, string.Empty, string.Empty, string.Empty, 0, string.Empty, string.Empty);
                }

                context.Response.Write("Lưu tự động lúc : " + DateTime.Now);
            }
            catch (Exception ex) {
                context.Response.Write(ex.Message);
            }
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                long news_ID = 0;
                if (!string.IsNullOrEmpty(Request.QueryString["nid"]))
                {
                    news_ID = Convert.ToInt64(Request.QueryString["nid"]);
                }
                if (news_ID > 0)
                {
                    NewsRow objNewsRow    = NewsEditHelper.GetNewsInfo_News(news_ID, false);
                    NewsRow objNewsRow_Ex = NewsEditHelper.GetNewsInfo_NewsExtension(news_ID, false);

                    string title   = LCSFinder.GetEditor(objNewsRow.News_Title, objNewsRow_Ex.News_Title)[0];
                    string Sapo    = LCSFinder.GetEditor(objNewsRow.News_InitialContent, objNewsRow_Ex.News_InitialContent)[0];
                    string Content = LCSFinder.GetEditor(objNewsRow.News_Content, objNewsRow_Ex.News_Content)[0];
                    ltrTitle.Text   = title;
                    ltrInit.Text    = Sapo;
                    ltrContent.Text = Content;
                }
            }
        }
        /// <summary>
        /// Check whether current user can edit the news
        /// </summary>
        /// <param name="context"></param>
        /// <returns></returns>
        public static bool isHasPermission(HttpContext context)
        {
            if (context.Request.QueryString["NewsRef"] == null || context.Request.QueryString["NewsRef"] == string.Empty)
            {
                return(true);
            }
            else
            {
                string cpMode = context.Request.QueryString["cpmode"];
                if (!string.IsNullOrEmpty(cpMode))
                {
                    if (cpMode.Contains(","))
                    {
                        cpMode = cpMode.Substring(cpMode.IndexOf(",") + 1);
                    }
                    cpMode = cpMode.ToLower();

                    long   newsId   = long.Parse(context.Request.QueryString["NewsRef"]);
                    string userName = context.User.Identity.Name;
                    if (!string.IsNullOrEmpty(userName) && newsId != 0)
                    {
                        MainSecurity objsecu = new MainSecurity();
                        //Role objrole = objsecu.GetRole(context.User.Identity.Name);

                        NewsRow newsRow = NewsEditHelper.GetNewsInfo_News(newsId, false);
                        if (newsRow != null)
                        {
                            Permission permission = objsecu.GetPermission(userName);
                            MainDB     db         = new MainDB();
                            bool       toReturn   = false;
                            switch (cpMode)
                            {
                            case "templist":
                                toReturn = newsRow.News_Status == (byte)NewsStatus.LuuTam &&
                                           db.StoredProcedures.News_isLastAccessUser(newsId, userName);
                                break;

                            case "editwaitlist":
                                toReturn = newsRow.News_Status == (byte)NewsStatus.ChoBienTap &&
                                           permission.isBien_Tap_Bai &&
                                           db.StoredProcedures.News_isHasPermissionEdit(newsId, CategoryHelper.GetCatIDByUser());
                                break;

                            case "editinglist":
                                toReturn = newsRow.News_Status == (byte)NewsStatus.NhanBienTap &&
                                           permission.isBien_Tap_Bai &&
                                           db.StoredProcedures.News_isLastAccessUser(newsId, userName);
                                break;

                            case "approvalwaitlist":
                                toReturn = newsRow.News_Status == (byte)NewsStatus.ChoDuyet && permission.isDuyet_Bai &&
                                           db.StoredProcedures.News_isHasPermissionEdit(newsId, CategoryHelper.GetCatIDByUser());
                                break;

                            case "approvalwaitspeciallist":
                                toReturn = newsRow.News_Status == (byte)NewsStatus.ChoDuyet && permission.isDuyet_Bai &&
                                           db.StoredProcedures.News_isHasPermissionEdit(newsId, CategoryHelper.GetCatIDByUser());
                                break;

                            case "approvinglist":
                                toReturn = newsRow.News_Status == (byte)NewsStatus.NhanDuyet && permission.isDuyet_Bai &&
                                           db.StoredProcedures.News_isLastAccessUser(newsId, userName);
                                break;

                            case "publishedlist":
                                toReturn = newsRow.News_Status == (byte)NewsStatus.XuatBan && permission.isXuat_Ban_Bai &&
                                           db.StoredProcedures.News_isHasPermissionEdit(newsId, CategoryHelper.GetCatIDByUser());
                                break;

                            case "removedlist":
                                toReturn = newsRow.News_Status == (byte)NewsStatus.GoBo && permission.isXuat_Ban_Bai &&
                                           db.StoredProcedures.News_isHasPermissionEdit(newsId, CategoryHelper.GetCatIDByUser());
                                break;

                            case "backlist":
                                toReturn = newsRow.News_Status == (byte)NewsStatus.TraLai &&
                                           db.StoredProcedures.News_isLastAccessUser(newsId, userName);
                                break;

                            case "dellist":
                                toReturn = newsRow.News_Status == (byte)NewsStatus.XoaTam &&
                                           db.StoredProcedures.News_isLastAccessUser(newsId, userName);
                                break;
                            }
                            return(toReturn);
                        }
                    }
                }
            }
            return(false);
        }