示例#1
0
 private Error[] CheckType(OutputRow row)
 {
     var result = new List<Error>();
     if (string.IsNullOrEmpty(row.Type) || string.IsNullOrWhiteSpace(row.Type))
     {
         var error = new Error
         {
             RowNumber = RowsToExport.IndexOf(row),
             Description = "Колонка <Тип> содержит пустое значение"
         };
         result.Add(error);
     }
     else if (!SettingsProvider.AllowedTypes.Any(t => t.Name == row.Type) && row.Type != string.Empty)
     {
         var error = new Error
         {
             RowNumber = RowsToExport.IndexOf(row),
             Description = "Значение в колонке <Тип> не является стандартным"
         };
         result.Add(error);
     }
     return result.ToArray();
 }
示例#2
0
 private Error[] CheckRowWarnings(OutputRow row)
 {
     var result = new List<Error>();
     var props = row.GetType().GetProperties();
     foreach (var prop in props)
     {
         if (((string)prop.GetValue(row, null)) == string.Empty)
         {
             result.Add(new Error
             {
                 Description = "Колонка <"+prop.Name+"> содержит пустое значение",
                 RowNumber = RowsToExport.IndexOf(row)
             });
         }
         else if (string.IsNullOrEmpty(row.Light) || string.IsNullOrWhiteSpace(row.Light))
         {
             var error = new Error
             {
                 RowNumber = RowsToExport.IndexOf(row),
                 Description = "Колонка <Свет> содержит пустое значение"
             };
             result.Add(error);
         }
     }
     return result.ToArray();
 }
示例#3
0
 private Error[] CheckSize(OutputRow row)
 {
     var result = new List<Error>();
     if (!SettingsProvider.AllowedSizes.Any(s => s.Name == row.Size) && row.Size != string.Empty)
     {
         var error = new Error
         {
             RowNumber = RowsToExport.IndexOf(row),
             Description = "Значение \"" + row.Size + "\" в колонке <Размер> не является стандартным"
         };
         result.Add(error);
     }
     else if (string.IsNullOrWhiteSpace(row.Size) || string.IsNullOrEmpty(row.Size))
     {
         var error = new Error
         {
             RowNumber = RowsToExport.IndexOf(row),
             Description = "Колонка <Размер> содержит пустое значение"
         };
         result.Add(error);
     }
     else
     {
         var type = SettingsProvider.AllowedTypes.Where(c => c.Name == row.Type).FirstOrDefault();
         if (type != null && !SettingsProvider.AllowedSizes.Where(r => r.FkTypeId == type.Id).ToArray().Any(s => s.Name == row.Size))
         {
             var error = new Error
             {
                 RowNumber = RowsToExport.IndexOf(row),
                 Description = "Размер \"" + row.Size + "\" не принадлежит типу \" " + row.Type + "\""
             };
             result.Add(error);
         }
     }
     return result.ToArray();
 }
示例#4
0
        private Error[] CheckRowErrors(OutputRow row)
        {
            var result = new List<Error>();

            var totalErrors = new List<Error[]>
            {
                CheckCity(row),
                CheckRegion(row),
                CheckType(row),
                CheckSize(row),
                CheckLight(row),
                CheckSide(row),
                CheckCodeDoors(row)
            };
            foreach (var errArray in totalErrors)
            {
                foreach (var err in errArray)
                {
                    result.Add(err);
                }
            }

            return result.ToArray();
        }
示例#5
0
 private Error[] CheckRegion(OutputRow row)
 {
     var result = new List<Error>();
     if (!SettingsProvider.AllowedRegions.Any(r => r.Name == row.Region) && row.City != string.Empty && row.Region!=string.Empty)
     {
         var error = new Error
         {
             RowNumber = RowsToExport.IndexOf(row),
             Description = "Значение \"" + row.Region + "\" в колонке <Район> не является стандартным"
         };
         result.Add(error);
     }
     else if (row.Region != string.Empty)
     {
         var city = SettingsProvider.AllowedCities.Where(c => c.Name == row.City).FirstOrDefault();
         if (city != null && !SettingsProvider.AllowedRegions.Where(r => r.FkCityId == city.Id || r.FkCityId == null).ToArray().Any(r => r.Name == row.Region))
         {
             var error = new Error
             {
                 RowNumber = RowsToExport.IndexOf(row),
                 Description = "Район \"" + row.Region + "\" не принадлежит городу \" " + row.City + "\""
             };
             result.Add(error);
         }
     }
     return result.ToArray();
 }
示例#6
0
        private Error[] CheckLight(OutputRow row)
        {
            var result = new List<Error>();

            if (!SettingsProvider.AllowedLights.Contains(row.Light) && row.Light != string.Empty)
            {
                var error = new Error
                {
                    RowNumber = RowsToExport.IndexOf(row),
                    Description = "Значение в колонке <Свет> не является стандартным"
                };
                result.Add(error);
            }
            else if (string.IsNullOrEmpty(row.Light) || string.IsNullOrWhiteSpace(row.Light))
            {
                var error = new Error
                {
                    RowNumber = RowsToExport.IndexOf(row),
                    Description = "Колонка <Свет> содержит пустое значение"
                };
                result.Add(error);
            }

            return result.ToArray();
        }
示例#7
0
 private Error[] CheckCodeDoors(OutputRow row)
 {
     var result = new List<Error>();
     //if (string.IsNullOrWhiteSpace(row.CodeDoors))
     //{
     //    var error = new Error
     //    {
     //        RowNumber = RowsToExport.IndexOf(row),
     //        Description = "Колонка <Код DOORS> содержит пустое значение."
     //    };
     //    result.Add(error);
     //}
     //else
     //{
         int res;
         if (!string.IsNullOrWhiteSpace(row.CodeDoors) && row.CodeDoors.Any(c => !(new char[] {'1','2','3','4','5','6','7','8','9','0'}.Contains(c))))
         {
             var error = new Error
             {
                 RowNumber = RowsToExport.IndexOf(row),
                 Description = "Значение \"" + row.CodeDoors + "\" в колонке <Код DOORS> неверное. Должны содержаться только арабские цифры."
             };
             result.Add(error);
         }
     //}
     return result.ToArray();
 }
示例#8
0
 private Error[] CheckCity(OutputRow row)
 {
     var result = new List<Error>();
     if (string.IsNullOrEmpty(row.City)||string.IsNullOrWhiteSpace(row.City))
     {
         var error = new Error
         {
             RowNumber = RowsToExport.IndexOf(row),
             Description = "Колонка <Город> содержит пустое значение"
         };
         result.Add(error);
     }
     else if (!SettingsProvider.AllowedCities.Any(c => c.Name == row.City) && row.City != string.Empty)
     {
         var error = new Error
         {
             RowNumber = RowsToExport.IndexOf(row),
             Description = "Значение \"" + row.City + "\" в колонке <Город> не является стандартным"
         };
         result.Add(error);
     }
     return result.ToArray();
 }