public ContributionInfoEntity GetModel(ContributionInfoQuery query)
        {
            IContributionInfoService service = ServiceContainer.Instance.Container.Resolve <IContributionInfoService>();
            ContributionInfoEntity   model   = service.GetContributionInfo(query);

            return(model);
        }
        public ExecResult SaveFormat(ContributionInfoEntity model)
        {
            IContributionInfoService service = ServiceContainer.Instance.Container.Resolve <IContributionInfoService>();
            ExecResult result = service.SaveFormat(model);

            return(result);
        }
        public bool Update(ContributionInfoEntity model)
        {
            IContributionInfoService service = ServiceContainer.Instance.Container.Resolve <IContributionInfoService>();
            bool result = service.UpdateContributionInfo(model);

            return(result);
        }
        public ExecResult Submission(ContributionInfoEntity model)
        {
            IContributionInfoService service = ServiceContainer.Instance.Container.Resolve <IContributionInfoService>();
            ExecResult result = service.AuthorPlatform(model);

            return(result);
        }
Example #5
0
        /// <summary>
        /// 保存稿件格式修改
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public ExecResult SaveContributionInfoFormat(ContributionInfoEntity model)
        {
            HttpClientHelper clientHelper = new HttpClientHelper();
            ExecResult       result       = clientHelper.Post <ExecResult, ContributionInfoEntity>(GetAPIUrl(APIConstant.CONTRIBUTIONINFO_SAVEFORMAT), model);

            return(result);
        }
Example #6
0
        /// <summary>
        /// 获取稿件实体
        /// </summary>
        /// <param name="query"></param>
        /// <returns></returns>
        public ContributionInfoEntity GetContributionInfoModel(ContributionInfoQuery query)
        {
            HttpClientHelper       clientHelper = new HttpClientHelper();
            ContributionInfoEntity model        = clientHelper.Post <ContributionInfoEntity, ContributionInfoQuery>(GetAPIUrl(APIConstant.CONTRIBUTIONINFO_GETMODEL), query);

            return(model);
        }
Example #7
0
        /// <summary>
        /// 提交审稿单
        /// </summary>
        /// <param name="auditBillEntity"></param>
        /// <returns></returns>
        public bool SubmitAuditBill(AuditBillEntity auditBillEntity)
        {
            bool flag = false;

            // 得到审稿操作信息
            FlowActionQuery actionQuery = new FlowActionQuery();

            actionQuery.ActionID  = auditBillEntity.ActionID;
            actionQuery.JournalID = auditBillEntity.JournalID;
            FlowActionEntity actionEntity = new FlowActionService().GetFlowActionEntity(actionQuery);

            // 得到审稿状态及配置信息
            FlowStatusQuery flowStatusQuery = new FlowStatusQuery();

            flowStatusQuery.JournalID = auditBillEntity.JournalID;
            flowStatusQuery.StatusID  = actionEntity == null ? 0 : actionEntity.StatusID;
            FlowStep flowStep = new FlowStatusService().GetFlowStep(flowStatusQuery);

            //得到稿件信息
            ContributionInfoEntity contributionInfoEntity = new ContributionInfoEntity();
            ContributionInfoQuery  query = new ContributionInfoQuery();

            query.JournalID = auditBillEntity.JournalID;
            query.CID       = auditBillEntity.CID;
            ContributionInfoService service = new ContributionInfoService();

            contributionInfoEntity = service.GetContributionInfo(query);

            if (contributionInfoEntity.AuthorID == Convert.ToInt64(auditBillEntity.ReveiverList.Split(',')[0]))
            {
                auditBillEntity.ReveiverList = contributionInfoEntity.AuthorID.ToString();
                flag = FlowCirculationBusProvider.ProcessFlowCirulation(auditBillEntity);
            }
            else
            {
                flag = FlowCirculationBusProvider.ProcessFlowCirulation(auditBillEntity);
            }


            if (flag)
            {
                if (flowStep.FlowConfig != null)
                {
                    if (flowStep.FlowConfig.IsEmailRemind)
                    {
                        /// TODO:记录定期发送邮件的任务
                    }

                    if (flowStep.FlowConfig.IsSMSRemind)
                    {
                        /// TODO:记录定期发送短信的任务
                    }
                }
            }
            return(flag);
        }
Example #8
0
        public ActionResult SaveFormat(ContributionInfoEntity model)
        {
            IAuthorPlatformFacadeService service = ServiceContainer.Instance.Container.Resolve <IAuthorPlatformFacadeService>();

            model.JournalID = CurAuthor.JournalID;
            model.AuthorID  = CurAuthor.GroupID == 1 ? model.AuthorID : CurAuthor.AuthorID;
            ExecResult result = service.SaveContributionInfoFormat(model);

            return(Json(new { result = result.result, msg = result.msg }));
        }
Example #9
0
        public ActionResult Save(ContributionInfoEntity model)
        {
            IAuthorPlatformFacadeService service = ServiceContainer.Instance.Container.Resolve <IAuthorPlatformFacadeService>();

            model.JournalID = CurAuthor.JournalID;
            model.AuthorID  = CurAuthor.GroupID == 1?model.AuthorID:CurAuthor.AuthorID;
            model.AddDate   = string.IsNullOrEmpty(model.CNumber) ? System.DateTime.Now : model.AddDate;
            ExecResult result = service.SaveContributionInfo(model);

            return(Json(new { result = result.result, msg = result.msg, CID = result.resultID }));
        }
Example #10
0
        /// <summary>
        /// 发送消息
        /// </summary>
        /// <returns></returns>
        public ActionResult SendSms(Int32 Status, Int64 CID)
        {
            ViewBag.Status = Status;
            ContributionInfoEntity model = GetModel(CID);

            if (model == null)
            {
                model = new ContributionInfoEntity();
            }
            return(View(model));
        }
Example #11
0
        /// <summary>
        /// 审稿相关数据处理
        /// </summary>
        /// <param name="model"></param>
        private void GetFlow(ContributionInfoEntity model, EnumContributionStatus enumStatus)
        {
            FlowCirculationBusiness business = new FlowCirculationBusiness();
            CirculationEntity       item     = new CirculationEntity();

            item.CID               = model.CID;
            item.AuthorID          = model.AuthorID;
            item.CNumber           = model.CNumber;
            item.JournalID         = model.JournalID;
            item.SubjectCategoryID = model.SubjectCat;
            item.EnumCStatus       = enumStatus;
            item.CPath             = model.ContributePath;
            item.FigurePath        = model.FigurePath;
            item.OtherPath         = model.IntroLetterPath;
            business.AuthorContribution(item);
        }
Example #12
0
        /// <summary>
        /// 保存稿件格式修改
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public ExecResult SaveFormat(ContributionInfoEntity model)
        {
            ExecResult result = new ExecResult();
            bool       flag   = ContributionInfoBusProvider.SaveFormat(model);

            if (flag)
            {
                result.result = EnumJsonResult.success.ToString();
                result.msg    = "修改稿件格式成功!";
            }
            else
            {
                result.result = EnumJsonResult.failure.ToString();
                result.msg    = "修改稿件格式失败!";
            }
            return(result);
        }
Example #13
0
        /// <summary>
        /// 组装数据
        /// </summary>
        /// <param name="list"></param>
        /// <returns></returns>
        private List <MessageRecodeEntity> GetMsgList(List <MessageRecodeEntity> list, MessageRecodeQuery mQuery)
        {
            if (list == null || list.Count == 0)
            {
                return(list);
            }
            AuthorInfoService service = new AuthorInfoService();
            AuthorInfoEntity  entity  = new AuthorInfoEntity();
            AuthorInfoQuery   query   = new AuthorInfoQuery();

            query.JournalID = mQuery.JournalID;
            var dict = service.AuthorInfoBusProvider.GetAuthorDict(query);


            //获取稿件作者数据字典
            ContributionInfoService cservice = new ContributionInfoService();
            ContributionInfoEntity  centity  = new ContributionInfoEntity();
            ContributionInfoQuery   cquery   = new ContributionInfoQuery();

            cquery.JournalID = mQuery.JournalID;
            cquery.CID       = (long)mQuery.CID;
            var cdict = cservice.GetContributionAuthorDict(cquery);

            centity = cservice.GetContributionInfo(cquery);

            foreach (var mode in list)
            {
                mode.SendUserName = dict.GetValue(mode.SendUser, mode.SendUser.ToString());
                entity            = service.GetAuthorInfo(mode.ReciveUser);
                if (entity != null)
                {
                    mode.ReciveUserName = dict.GetValue(mode.ReciveUser, mode.ReciveUser.ToString());
                }
                else
                {
                    mode.ReciveUserName = cdict.GetValue(mode.ReciveUser, mode.ReciveUser.ToString());
                }
            }
            return(list);
        }
Example #14
0
        protected void Page_Load(object sender, EventArgs e)
        {
            long CID = TypeParse.ToLong(Request.QueryString["CID"], 0);

            if (CID <= 0)
            {
                Response.Write("请选择正确的稿件");
            }
            IFlowFacadeService flowService = ServiceContainer.Instance.Container.Resolve <IFlowFacadeService>();
            // 附件路径
            FlowLogQuery logQuery = new FlowLogQuery();

            logQuery.JournalID = SiteConfig.SiteID;
            logQuery.FlowLogID = 0;
            logQuery.CID       = CID;
            string _filePath = flowService.GetFlowLogAttachment(logQuery);
            string fileName  = "";

            if (!string.IsNullOrEmpty(_filePath))
            {
                fileName = _filePath.Substring(_filePath.LastIndexOf("/") + 1);
            }

            string downPath = GetUploadPath(_filePath);

            if (!System.IO.File.Exists(downPath))
            {
                Response.Write("文件不存在");
            }
            if (!fileName.Contains("."))
            {
                fileName += Path.GetExtension(downPath);
            }

            IAuthorPlatformFacadeService service = ServiceContainer.Instance.Container.Resolve <IAuthorPlatformFacadeService>();
            ContributionInfoEntity       cEntity = service.GetContributionInfoModel(new ContributionInfoQuery {
                JournalID = SiteConfig.SiteID, CID = CID
            });
            string docTitle = "";

            if (cEntity != null)
            {
                docTitle = cEntity.Title + Path.GetExtension(downPath);
            }
            else
            {
                docTitle = fileName;
            }

            FileStream fs = new FileStream(downPath, FileMode.Open);

            //fs.Seek(0, SeekOrigin.Begin);
            byte[] bytes = new byte[(int)fs.Length];
            fs.Read(bytes, 0, bytes.Length);
            fs.Close();
            Response.ContentType = "application/octet-stream";
            //通知浏览器下载文件而不是打开
            Response.AddHeader("Content-Disposition", "attachment;  filename=" + docTitle);
            Response.AddHeader("Content-Length", bytes.Length.ToString());
            Response.ContentEncoding = Encoding.UTF8;
            Response.BinaryWrite(bytes);
            Response.Flush();
            Response.End();
        }
Example #15
0
        /// <summary>
        /// 投稿
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public ExecResult AuthorPlatform(ContributionInfoEntity model)
        {
            ExecResult execResult = new ExecResult();

            if (ContributionTitleIsExists(model.JournalID, model.CID, model.Title))
            {
                execResult.result   = EnumJsonResult.error.ToString();
                execResult.msg      = "该稿件名称已经存在,请重新填写!";
                execResult.resultID = model.CID;
                return(execResult);
            }
            string msg   = string.Empty;
            bool   isAdd = false;

            if (model.CID == 0)
            {
                if (model.Status == -2)
                {
                    msg = "保存稿件信息到格式修改";
                }
                else if (model.Status == -1)
                {
                    msg = "保存稿件为草稿";
                }
                else
                {
                    msg = "投稿";
                }
                // 只有新投稿时才产生稿件编号
                if (model.Status == 0 && string.IsNullOrEmpty(model.CNumber))
                {
                    ContributeSetService service = new ContributeSetService();
                    QueryBase            query   = new QueryBase();
                    query.JournalID = model.JournalID;
                    model.CNumber   = service.GetContributeNumber(query);
                }
                isAdd = true;
            }
            else
            {
                if (model.OldStatus == -3 || model.OldStatus == 100)
                {
                    model.Status = 10;
                }
                msg = "编辑稿件信息";
                if (string.IsNullOrEmpty(model.CNumber))
                {
                    ContributeSetService service = new ContributeSetService();
                    QueryBase            query   = new QueryBase();
                    query.JournalID = model.JournalID;
                    model.CNumber   = service.GetContributeNumber(query);
                }
            }
            model.CID = ContributionInfoBusProvider.AuthorPlatform(model);
            if (model.CID > 0)
            {
                if (isAdd)
                {
                    GetFlow(model, EnumContributionStatus.New);
                }
                else
                {
                    if (model.OldStatus == -3)
                    {
                        GetFlow(model, EnumContributionStatus.Retreat);
                    }
                    else if (model.OldStatus == 100)
                    {
                        GetFlow(model, EnumContributionStatus.Proof);
                    }
                }
                execResult.result = EnumJsonResult.success.ToString();
                execResult.msg    = msg + "成功!";
            }
            else
            {
                execResult.result = EnumJsonResult.failure.ToString();
                execResult.msg    = msg + "失败!";
            }
            execResult.resultID  = model.CID;
            execResult.resultStr = model.CNumber;
            return(execResult);
        }
Example #16
0
 /// <summary>
 /// 编辑稿件表信息
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 public bool UpdateContributionInfo(ContributionInfoEntity model)
 {
     return(ContributionInfoBusProvider.UpdateContributionInfo(model));
 }
Example #17
0
 /// <summary>
 /// 新增稿件表信息
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 public bool AddContributionInfo(ContributionInfoEntity model)
 {
     return(ContributionInfoBusProvider.AddContributionInfo(model));
 }
Example #18
0
 /// <summary>
 /// 编辑稿件表信息
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 public bool UpdateContributionInfo(ContributionInfoEntity model)
 {
     return(ContributionInfoDataAccess.Instance.UpdateContributionInfo(model));
 }
Example #19
0
 /// <summary>
 /// 保存稿件格式修改
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 public bool SaveFormat(ContributionInfoEntity model)
 {
     return(ContributionInfoDataAccess.Instance.SaveFormat(model));
 }
Example #20
0
 /// <summary>
 /// 投稿
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 public Int64 AuthorPlatform(ContributionInfoEntity model)
 {
     return(ContributionInfoDataAccess.Instance.AuthorPlatform(model));
 }
Example #21
0
        /// <summary>
        /// 投稿
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public ExecResult SaveContributionInfo(ContributionInfoEntity model)
        {
            HttpClientHelper clientHelper = new HttpClientHelper();
            ExecResult       result       = clientHelper.Post <ExecResult, ContributionInfoEntity>(GetAPIUrl(APIConstant.CONTRIBUTIONINFO_SAVE), model);

            if (result.result.Equals(EnumJsonResult.success.ToString()) && model.CID == 0 && model.Status != -1)//新投稿,不是草稿
            {
                #region 投稿回执
                Action action = () =>
                {
                    try
                    {
                        SiteConfigFacadeAPIService service = new SiteConfigFacadeAPIService();

                        MessageTemplateQuery queryTemp = new MessageTemplateQuery();
                        queryTemp.JournalID = model.JournalID;
                        queryTemp.TCategory = -5;    //回执
                        var tempList = service.GetMessageTempList(queryTemp).ToList();
                        if (tempList == null)
                        {
                            return;
                        }
                        var EmailModel = tempList.Find(p => p.TType == 1);
                        var SmsModel   = tempList.Find(p => p.TType == 2);
                        if (EmailModel == null && SmsModel == null)
                        {
                            return;
                        }

                        MessageRecodeEntity LogModel = new MessageRecodeEntity();
                        LogModel.JournalID = model.JournalID;
                        LogModel.SendType  = -5;
                        LogModel.SendUser  = model.AuthorID;

                        IDictionary <string, string> dict = service.GetEmailVariable();
                        var user = new AuthorFacadeAPIService().GetAuthorInfo(new AuthorInfoQuery()
                        {
                            JournalID = model.JournalID, AuthorID = model.AuthorID
                        });
                        dict["${接收人}$"]  = user.RealName;
                        dict["${邮箱}$"]   = user.LoginName;
                        dict["${手机}$"]   = user.Mobile;
                        dict["${稿件编号}$"] = result.resultStr;
                        dict["${稿件标题}$"] = model.Title;
                        dict["$稿件主键$"]   = result.resultID.ToString();

                        ExecResult execResult = new ExecResult();
                        if (EmailModel != null)
                        {
                            LogModel.MsgType = 1;
                            execResult       = service.SendEmailOrSms(new Dictionary <Int64, IDictionary <string, string> >()
                            {
                                { model.AuthorID, dict }
                            }, LogModel);
                        }
                        if (SmsModel != null)
                        {
                            LogModel.MsgType = 2;
                            execResult       = service.SendEmailOrSms(new Dictionary <Int64, IDictionary <string, string> >()
                            {
                                { model.AuthorID, dict }
                            }, LogModel);
                        }

                        if (!execResult.result.Equals(EnumJsonResult.success.ToString()))
                        {
                            throw new Exception(execResult.msg);
                        }
                    }
                    catch (Exception ex)
                    {
                        LogProvider.Instance.Error("发送投稿回执失败,稿件编码【" + result.resultStr + "】:" + ex.ToString());
                    }
                };
                action.BeginInvoke(null, null);
                #endregion
            }
            return(result);
        }