示例#1
0
        public JsonResult UploadFile()
        {
            DtoRisk dto = new DtoRisk();

            if (Request.Files.Count > 0)
            {
                try
                {
                    object[,] obj = null;
                    int noOfCol = 0;
                    int noOfRow = 0;
                    HttpFileCollectionBase file = Request.Files;
                    if ((file != null) && (file.Count > 0))
                    {
                        byte[] fileBytes = new byte[Request.ContentLength];
                        int    data      = Request.InputStream.Read(fileBytes, 0, Convert.ToInt32(Request.ContentLength));
                        using (ExcelPackage package = new ExcelPackage(Request.InputStream))
                        {
                            ExcelWorksheets worksheets = package.Workbook.Worksheets;
                            ExcelWorksheet  workSheet  = worksheets.Single(x => x.Name.Equals(dto.WorksheetName));
                            noOfCol = workSheet.Dimension.End.Column;
                            noOfRow = workSheet.Dimension.End.Row;
                            obj     = new object[noOfRow, noOfCol];
                            obj     = (object[, ])workSheet.Cells.Value;
                        }
                    }
                    return(Json(new { data = obj, row = noOfRow, col = noOfCol }, JsonRequestBehavior.AllowGet));
                }
                catch (Exception ex)
                {
                }
            }
            return(Json("", JsonRequestBehavior.AllowGet));
        }
示例#2
0
        private void insertExcelRiskManagementData(
            Stream pFileStream,
            string pStrUploadBy,
            int pIntYear,
            ModelInsertExcelData pModelResult)
        {
            var dto = new DtoRisk();

            var listExcelRiskManagement = dto.ReadExcelRiskManagementImport(
                pStreamExcel: pFileStream,
                pStrUploadBy: pStrUploadBy,
                pIntYear: pIntYear
                )
                                          .Where(x => x != null)
                                          .GroupBy(x => x.RC)
                                          .Select(g => g.Last())
                                          .ToList();

            var duplicateInListAfter = listExcelRiskManagement.GroupBy(x => x.RC)
                                       .Where(g => g.Count() > 1)
                                       .Select(y => new { Element = y.Key, Counter = y.Count() })
                                       .ToList();

            var listRiskManagementDuplicate = dto.GetListRiskManagementImportDuplicate(listExcelRiskManagement)
                                              .Where(x => x != null).ToList();

            for (int i = listExcelRiskManagement.Count - 1; i >= 0; --i)
            {
                var risks          = listExcelRiskManagement[i];
                var risksDuplicate = listRiskManagementDuplicate
                                     .FirstOrDefault(x => x.RC == risks.RC && x.YEAR == risks.YEAR);
                // Insert RiskManagement
                if (risksDuplicate == null)
                {
                    dto.InsertRiskManagementImport(risks);
                }
                // If Exists Update Pipeline
                else
                {
                    dto.UpdateRiskManagementImport(risks);
                }
            }

            dto = null;
            listExcelRiskManagement.Clear();
            listExcelRiskManagement = null;
            listRiskManagementDuplicate.Clear();
            listRiskManagementDuplicate = null;
            GC.Collect();
        }
示例#3
0
        public ActionResult AcceptanceCriteria(ModelAcceptanceCriteria model)
        {
            if (ModelState.IsValid)
            {
                model.UPDATE_BY = User.Identity.Name;

                DtoRisk dto = new DtoRisk();
                dto.UpdateAcceptanceCriteria(model);
                dto = null;

                TempData["status"]      = "successfully";
                TempData["PreviousUrl"] = model.PreviousUrl;
                return(RedirectToAction("AcceptanceCriteria"));
            }

            return(View());
        }
示例#4
0
        //[AuthorizeController.CustomAuthorize]
        public JsonResult Upload(ModelViewRiskImport model)
        {
            string _dir = GetPathUploadPath(model);

            // Check Directory Exist
            if (!Directory.Exists(_dir))
            {
                Directory.CreateDirectory(_dir);
            }

            foreach (HttpPostedFileBase FILE in model.FILES)
            {
                string _fileName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + "_" + FILE.FileName;
                string _path     = Path.Combine(_dir, _fileName);
                FILE.SaveAs(_path);

                var    dto      = new DtoRisk();
                string username = User.Identity.Name;
                dto.InsertRiskFile(username, model.RC_NAME, model.YEAR, _fileName);
                dto = null;
            }

            return(Json(new { }));
        }