public IActionResult PAN([FromServices] ICurrentUsers currentUsers, enmSaveStatus?_enmSaveStatus, enmMessage?_enmMessage) { mdlPAN mdl = new mdlPAN(); if (_enmSaveStatus != null) { ViewBag.SaveStatus = (int)_enmSaveStatus.Value; ViewBag.Message = _enmMessage?.GetDescription(); } string filePath = _config["FileUpload:PAN"]; var path = Path.Combine( Directory.GetCurrentDirectory(), "wwwroot/" + filePath); var masterData = _context.TblTcPanDetails.Where(p => p.TcNid == currentUsers.TcNid && !p.Isdeleted).FirstOrDefault(); if (masterData != null) { mdl.ApprovalRemarks = masterData.ApprovalRemarks; mdl.IsApproved = masterData.IsApproved; mdl.PanName = masterData.PANName; mdl.PANNo = masterData.PANNo; mdl.Remarks = masterData.Remarks; mdl.fileData = new List <byte[]>(); var files = masterData.UploadImages.Split(","); foreach (var file in files) { mdl.fileData.Add(System.IO.File.ReadAllBytes(string.Concat(path, file))); } } return(View(mdl)); }
public async Task <IActionResult> PANAsync([FromServices] ICurrentUsers currentUsers, mdlPAN mdl) { string filePath = _config["FileUpload:PAN"]; var path = Path.Combine( Directory.GetCurrentDirectory(), "wwwroot/" + filePath); if (mdl.UploadImages == null || mdl.UploadImages.Count == 0 || mdl.UploadImages[0] == null || mdl.UploadImages[0].Length == 0) { ModelState.AddModelError("IDDocumentUpload", "Invalid Files"); ViewBag.SaveStatus = enmSaveStatus.danger; ViewBag.Message = enmMessage.InvalidData.GetDescription(); } var supportedTypes = new[] { "jpg", "jpeg", "png" }; var fileExt = System.IO.Path.GetExtension(mdl.UploadImages[0].FileName).Substring(1); if (!supportedTypes.Contains(fileExt)) { ModelState.AddModelError("IDDocumentUpload", "Invalid File Extension - Only Upload jpg/jpeg/png File"); ViewBag.SaveStatus = enmSaveStatus.danger; ViewBag.Message = enmMessage.InvalidData.GetDescription(); } if (ModelState.IsValid) { List <string> AllFileName = new List <string>(); bool exists = System.IO.Directory.Exists(path); if (!exists) { System.IO.Directory.CreateDirectory(path); } foreach (var file in mdl.UploadImages) { var filename = Guid.NewGuid().ToString() + "." + fileExt; using (var stream = new FileStream(string.Concat(path, filename), FileMode.Create)) { AllFileName.Add(filename); await file.CopyToAsync(stream); } } var ExistingData = _context.TblTcPanDetails.FirstOrDefault(p => !p.Isdeleted && p.TcNid == currentUsers.TcNid && p.IsApproved == enmApprovalType.Rejected); if (ExistingData != null) { ExistingData.Isdeleted = true; _context.TblTcPanDetails.Update(ExistingData); } if (_context.TblTcPanDetails.Any(p => p.TcNid == currentUsers.TcNid && !p.Isdeleted)) { ModelState.AddModelError("", "Request Already Submited"); ViewBag.SaveStatus = enmSaveStatus.warning; ViewBag.Message = enmMessage.AlreadyExists.GetDescription(); } else { _context.TblTcPanDetails.Add(new tblTcPanDetails { PANNo = mdl.PANNo, PANName = mdl.PanName, UploadImages = string.Join <string>(",", AllFileName), CreatedBy = 0, CreatedDt = DateTime.Now, Remarks = mdl.Remarks, IsApproved = enmApprovalType.Pending, Isdeleted = false, TcNid = currentUsers.TcNid, ApprovalRemarks = "" }); _context.SaveChanges(); return(RedirectToAction("PAN", new { _enmSaveStatus = enmSaveStatus.success, _enmMessage = enmMessage.UpdateSucessfully })); } } return(View(mdl)); }