Пример #1
0
        public override bool DeleteData()
        {
            if (attId == Guid.Empty)
            {
                errState = AttFileErrState.AttIdIsRequired;
                return(false);
            }

            if (fileFullName == "")
            {
                errState = AttFileErrState.NoInitialize;
                return(false);
            }

            ArticlePublisherLogic artPub = new ArticlePublisherLogic(null);
            bool result = artPub.DeleteArticlePictureData(attId);

            if (result)
            {
                if (!DeletePhysicalFileData())
                {
                    logger.InfoFormat("can't delete physical file [{0}]", fileFullName);
                }
            }
            else
            {
                errState = AttFileErrState.DeleteDataFailed;
            }

            return(result);
        }
Пример #2
0
        protected override string GetFileFullName(Guid attId)
        {
            string fileFullName              = "";
            string attRootDir                = Server.MapPath(string.Format("~/{0}", ConfigurationManager.AppSettings["AttRootDir"]));
            ArticlePublisherLogic artPub     = new ArticlePublisherLogic(null);
            AttachFile            attachFile = artPub.GetAttachFileDataForBackend(attId);

            if (attachFile == null)
            {
                logger.ErrorFormat("can't get data of attId[{0}]", attId);
                return("");
            }

            string filePath      = attachFile.FilePath;
            string fileSavedName = attachFile.FileSavedName;

            // update readCount
            if (!isInBackend)
            {
                artPub.IncreaseAttachFileMultiLangReadCount(attId, qsCultureNameOfLangNo);
            }

            fileFullName = string.Format("{0}{1}/{2}", attRootDir, filePath, fileSavedName);

            return(fileFullName);
        }
Пример #3
0
        /// <summary>
        /// 取得下一個排序編號
        /// </summary>
        protected virtual int GetNextSortNo()
        {
            ArticlePublisherLogic artPub = new ArticlePublisherLogic(null);
            int newSortNo = artPub.GetAttachFileMaxSortNo(contextId) + 10;

            return(newSortNo);
        }
Пример #4
0
        /// <summary>
        /// 取得下一個排序編號
        /// </summary>
        protected override int GetNextSortNo()
        {
            ArticlePublisherLogic artPub = new ArticlePublisherLogic(null);
            int newSortNo = artPub.GetArticlePictureMaxSortNo(contextId) + 10;

            return(newSortNo);
        }
Пример #5
0
        /// <summary>
        /// 更新附件資料
        /// </summary>
        protected override bool UpdateData(string mdfAccount)
        {
            ArticlePictureParams param = new ArticlePictureParams()
            {
                PicId         = attId,
                FileSavedName = fileSavedName,
                FileSize      = fileSize,
                SortNo        = sortNo,
                FileMIME      = fileMIME,
                PostAccount   = postAccount
            };

            ArticlePublisherLogic artPub = new ArticlePublisherLogic(null);
            bool result = artPub.UpdateArticlePictureData(param);

            if (result)
            {
                //zh-TW
                if (result && LangManager.IsEnableEditLangZHTW())
                {
                    ArticlePictureMultiLangParams paramZhTw = new ArticlePictureMultiLangParams()
                    {
                        PicId        = attId,
                        CultureName  = LangManager.CultureNameZHTW,
                        PicSubject   = attSubjectZhTw,
                        IsShowInLang = isShowInLangZhTw,
                        PostAccount  = postAccount
                    };

                    result = artPub.UpdateArticlePictureMultiLangData(paramZhTw);
                }

                //en
                if (result && LangManager.IsEnableEditLangEN())
                {
                    ArticlePictureMultiLangParams paramEn = new ArticlePictureMultiLangParams()
                    {
                        PicId        = attId,
                        CultureName  = LangManager.CultureNameEN,
                        PicSubject   = attSubjectEn,
                        IsShowInLang = isShowInLangEn,
                        PostAccount  = postAccount
                    };

                    result = artPub.UpdateArticlePictureMultiLangData(paramEn);
                }

                if (!result)
                {
                    errState = AttFileErrState.UpdateMultiLangDataFailed;
                }
            }
            else
            {
                errState = AttFileErrState.UpdateDataFailed;
            }

            return(result);
        }
Пример #6
0
        /// <summary>
        /// 取得搜尋關鍵字
        /// </summary>
        public Keyword_GetList(HttpContext context)
            : base(context)
        {
            c = new FrontendPageCommon(context, null);
            c.InitialLoggerOfUI(this.GetType());

            artPub = new ArticlePublisherLogic();
        }
Пример #7
0
        /// <summary>
        /// 取得附縮圖的網頁內容清單
        /// </summary>
        public Article_GetListWithThumb(HttpContext context)
            : base(context)
        {
            c = new OtherArticlePageCommon(context, null);
            c.InitialLoggerOfUI(this.GetType());

            artPub = new ArticlePublisherLogic();
        }
Пример #8
0
    protected void Page_Init(object sender, EventArgs e)
    {
        c = new FrontendPageCommon(this.Context, this.ViewState);
        c.InitialLoggerOfUI(this.GetType());

        artPub      = new ArticlePublisherLogic(null);
        basePage    = (FrontendBasePage)this.Page;
        articleData = basePage.GetArticleData();
    }
Пример #9
0
    protected void Page_Init(object sender, EventArgs e)
    {
        c = new BackendPageCommon(this.Context, this.ViewState);
        c.InitialLoggerOfUI(this.GetType());
        artPub  = new ArticlePublisherLogic(c);
        empAuth = new EmployeeAuthorityLogic(c);

        Page.Title = Resources.Lang.BackStageName;
        Page.MaintainScrollPositionOnPostBack = true;
    }
Пример #10
0
    protected void Page_PreInit(object sender, EventArgs e)
    {
        c = new ArticleVideoCommonOfBackend(this.Context, this.ViewState);
        c.InitialLoggerOfUI(this.GetType());

        artPub = new ArticlePublisherLogic(c);

        empAuth = new EmployeeAuthorityLogic(c);
        empAuth.SetCustomEmployeeAuthorizationResult(artPub);
        empAuth.InitialAuthorizationResultOfSubPages();
    }
Пример #11
0
        protected string basicIV     = ""; // 16 letters

        /// <summary>
        /// 前台網頁的共用元件
        /// </summary>
        public FrontendPageCommon(HttpContext context, StateBag viewState)
            : base(context, viewState)
        {
            artPub      = new ArticlePublisherLogic(null);
            articleData = new ArticleData();

            ERROR_PAGE = string.Format("ErrorPage.aspx?l={0}", qsLangNo);
            aesKeyOfFP = ConfigurationManager.AppSettings["AesKeyOfFP"];
            aesKeyOfBP = ConfigurationManager.AppSettings["AesKeyOfBP"];
            basicIV    = ConfigurationManager.AppSettings["AesIV"];
        }
Пример #12
0
    protected void Page_PreInit(object sender, EventArgs e)
    {
        c = new OtherArticlePageCommon(this.Context, this.ViewState);
        c.InitialLoggerOfUI(this.GetType());

        if (!c.RetrieveArticleIdAndData())
        {
            Response.Redirect(c.ERROR_PAGE);
        }

        articleData    = c.GetArticleData();
        artPub         = new ArticlePublisherLogic(null);
        masterSettings = (IMasterArticleSettings)this.Master;
    }
Пример #13
0
    protected void Page_PreInit(object sender, EventArgs e)
    {
        c = new OtherArticlePageCommon(this.Context, this.ViewState);
        c.InitialLoggerOfUI(this.GetType());

        if (!c.RetrieveArticleIdAndData(Guid.Empty))
        {
            Response.Redirect(c.ERROR_PAGE);
        }

        articleData = c.GetArticleData();
        articleData.ArticleSubject = "";
        artPub                    = new ArticlePublisherLogic(null);
        masterSettings            = (IMasterArticleSettings)this.Master;
        masterSettings.IsHomePage = true;
        masterSettings.CustomBannerSubjectHtml = "<h2>We Are Creative People<span></span></h2><h1>Display Creative Studio</h1>";
    }
Пример #14
0
        public override Guid GetArticleId()
        {
            if (qsAct == ConfigFormAction.add)
            {
                return(qsArtId);
            }

            ArticlePublisherLogic artPub = new ArticlePublisherLogic();
            ArticlePicture        pic    = artPub.GetArticlePictureDataForBackend(qsPicId);
            Guid articleId = Guid.Empty;

            if (pic != null)
            {
                articleId = pic.ArticleId.Value;
            }

            return(articleId);
        }
Пример #15
0
        public override Guid GetArticleId()
        {
            if (qsAct == ConfigFormAction.add)
            {
                return(qsArtId);
            }

            ArticlePublisherLogic artPub = new ArticlePublisherLogic();
            ArticleVideo          att    = artPub.GetArticleVideoDataForBackend(qsVidId);
            Guid articleId = Guid.Empty;

            if (att != null)
            {
                articleId = att.ArticleId.Value;
            }

            return(articleId);
        }
Пример #16
0
    private bool isLazyLoadingMode = true;   //滾動加載模式

    protected void Page_Init(object sender, EventArgs e)
    {
        c = new FrontendPageCommon(this.Context, this.ViewState);
        c.InitialLoggerOfUI(this.GetType());

        artPub         = new ArticlePublisherLogic(null);
        basePage       = (FrontendBasePage)this.Page;
        articleData    = basePage.GetArticleData();
        masterSettings = (IMasterArticleSettings)this.Page.Master;

        ucDataPager.MaxItemCountOfPage            = 12;
        ucDataPager.MaxDisplayCountInPageCodeArea = 5;
        ucDataPager.LinkUrlToReload = string.Concat(Request.AppRelativeCurrentExecutionFilePath, "?", Request.QueryString);
        ucDataPager.Initialize(0, 0);

        if (articleData.IsPreviewMode)
        {
            isLazyLoadingMode = false;
        }
    }
Пример #17
0
        protected override string GetFileFullName(Guid attId)
        {
            string fileFullName          = "";
            string attRootDir            = Server.MapPath(string.Format("~/{0}", ConfigurationManager.AppSettings["AttRootDir"]));
            ArticlePublisherLogic artPub = new ArticlePublisherLogic(null);
            ArticlePicture        pic    = artPub.GetArticlePictureDataForBackend(attId);

            if (pic == null)
            {
                logger.ErrorFormat("can't get data of attId[{0}]", attId);
                return("");
            }

            string filePath      = "ArticlePictures";
            string articleId     = pic.ArticleId.ToString();
            string fileSavedName = pic.FileSavedName;

            fileFullName = string.Format("{0}{1}/{2}/{3}", attRootDir, filePath, articleId, fileSavedName);

            return(fileFullName);
        }
Пример #18
0
    protected void Page_PreInit(object sender, EventArgs e)
    {
        c = new FrontendPageCommon(this.Context, this.ViewState);
        c.InitialLoggerOfUI(this.GetType());

        if (!c.RetrieveArticleIdAndData())
        {
            Response.Redirect(c.ERROR_PAGE);
        }

        articleData    = c.GetArticleData();
        artPub         = new ArticlePublisherLogic(null);
        masterSettings = (IMasterArticleSettings)this.Master;
        masterSettings.ShowReturnToListButton = true;

        if (articleData.ParentId == Guid.Empty)
        {
            masterSettings.SetReturnToListUrl(string.Format("Index.aspx?l={0}", c.qsLangNo));
        }
        else
        {
            masterSettings.SetReturnToListUrl(string.Format("Article.aspx?artid={0}&l={1}", articleData.ParentId, c.qsLangNo));
        }
    }
Пример #19
0
        /// <summary>
        /// 新增附件資料
        /// </summary>
        protected virtual bool InsertData(string postAccount)
        {
            Guid newAttId = Guid.NewGuid();

            AttachFileParams param = new AttachFileParams()
            {
                AttId         = newAttId,
                ArticleId     = contextId.Value,
                FilePath      = filePath,
                FileSavedName = fileSavedName,
                FileSize      = fileSize,
                SortNo        = sortNo,
                FileMIME      = fileMIME,
                DontDelete    = dontDelete,
                PostAccount   = postAccount
            };

            ArticlePublisherLogic artPub = new ArticlePublisherLogic(null);
            bool result = artPub.InsertAttachFileData(param);

            if (result)
            {
                attId = newAttId;

                //zh-TW
                if (result && LangManager.IsEnableEditLangZHTW())
                {
                    AttachFileMultiLangParams paramZhTw = new AttachFileMultiLangParams()
                    {
                        AttId        = attId,
                        CultureName  = LangManager.CultureNameZHTW,
                        AttSubject   = attSubjectZhTw,
                        IsShowInLang = isShowInLangZhTw,
                        PostAccount  = postAccount
                    };

                    result = artPub.InsertAttachFileMultiLangData(paramZhTw);
                }

                //en
                if (result && LangManager.IsEnableEditLangEN())
                {
                    AttachFileMultiLangParams paramEn = new AttachFileMultiLangParams()
                    {
                        AttId        = attId,
                        CultureName  = LangManager.CultureNameEN,
                        AttSubject   = attSubjectEn,
                        IsShowInLang = isShowInLangEn,
                        PostAccount  = postAccount
                    };

                    result = artPub.InsertAttachFileMultiLangData(paramEn);
                }

                if (!result)
                {
                    errState = AttFileErrState.InsertMultiLangDataFailed;
                }
            }
            else
            {
                errState = AttFileErrState.InsertDataFailed;
            }

            return(result);
        }
Пример #20
0
        protected override bool LoadData()
        {
            bool result = false;

            if (attId != Guid.Empty)
            {
                ArticlePublisherLogic artPub = new ArticlePublisherLogic(null);
                ArticlePicture        pic    = artPub.GetArticlePictureDataForBackend(attId);

                if (pic == null)
                {
                    errState = AttFileErrState.LoadDataFailed;
                    return(false);
                }

                contextId     = pic.ArticleId;
                filePath      = GetDirectoryName();
                fileSavedName = pic.FileSavedName;
                fileSize      = pic.FileSize;
                sortNo        = pic.SortNo.Value;
                fileMIME      = pic.FileMIME;
                fileFullName  = string.Format("{0}{1}/{2}", GetAttRootDirectoryFullName(), filePath, fileSavedName);
                postAccount   = pic.PostAccount;
                postDate      = pic.PostDate.Value;

                if (pic.MdfDate.HasValue)
                {
                    mdfAccount = pic.MdfAccount;
                    mdfDate    = pic.MdfDate.Value;
                }

                //zh-TW
                if (LangManager.IsEnableEditLangZHTW())
                {
                    ArticlePictureMultiLang picZhTw = artPub.GetArticlePictureMultiLangDataForBackend(attId, LangManager.CultureNameZHTW);

                    if (picZhTw == null)
                    {
                        errState = AttFileErrState.LoadMultiLangDataFailed;
                        return(false);
                    }

                    attSubjectZhTw   = picZhTw.PicSubject;
                    isShowInLangZhTw = picZhTw.IsShowInLang;

                    if (picZhTw.MdfDate.HasValue)
                    {
                        DateTime mdfDateZhTw = picZhTw.MdfDate.Value;

                        if (!mdfDate.HasValue || mdfDateZhTw > mdfDate.Value)
                        {
                            mdfAccount = picZhTw.MdfAccount;
                            mdfDate    = mdfDateZhTw;
                        }
                    }
                }

                //en
                if (LangManager.IsEnableEditLangEN())
                {
                    ArticlePictureMultiLang picEn = artPub.GetArticlePictureMultiLangDataForBackend(attId, LangManager.CultureNameEN);

                    if (picEn == null)
                    {
                        errState = AttFileErrState.LoadMultiLangDataFailed;
                        return(false);
                    }

                    attSubjectEn   = picEn.PicSubject;
                    isShowInLangEn = picEn.IsShowInLang;

                    if (picEn.MdfDate.HasValue)
                    {
                        DateTime mdfDateEn = picEn.MdfDate.Value;

                        if (!mdfDate.HasValue || mdfDateEn > mdfDate.Value)
                        {
                            mdfAccount = picEn.MdfAccount;
                            mdfDate    = mdfDateEn;
                        }
                    }
                }

                result = true;
            }
            else if (contextId != null)
            {
                // new one
                sortNo = GetNextSortNo();

                result = true;
            }

            return(result);
        }
Пример #21
0
        public override ClientResult ProcessRequest()
        {
            ClientResult cr = null;

            string mdfAccount = c.GetEmpAccount();

            if (string.IsNullOrEmpty(mdfAccount))
            {
                cr = new ClientResult()
                {
                    b   = false,
                    err = "invalid login status"
                };

                return(cr);
            }

            string token = GetParamValue("token");
            ArticleAjaxAuthData authData = null;

            if (!HandleAuthToken(token, c.GetEmpAccount(), out authData))
            {
                cr = new ClientResult()
                {
                    b   = false,
                    err = "invalid token"
                };

                return(cr);
            }

            string artId = GetParamValue("artId");
            Guid   articleId;

            if (!Guid.TryParse(artId, out articleId))
            {
                cr = new ClientResult()
                {
                    b   = false,
                    err = "invalid artId"
                };

                return(cr);
            }

            string areaName = GetParamValue("areaName");
            bool   isShow   = Convert.ToBoolean(GetParamValue("isShow"));
            ArticlePublisherLogic artPub = new ArticlePublisherLogic();

            ArticleUpdateIsAreaShowInFrontStageParams param = new ArticleUpdateIsAreaShowInFrontStageParams()
            {
                ArticleId          = articleId,
                AreaName           = areaName,
                IsShowInFrontStage = isShow,
                MdfAccount         = mdfAccount,
                AuthUpdateParams   = new AuthenticationUpdateParams()
                {
                    CanEditSubItemOfOthers = authData.CanEditSubItemOfOthers,
                    CanEditSubItemOfCrew   = authData.CanEditSubItemOfCrew,
                    CanEditSubItemOfSelf   = authData.CanEditSubItemOfSelf,
                    MyAccount = c.GetEmpAccount(),
                    MyDeptId  = c.GetDeptId()
                }
            };

            bool result = artPub.UpdateArticleIsAreaShowInFrontStage(param);

            if (result)
            {
                cr = new ClientResult()
                {
                    b = true
                };
            }
            else
            {
                cr = new ClientResult()
                {
                    b = false, err = "update failed"
                };
            }

            return(cr);
        }
Пример #22
0
        public override ClientResult ProcessRequest()
        {
            ClientResult cr = null;

            string mdfAccount = c.GetEmpAccount();

            if (string.IsNullOrEmpty(mdfAccount))
            {
                cr = new ClientResult()
                {
                    b   = false,
                    err = "invalid login status"
                };

                return(cr);
            }

            string token = GetParamValue("token");
            ArticleAjaxAuthData authData = null;

            if (!HandleAuthToken(token, c.GetEmpAccount(), out authData))
            {
                cr = new ClientResult()
                {
                    b   = false,
                    err = "invalid token"
                };

                return(cr);
            }

            string artId = GetParamValue("artId");
            Guid   articleId;

            if (!Guid.TryParse(artId, out articleId))
            {
                cr = new ClientResult()
                {
                    b   = false,
                    err = "invalid artId"
                };

                return(cr);
            }

            string sortField     = GetParamValue("sortField");
            string strIsSortDesc = GetParamValue("isSortDesc");
            bool   isSortDesc    = false;

            if (strIsSortDesc == "")
            {
                strIsSortDesc = isSortDesc.ToString();
            }
            else
            {
                isSortDesc = Convert.ToBoolean(strIsSortDesc);
            }

            if (sortField == "")
            {
                strIsSortDesc = "";
            }

            ArticlePublisherLogic artPub = new ArticlePublisherLogic();

            ArticleUpdateSortFieldOfFrontStageParams param = new ArticleUpdateSortFieldOfFrontStageParams()
            {
                ArticleId              = articleId,
                SortFieldOfFrontStage  = sortField,
                IsSortDescOfFrontStage = isSortDesc,
                MdfAccount             = mdfAccount,
                AuthUpdateParams       = new AuthenticationUpdateParams()
                {
                    CanEditSubItemOfOthers = authData.CanEditSubItemOfOthers,
                    CanEditSubItemOfCrew   = authData.CanEditSubItemOfCrew,
                    CanEditSubItemOfSelf   = authData.CanEditSubItemOfSelf,
                    MyAccount = c.GetEmpAccount(),
                    MyDeptId  = c.GetDeptId()
                }
            };

            bool result = artPub.UpdateArticleSortFieldOfFrontStage(param);

            if (result)
            {
                SortFieldInfo sortFieldInfo = new SortFieldInfo()
                {
                    sortField  = sortField,
                    isSortDesc = strIsSortDesc
                };

                cr = new ClientResult()
                {
                    b = true,
                    o = sortFieldInfo
                };
            }
            else
            {
                cr = new ClientResult()
                {
                    b = false, err = "update failed"
                };
            }

            return(cr);
        }