protected override void AddDTOToImportList(QuantityImporterDTO quantityImporterDTO, IStartValuesBuildingBlock <IMoleculeStartValue> importTarget, ImportedQuantityDTO dto)
        {
            quantityImporterDTO.QuantitDTOs.Add(dto);
            if (dto.HasWarning())
            {
                quantityImporterDTO.AddToLog(dto.GetWarning());
            }

            quantityImporterDTO.AddToLog(IsNewInsert(dto, importTarget)
            ? AppConstants.Captions.AddingMoleculeStartValue(dto.Path, dto.ConvertToDisplayUnit(dto.QuantityInBaseUnit), dto.DisplayUnit, dto.IsPresent, dto.Name, dto.NegativeValuesAllowed)
            : AppConstants.Captions.UpdatingMoleculeStartValue(dto.Path, dto.ConvertToDisplayUnit(dto.QuantityInBaseUnit), dto.DisplayUnit, dto.IsPresent, dto.Name, dto.NegativeValuesAllowed));
        }
예제 #2
0
        protected override void AddDTOToImportList(QuantityImporterDTO quantityImporterDTO, TImportTarget importTarget, ImportedQuantityDTO dto)
        {
            if (!dto.SkipImport)
            {
                quantityImporterDTO.QuantitDTOs.Add(dto);
                quantityImporterDTO.AddToLog(LogMessageFor(dto, importTarget));
            }

            if (dto.HasWarning())
            {
                quantityImporterDTO.AddToLog(dto.GetWarning());
            }
        }
예제 #3
0
        private QuantityImporterDTO convertTableToQuantityDTOs(DataTable table, TImportTarget buildingBlock)
        {
            var importerDTO = new QuantityImporterDTO();

            importerDTO.AddToLog(AppConstants.Captions.ConvertingExcelSheetToQuantities(table.TableName));
            var rowIndex = 0;

            foreach (DataRow row in table.Rows)
            {
                if (isRowEmpty(table, rowIndex))
                {
                    continue;
                }
                try
                {
                    var dto = MapQuantityFromRow(table, table.Rows[rowIndex], rowIndex);

                    ValidateInContext(dto, importerDTO, buildingBlock, row, rowIndex);

                    AddDTOToImportList(importerDTO, buildingBlock, dto);
                }
                catch (ImportQuantityDTOsFromDataTablesMapperException e)
                {
                    importerDTO.AddToLog(e.Message);
                    importerDTO.QuantitDTOs.Clear();
                    break;
                }
                catch (Exception e)
                {
                    importerDTO.AddToLog($"{AppConstants.Exceptions.FrameworkExceptionOccurred}, {e.Message}, {row.ToNiceString()}");
                    importerDTO.QuantitDTOs.Clear();
                    break;
                }

                rowIndex++;
            }

            return(importerDTO);
        }