Пример #1
0
        public static bool For(Procurement entity, out AdProcurement value, out string validationError)
        {
            var errorMessage       = string.Empty;
            var isValidationPassed = false;

            var adProcurement = new AdProcurement();

            try
            {
                var validator = new ProcurementEntityValidator();
                var results   = validator.Validate(entity);

                if (!results.IsValid)
                {
                    errorMessage = string.Join("\n", results.Errors);
                }
                else
                {
                    adProcurement.Project       = int.Parse(entity.Project);
                    adProcurement.Complexity    = entity.Complexity;
                    adProcurement.Category      = entity.Category;
                    adProcurement.SavingsAmount = entity.SavingsAmount == "NULL" ? string.Empty : entity.SavingsAmount;
                    adProcurement.Currency      = entity.Currency == "NULL" ? string.Empty : entity.Currency;
                    adProcurement.StartDate     = DateTime.ParseExact(entity.StartDate, "yyyy-MM-dd HH:mm:ss.fff",
                                                                      CultureInfo.InvariantCulture);
                    adProcurement.Description = entity.Description;
                    adProcurement.Responsible = entity.Responsible;
                }
            }
            catch (Exception ex)
            {
                errorMessage = ex.Message;
            }


            value           = adProcurement;
            validationError = errorMessage;
            return(isValidationPassed);
        }
Пример #2
0
        public void Should_ReturnError_With_WrongStartDateFormat(string line)
        {
            var expectedResult        = "Start date should conform to the following format: yyyy-mm-dd hh:mm:ss.sss";
            var lineParser            = new LineParser();
            var deserializeRowData    = new DeserializeRowData <Procurement>();
            var headerColumnDictionay = lineParser.TabSeparatedParser(headerString);
            var rowColumnDictionary   = lineParser.TabSeparatedParser(line);

            var entity = deserializeRowData.Deserialize(headerColumnDictionay, rowColumnDictionary,
                                                        attributeMappings);


            var actualResult = string.Empty;
            var results      = new ProcurementEntityValidator().Validate(entity);

            if (!results.IsValid)
            {
                actualResult = string.Join("", results.Errors);
            }


            Assert.Equal(expectedResult, actualResult);
        }
Пример #3
0
        public void Should_ReturnError_With_ComplexityDiffersFromGivenValues(string line)
        {
            var expectedResult =
                $"Column Complexity should only have following values: {string.Join(",", validComplexityTypes)}";
            var lineParser            = new LineParser();
            var deserializeRowData    = new DeserializeRowData <Procurement>();
            var headerColumnDictionay = lineParser.TabSeparatedParser(headerString);
            var rowColumnDictionary   = lineParser.TabSeparatedParser(line);

            var entity = deserializeRowData.Deserialize(headerColumnDictionay, rowColumnDictionary,
                                                        attributeMappings);


            var actualResult = string.Empty;
            var results      = new ProcurementEntityValidator().Validate(entity);

            if (!results.IsValid)
            {
                actualResult = string.Join("", results.Errors);
            }


            Assert.Equal(expectedResult, actualResult);
        }
Пример #4
0
        public void Should_ReturnError_With_WrongSavingAmountFormat(string line)
        {
            var expectedResult =
                "Money (Savings amount) values should conform be numbers with a point as the decimal separator";
            var lineParser            = new LineParser();
            var deserializeRowData    = new DeserializeRowData <Procurement>();
            var headerColumnDictionay = lineParser.TabSeparatedParser(headerString);
            var rowColumnDictionary   = lineParser.TabSeparatedParser(line);

            var entity = deserializeRowData.Deserialize(headerColumnDictionay, rowColumnDictionary,
                                                        attributeMappings);


            var actualResult = string.Empty;
            var results      = new ProcurementEntityValidator().Validate(entity);

            if (!results.IsValid)
            {
                actualResult = string.Join("", results.Errors);
            }


            Assert.Equal(expectedResult, actualResult);
        }