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