コード例 #1
0
ファイル: IssueController.cs プロジェクト: zz110/WKT2015
        public ActionResult UpdateLocalDataAjax(Int64 PKID)
        {
            //获取站点配置信息
            SiteConfigQuery sitequery = new SiteConfigQuery();

            sitequery.JournalID = CurAuthor.JournalID;
            ISiteConfigFacadeService siteservice = ServiceContainer.Instance.Container.Resolve <ISiteConfigFacadeService>();
            SiteConfigEntity         model       = siteservice.GetSiteConfigModel(sitequery);
            //获取DOI注册日志实体
            IIssueFacadeService service = ServiceContainer.Instance.Container.Resolve <IIssueFacadeService>();
            DoiRegLogQuery      query   = new DoiRegLogQuery();

            query.PKID      = PKID;
            query.JournalID = CurAuthor.JournalID;
            string DoiFileName = service.GetDoiRegLog(query).DoiFileName.Trim();

            //保存DOI注册结果
            DoiRegResultFilePath = System.DateTime.Now.ToString("yyyy-MM-dd-HH-mm-ss-fff") + ".xml";
            WKT.Common.Utils.DoiUtils.GetDoiRegResult(DoiFileName, model.DoiUserName, model.DoiUserPwd, Utils.GetMapPath(SiteConfig.RootPath + "/data/" + DoiRegResultFilePath));

            XElement root    = XElement.Load(Utils.GetMapPath(SiteConfig.RootPath + "/data/" + DoiRegResultFilePath), LoadOptions.SetLineInfo);
            XElement journal = root.Element("body").Element("journal");

            var Articles = from Article in journal.Elements("journal_article")
                           select Article;

            foreach (var Article in Articles)
            {
                string doi       = Article.Element("doi_data").Element("doi").Value;
                string resource  = Article.Element("doi_data").Element("resource").Value;
                Int64  ContentID = Convert.ToInt64(resource.Substring(resource.LastIndexOf('=') + 1, resource.Length - resource.LastIndexOf('=') - 4));

                IIssueFacadeService IssueService       = ServiceContainer.Instance.Container.Resolve <IIssueFacadeService>();
                IssueContentEntity  issueContentEntity = new IssueContentEntity();
                //获取期刊实体
                IssueContentQuery IssueQuery = new IssueContentQuery();
                IssueQuery.JournalID   = CurAuthor.JournalID;
                IssueQuery.contentID   = ContentID;
                IssueQuery.IsAuxiliary = true;
                issueContentEntity     = IssueService.GetIssueContentModel(IssueQuery);
                //更新期刊DOI数据
                issueContentEntity.DOI      = doi;
                issueContentEntity.isRegDoi = true;
                ExecResult result = IssueService.SaveIssueContent(issueContentEntity);
            }
            //更新DOI注册日志
            DoiRegLogEntity doiRegLogEntity = new DoiRegLogEntity();

            doiRegLogEntity.State    = "已更新";
            doiRegLogEntity.PKID     = PKID;
            doiRegLogEntity.isUpdate = true;
            service.SaveDoiRegLog(doiRegLogEntity);
            //删除临时文件
            System.IO.File.Delete(Utils.GetMapPath(SiteConfig.RootPath + "/data/" + DoiRegResultFilePath));
            return(Json(new { flag = 1 }));
        }
コード例 #2
0
        public JsonResult DownStat(long CID)
        {
            try
            {
                IssueContentQuery issueCQuery = new IssueContentQuery();
                issueCQuery.contentID = CID;
                issueCQuery.JournalID = JournalID;
                IIssueFacadeService service     = ServiceContainer.Instance.Container.Resolve <IIssueFacadeService>();
                IssueContentEntity  issueEntity = service.GetIssueContentModel(issueCQuery);
                if (issueEntity == null)
                {
                    return(Json(new { flag = "NOfile" }));
                }
                else
                {
                    if (!string.IsNullOrEmpty(issueEntity.FilePath))
                    {
                        string downPath = GetUploadPath(issueEntity.FilePath);
                        if (!System.IO.File.Exists(downPath))
                        {
                            return(Json(new { flag = "NOfile" }));
                        }
                        //更新下载次数
                        service.UpdateIssueContentDownloads(issueCQuery);
                        # region 记录下载日志

                        try
                        {
                            IssueDownLogEntity issueLogEntity = new IssueDownLogEntity();
                            issueLogEntity.ContentID = CID;
                            issueLogEntity.JournalID = JournalID;
                            //issueLogEntity.IP = Utils.GetRealIP();
                            issueLogEntity.Daytime  = TypeParse.ToInt(DateTime.Now.ToString("yyyyMMdd"));
                            issueLogEntity.Year     = DateTime.Now.Year;
                            issueLogEntity.Month    = DateTime.Now.Month;
                            issueLogEntity.AuthorID = 0;

                            service.SaveDownloadLog(issueLogEntity);
                        }
                        catch
                        {
                        }

                        # endregion

                        return(Json(new { flag = "success", URL = "http://" + Request.Url.Host + issueEntity.FilePath }));
                    }
                    else
                    {
                        return(Json(new { flag = "NOfile" }));
                    }
                }
コード例 #3
0
ファイル: IssueController.cs プロジェクト: zz110/WKT2015
        private IssueContentEntity GetIssueContentModel(Int64 contentID)
        {
            IssueContentEntity model = null;

            if (contentID > 0)
            {
                IssueContentQuery query = new IssueContentQuery();
                query.JournalID   = CurAuthor.JournalID;
                query.contentID   = contentID;
                query.IsAuxiliary = true;
                IIssueFacadeService service = ServiceContainer.Instance.Container.Resolve <IIssueFacadeService>();
                model = service.GetIssueContentModel(query);
            }
            if (model == null)
            {
                model = new IssueContentEntity();
            }
            return(model);
        }
コード例 #4
0
        /// <summary>
        /// 查看期刊
        /// </summary>
        /// <param name="ID"></param>
        /// <returns></returns>
        public ActionResult Show(long ID)
        {
            IIssueFacadeService service      = ServiceContainer.Instance.Container.Resolve <IIssueFacadeService>();
            IssueContentQuery   contentQuery = new IssueContentQuery();

            contentQuery.JournalID = JournalID;
            contentQuery.contentID = ID;
            IssueContentEntity contentEntity = service.GetIssueContentModel(contentQuery);

            if (contentEntity == null)
            {
                contentEntity = new IssueContentEntity();
            }
            else
            {
                service.UpdateIssueContentHits(contentQuery);

                # region 记录浏览日志

                if (!string.IsNullOrEmpty(ConfigurationManager.AppSettings["RecodeViewLog"]))
                {
                    try
                    {
                        IssueViewLogEntity issueLogEntity = new IssueViewLogEntity();
                        issueLogEntity.ContentID = ID;
                        issueLogEntity.JournalID = JournalID;
                        issueLogEntity.IP        = Utils.GetRealIP();
                        issueLogEntity.Daytime   = TypeParse.ToInt(DateTime.Now.ToString("yyyyMMdd"));
                        issueLogEntity.Year      = DateTime.Now.Year;
                        issueLogEntity.Month     = DateTime.Now.Month;
                        issueLogEntity.AuthorID  = 0;
                        service.SaveViewLog(issueLogEntity);
                    }
                    catch
                    {
                    }
                }
                # endregion
            }