Пример #1
0
        public Task <OperationResult> CompareExcelDocument(IFormFile file) =>
        Task.Factory.StartNew(() =>
        {
            OperationResult result = _validator.ValidateExcelDocument(file);

            if (result.Success)
            {
                WorkBook workBook   = WorkBookHelper.ConvertFileToWorkbook(file);
                WorkSheet worksheet = workBook.DefaultWorkSheet;

                List <Row> rowsFromDb = (List <Row>)_repository.GetAll();
                WorkSheet dbWorksheet = new WorkbookBuilder().CreateWorkBook(rowsFromDb).DefaultWorkSheet;

                List <Cell> changedCells = (List <Cell>)FindChangedCells(worksheet, dbWorksheet);
                SetRedColor(changedCells);

                workBook.SaveAs(file.FileName);
            }

            return(result);
        });
Пример #2
0
        public Task <OperationResult> AddRows(IFormFile file) =>
        Task.Factory.StartNew(() =>
        {
            OperationResult result = _excelValidator.ValidateExcelDocument(file);

            if (result.Success)
            {
                WorkSheet worksheet = WorkBookHelper.ConvertFileToWorkbook(file).DefaultWorkSheet;

                LinkedList <Row> rowList = worksheet.ToRowEntityList();

                int effectedRowCount = _spreadsheetRepository.AddRange(rowList);
                if (effectedRowCount < 1)
                {
                    result.Success = false;
                    result.AddMessage(ResponseMessages.AddFailed);
                }
            }

            return(result);
        });