Example #1
0
        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));
        }
Example #2
0
        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 }));
            }
        }