public ActionResult Create()
 {
     var viewModel = new SavePopDashboardViewModel();
     var StatusList = new List<SelectListItem>();
     SelectListItem item1 = new SelectListItem { Value = "OnProgress", Text = "OnProgress" };
     StatusList.Add(item1);
     SelectListItem item2 = new SelectListItem { Value = "Reviewed", Text = "Reviewed" };
     StatusList.Add(item2);
     viewModel.Statuses = StatusList;
     return View(viewModel);
 }
Beispiel #2
0
 public ActionResult Create()
 {
     var viewModel = new SavePopDashboardViewModel();
     var StatusList = new List<SelectListItem>() {
         new SelectListItem{Value = "Not Start Yet", Text = "Not Start Yet"},
         new SelectListItem{Value = "In Progress", Text = "In Progress"},
         new SelectListItem{Value = "Finish", Text = "Finish"}
     };
     viewModel.StatusOptions = StatusList;
     return View(viewModel);
 }
Beispiel #3
0
        public ActionResult Create(SavePopDashboardViewModel viewModel)
        {
            var request = viewModel.MapTo<SavePopDashboardRequest>();
            ProcessAttachment(viewModel, request);

            var response = _popDashboardService.SavePopDashboard(request);
            TempData["IsSuccess"] = response.IsSuccess;
            TempData["Message"] = response.Message;
            if (response.IsSuccess)
            {
                return RedirectToAction("Index");
            }
            return View("Create", viewModel);
        }
 public ActionResult Create(SavePopDashboardViewModel viewModel, HttpPostedFileBase file)
 {
     if (file != null)
     {
         var filename = Path.GetFileName(file.FileName);
         var path = Path.Combine(Server.MapPath("~/Content/popfile/"), filename);
         var url = "/Content/popfile/" + filename;
         file.SaveAs(path);
         viewModel.Attachment = url;
     }
     else
     {
         viewModel.Attachment = null;
     }
     var request = viewModel.MapTo<SavePopDashboardRequest>();
     var response = _popDashboardService.SavePopDashboard(request);
     TempData["IsSuccess"] = response.IsSuccess;
     TempData["Message"] = response.Message;
     if (response.IsSuccess)
     {
         return RedirectToAction("Index");
     }
     return View("Create", viewModel);
 }
Beispiel #5
0
 private void ProcessAttachment(SavePopDashboardViewModel viewModel, SavePopDashboardRequest request)
 {
     if (viewModel.Attachments.Count > 0)
     {
         var validImageTypes = new string[]
         {
             "image/gif",
             "image/jpeg",
             "image/pjpeg",
             "image/png"
         };
         var pdfType = "application/pdf";
         var excelTypes = new string[]{
             "application/vnd.ms-excel",
             "application/msexcel",
             "application/x-msexcel",
             "application/x-ms-excel",
             "application/x-excel",
             "application/x-dos_ms_excel",
             "application/xls",
             "application/x-xls",
             "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
         };
         var docTypes = new string[]{
             "application/msword",
             "application/msword",
             "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
             "application/vnd.openxmlformats-officedocument.wordprocessingml.template",
             "application/vnd.ms-word.document.macroEnabled.12",
             "application/vnd.ms-word.template.macroEnabled.12"
         };
         var pptTypes = new string[]{
            "application/vnd.ms-powerpoint",
             "application/vnd.ms-powerpoint",
             "application/vnd.ms-powerpoint",
             "application/vnd.ms-powerpoint",
             "application/vnd.openxmlformats-officedocument.presentationml.presentation",
             "application/vnd.openxmlformats-officedocument.presentationml.template",
             "application/vnd.openxmlformats-officedocument.presentationml.slideshow",
             "application/vnd.ms-powerpoint.addin.macroEnabled.12",
             "application/vnd.ms-powerpoint.presentation.macroEnabled.12",
             "application/vnd.ms-powerpoint.template.macroEnabled.12",
             "application/vnd.ms-powerpoint.slideshow.macroEnabled.12"
         };
         foreach (var attachment in viewModel.Attachments)
         {
             if (attachment.File != null)
             {
                 //var filename = Path.GetFileName(attachment.File.FileName);
                 string type = null;
                 if (attachment.File.ContentType == pdfType)
                 {
                     type = "pdf";
                 }
                 else if (validImageTypes.Contains(attachment.File.ContentType))
                 {
                     type = "image";
                 }
                 else if (excelTypes.Contains(attachment.File.ContentType))
                 {
                     type = "excel";
                 }
                 else if (docTypes.Contains(attachment.File.ContentType))
                 {
                     type = "doc";
                 }
                 else if (pptTypes.Contains(attachment.File.ContentType))
                 {
                     type = "ppt";
                 }
                 else
                 {
                     type = "blank";
                 }
                 if (!Directory.Exists(Server.MapPath(PathConstant.PopAttachmentPath)))
                 {
                     Directory.CreateDirectory(Server.MapPath(PathConstant.PopAttachmentPath));
                 }
                 var filename = attachment.File.FileName;
                 var uniqueFilename = RandomString(8) + MakeValidFileName(attachment.File.FileName).Replace(" ", "_");
                 var filePath = Path.Combine(Server.MapPath(PathConstant.PopAttachmentPath), uniqueFilename);
                 var url = PathConstant.PopAttachmentPath + "/" + uniqueFilename;
                 attachment.File.SaveAs(filePath);
                 var attachmentReq = new SavePopDashboardRequest.Attachment
                 {
                     Id = attachment.Id,
                     FileName = url,
                     Alias = string.IsNullOrEmpty(attachment.Alias) ? filename : attachment.Alias,
                     Type = type
                 };
                 request.AttachmentFiles.Add(attachmentReq);
             }
             else
             {
                 if (attachment.Id != 0)
                 {
                     var attachmentReq = new SavePopDashboardRequest.Attachment
                     {
                         Id = attachment.Id,
                         Alias = attachment.Alias,
                     };
                     request.AttachmentFiles.Add(attachmentReq);
                 }
             }
         }
     }
 }