Example #1
0
        public ActionResult Delete(UploadReferencebooksEditViewModel viewModel)
        {
            string pdfUploadPath = Server.MapPath(string.Concat("~/PDF/", Constants.UploadReferencebooksPDF));

            if (ModelState.IsValid)
            {
                var result = _uploadReferencebooksService.Delete(viewModel.UploadReferencebooksId);
                if (result.Success)
                {
                    var pathToDeletepdf = Path.Combine(pdfUploadPath, string.Format("{0}", viewModel.FileName));
                    if ((System.IO.File.Exists(pathToDeletepdf)))
                    {
                        System.IO.File.Delete(pathToDeletepdf);
                    }
                    Success(result.Results.FirstOrDefault().Message);
                    ModelState.Clear();
                }
                else
                {
                    _logger.Warn(result.Results.FirstOrDefault().Message);
                    Warning(result.Results.FirstOrDefault().Message, true);
                }
            }
            return(RedirectToAction("Index"));
        }
Example #2
0
        public ActionResult Edit(UploadReferencebooksEditViewModel viewModel)
        {
            var cmsResult     = new CMSResult();
            var classResult   = _apiService.GetClasses();
            var classes       = JsonConvert.DeserializeObject <List <ClassProjection> >(classResult);
            var boardResult   = _apiService.GetBoards();
            var boards        = JsonConvert.DeserializeObject <List <BoardProjection> >(boardResult);
            var classId       = classes.Where(x => x.ClassId == viewModel.ClassId).Select(y => y.ClassId).FirstOrDefault();
            var subjectResult = _apiService.GetSubjects(classId);
            var subjects      = JsonConvert.DeserializeObject <List <SubjectProjection> >(subjectResult);
            var boardId       = boards.Where(x => x.BoardId == viewModel.BoardId).Select(y => y.BoardId).FirstOrDefault();
            var subjectId     = subjects.Where(x => x.SubjectId == viewModel.SubjectId).Select(y => y.SubjectId).FirstOrDefault();

            ViewBag.classList = (from b in classes
                                 select new SelectListItem
            {
                Value = b.ClassId.ToString(),
                Text = b.Name
            }).ToList();

            ViewBag.boardList = (from b in boards
                                 select new SelectListItem
            {
                Value = b.BoardId.ToString(),
                Text = b.Name
            }).ToList();

            ViewBag.subjectList = (from b in subjects
                                   select new SelectListItem
            {
                Value = b.SubjectId.ToString(),
                Text = b.Name
            }).ToList();

            ViewBag.ClassId   = classId;
            ViewBag.BoardId   = boardId;
            ViewBag.SubjectId = subjectId;
            if (ModelState.IsValid)
            {
                var uploadReferencebooks = _repository.Project <UploadReferencebooks, bool>(Referencebooks => (from p in Referencebooks where p.UploadReferencebooksId == viewModel.UploadReferencebooksId select p).Any());
                if (!uploadReferencebooks)
                {
                    _logger.Warn(string.Format("Referencebooks not exists."));
                    Danger(string.Format("Referencebooks not exists."));
                }
                if (viewModel.FilePath != null)
                {
                    if (viewModel.FilePath.ContentLength == 0)
                    {
                        cmsResult.Results.Add(new Result {
                            Message = "Pdf is required", IsSuccessful = false
                        });
                    }
                    if (!Constants.PdfType.Contains(viewModel.FilePath.ContentType))
                    {
                        cmsResult.Results.Add(new Result {
                            Message = "Please choose pdf file.", IsSuccessful = false
                        });
                    }
                }

                string logoPath = "";
                if (viewModel.LogoPath != null)
                {
                    logoPath = string.Format(@"~/Images/{0}/{1}", Common.Constants.UploadReferencebooksLogo, viewModel.LogoName.Split('/')[3]);
                    if (viewModel.LogoPath.ContentLength == 0)
                    {
                        cmsResult.Results.Add(new Result {
                            Message = "Logo is required", IsSuccessful = false
                        });
                    }
                    if (!Common.Constants.ImageTypes.Contains(viewModel.LogoPath.ContentType))
                    {
                        _logger.Warn("Please choose either a JPEG, JPG or PNG image.");
                        Warning("Please choose either a JPEG, JPG or PNG image..", true);
                        return(View(viewModel));
                    }
                }
                else
                {
                    logoPath = null;
                }

                var fileNameSelect = (viewModel.FilePath != null) ? viewModel.FilePath.FileName : viewModel.FileName;
                var result         = _uploadReferencebooksService.Update(new UploadReferencebooks
                {
                    UploadReferencebooksId = viewModel.UploadReferencebooksId,
                    Title       = viewModel.Title,
                    ClassName   = viewModel.ClassName,
                    BoardName   = viewModel.BoardName,
                    SubjectName = viewModel.SubjectName,
                    FileName    = fileNameSelect,
                    UploadDate  = viewModel.UploadDate,
                    LogoName    = (viewModel.LogoPath != null) ? logoPath : viewModel.LogoName,
                    IsVisible   = viewModel.IsVisible,
                    ClassId     = viewModel.ClassId,
                    BoardId     = viewModel.BoardId,
                    SubjectId   = viewModel.SubjectId
                });

                if (result.Success)
                {
                    if (viewModel.LogoPath != null)
                    {
                        string ReferencebooksLogoPath = Server.MapPath(string.Concat("~/Images/", Common.Constants.UploadReferencebooksLogo));
                        var    pathToSave             = Path.Combine(ReferencebooksLogoPath, viewModel.LogoName.Split('/')[3]);
                        viewModel.LogoPath.SaveAs(pathToSave);
                    }
                    if (viewModel.FilePath != null)
                    {
                        string pdfUploadPath   = Server.MapPath(string.Concat("~/PDF/", Constants.UploadResultPDF));
                        var    pathToDeletepdf = Path.Combine(pdfUploadPath, string.Format("{0}", viewModel.FileName));
                        if ((System.IO.File.Exists(pathToDeletepdf)))
                        {
                            System.IO.File.Delete(pathToDeletepdf);
                        }

                        if (!Directory.Exists(pdfUploadPath))
                        {
                            Directory.CreateDirectory(pdfUploadPath);
                        }
                        var pathToSaveQI = Path.Combine(pdfUploadPath, string.Format("{0}", viewModel.FilePath.FileName));

                        viewModel.FilePath.SaveAs(pathToSaveQI);
                    }

                    Success(result.Results.FirstOrDefault().Message);
                    ModelState.Clear();
                    return(RedirectToAction("Index"));
                }
                else
                {
                    _logger.Warn(result.Results.FirstOrDefault().Message);
                    Warning(result.Results.FirstOrDefault().Message, true);
                }
            }
            return(View(viewModel));
        }