Exemplo n.º 1
0
        public async Task <JsonResult> UploadExcelFile(string entityName, int?coaId)
        {
            try
            {
                //Check input
                if (Request.Files.Count <= 0 || Request.Files[0] == null)
                {
                    throw new UserFriendlyException(L("ExcelUploadError"));
                }

                var file = Request.Files[0];


                //Check file type & format
                var fileInfo = new FileInfo(file.FileName);
                if (fileInfo.Extension != ".xls" && fileInfo.Extension != ".xlsx")
                {
                    throw new ApplicationException("Uploaded file is not an accepted Excel file !");
                }

                ExcelPackage package = new ExcelPackage(Request.InputStream);

                // Uploap the worksheet data to a DataTable.
                DataTable worksheetData = ExcelHelper.ConvertExcelToDataTable(package, entityName);
                ErrorMessageswithAccountDto errorMessageList = await _uploadAppService.UploadExcelData(worksheetData, entityName, coaId);


                return(Json(new AjaxResponse(new { success = errorMessageList == null, errorMessageList })));
            }
            catch (UserFriendlyException ex)
            {
                return(Json(new AjaxResponse(new ErrorInfo(ex.Message))));
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Uploading Excel data to SumitSystem
        /// </summary>
        /// <param name="dataTable"></param>
        /// <param name="entityName"></param>
        /// <param name="coaId"></param>
        /// <returns></returns>
        public async Task <ErrorMessageswithAccountDto> UploadExcelData(DataTable dataTable, string entityName, int?coaId)
        {
            ErrorMessageswithAccountDto errorMEssageswithAccount = null;

            switch (entityName)
            {
            case "FinancialAccounts":
                //await _accountUnitAppService.ImportAccounts(dataTable, coaId.Value);
                break;

            //case "Projects":
            //    errorMessageList = await _jobUnitAppService.ImportJobs(dataTable);
            //    break;
            case "Lines":
                // await _linesUnitAppService.ImportLines(dataTable, coaId.Value);
                break;
            }
            return(errorMEssageswithAccount);
        }