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 })); }
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" })); } }
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); }
/// <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 }