public ActionResult FileEditor(long?id, int?topicid, string previousRequest) { FileCreate fileCreate = null; if (id == null) { fileCreate = new FileCreate(); var eikonUserId = UserSettingHelper.GetEikonUserID(Request); var submitter = IPPRepository.GeSubmitterById(eikonUserId); fileCreate.SubmitterID = submitter.ID; fileCreate.SubmiterName = submitter.Name; fileCreate.Submiter = submitter.Email; } else { fileCreate = IPPRepository.GetFileByFileID((long)id); } IPPFile ippFile; fileCreate = fileCreate ?? new FileCreate(); var moduleItems = new List <SelectListItem>(); var topicItems = new List <SelectListItem>(); var ricTypeItems = new List <SelectListItem>(); var uploadTypeItems = HtmlUtil.CookSelectOptions("Ipp_UploadType"); if (id != null) { topicid = IPPRepository.GetTopicIdByFileId(id); } IEnumerable <MODULEINFO> modules = IPPRepository.GetModuleList(); var moduleId = (topicid == null || topicid == 0)? modules.FirstOrDefault().ID : (int)IPPRepository.GetModuleIdByTopicId((int)topicid); var topics = IPPRepository.GetTopicListByModuleId(moduleId); foreach (var m in modules) { moduleItems.Add(new SelectListItem { Selected = m.ID == moduleId ? true : false, Value = m.ID.ToString(), Text = CultureHelper.IsEnglishCulture() ? m.NAMEEN : m.NAMECN }); } var selectedTopicId = topicid == null?topics.FirstOrDefault().ID : topicid; foreach (var m in topics) { topicItems.Add(new SelectListItem { Selected = m.ID == selectedTopicId ? true : false, Value = m.ID.ToString(), Text = CultureHelper.IsEnglishCulture() ? m.NAMEEN : m.NAMECN }); } ricTypeItems.Add(new SelectListItem { Value = "Graph", Text = "Chart" }); ricTypeItems.Add(new SelectListItem { Value = "Quote Object", Text = "Quote" }); ricTypeItems.Add(new SelectListItem { Value = "News", Text = "News" }); var userAttibuteMap = UserSettingHelper.GetUserAttributeMap(Request); var author = userAttibuteMap == null ? "" : userAttibuteMap.First(x => x.name.ToLower() == "FullName".ToLower()).value; var source = userAttibuteMap == null ? "" : userAttibuteMap.First(x => x.name.ToLower() == "AccountName".ToLower()).value; if (UserSettingHelper.IsInternalUser(Request)) { source = "Thomson Reuters"; } ippFile = new IPPFile { Id = fileCreate.ID, Author = string.IsNullOrEmpty(fileCreate.Author) ? author : fileCreate.Author, AuthorRM = fileCreate.AuthorRM, AuthorEmail = fileCreate.AuthorEmail, DescriptionCn = fileCreate.DescrCn, DescriptionEn = fileCreate.DescrEn, UploadType = fileCreate.UploadType, FileType = fileCreate.FileType, WebsiteRic = fileCreate.UploadType == "Upload_Website" ? fileCreate.RIC : "", EikonRic = fileCreate.UploadType == "Upload_Ric" ? fileCreate.RIC : "", ReportDate = fileCreate.ReportDate.ToString("yyyy-MM-dd"), SubmitterID = fileCreate.SubmitterID, SubmiterName = fileCreate.SubmiterName, Submiter = fileCreate.Submiter, Tag = fileCreate.Tag != null?fileCreate.Tag.Replace('|', ';') : fileCreate.Tag, TitleCn = fileCreate.TitleCn, TitleEn = fileCreate.TitleEn, ModuleItems = moduleItems, Topic = selectedTopicId.ToString(), TopicItems = topicItems, UploadTypeItems = uploadTypeItems, RicTypeItems = ricTypeItems, Source = string.IsNullOrEmpty(fileCreate.Source) ? source : fileCreate.Source, PreviousRequest = previousRequest, Status = fileCreate.Status, FileName = fileCreate.FileName, DisplayOrder = fileCreate.DisplayOrder }; return(View(ippFile)); }
public ActionResult Upload(IPPFile ippFile, HttpPostedFileBase file, string submit) { string fileType = ""; string ric = ""; if (ippFile.UploadType == "Upload_File") { if (file != null) { var index = file.FileName.LastIndexOf("."); fileType = file.FileName.Substring(index + 1); } else { var index = ippFile.FileName.LastIndexOf("."); fileType = ippFile.FileName.Substring(index + 1); } } else { fileType = ippFile.FileType; } if (ippFile.UploadType == "Upload_Website") { if (!ippFile.WebsiteRic.Contains("cpurl://")) { if (!ippFile.WebsiteRic.Contains("http")) { ippFile.WebsiteRic = "http://" + ippFile.WebsiteRic; } } ric = ippFile.WebsiteRic; } else if (ippFile.UploadType == "Upload_Ric") { ric = ippFile.EikonRic; } var fileCreate = new FileCreate { ID = ippFile.Id ?? 0, /*0 to indicated 'insert'*/ Author = ippFile.Author, AuthorRM = ippFile.AuthorRM, AuthorEmail = ippFile.AuthorEmail, DescrCn = ippFile.DescriptionCn, DescrEn = ippFile.DescriptionEn, UploadType = ippFile.UploadType, FileType = fileType, RIC = ric, SubmitDate = DateTime.Now, ReportDate = DateTime.Parse(ippFile.ReportDate), SubmitterID = ippFile.SubmitterID, Tag = ippFile.Tag == null ? "" : ippFile.Tag.Replace(';', '|').Replace(';', '|'), TitleCn = ippFile.TitleCn, TitleEn = ippFile.TitleEn, TopicID = Convert.ToInt32(ippFile.Topic), Source = ippFile.Source, FileName = ippFile.FileName, DisplayOrder = ippFile.DisplayOrder }; if (file != null && file.ContentLength > 0) { fileCreate.Doc = new byte[file.ContentLength]; file.InputStream.Read(fileCreate.Doc, 0, file.ContentLength); } fileCreate.Status = submit == Resources.IPP.IPP_Save ? 0 : -1; //-1: publish IPPRepository.UploadFile(fileCreate); switch (ippFile.PreviousRequest) { case "fileBrowser": return(RedirectToAction("FileBrowser", new { id = fileCreate.TopicID })); case "prePublish": return(Redirect("~/ipp/MyDocument/prePublish")); case "published": return(Redirect("~/ipp/MyDocument/published")); case "approved": return(Redirect("~/ipp/MyDocument/approved")); default: return(RedirectToAction("FileBrowser", new { id = fileCreate.TopicID })); } }