Ejemplo n.º 1
0
        private static string GetCountryCode(Country country)
        {
            switch (country)
            {
            case Country.Russia:
                return("ru");

            case Country.Belarus:
                return("by");

            case Country.Ukraine:
                return("ua");

            case Country.Kazakhstan:
                return("kz");

            case Country.USA:
                return("us");

            case Country.Uzbekistan:
                return("uz");

            case Country.Turkey:
                return("tr");

            case Country.Latvia:
                return("lv");

            default:
                throw new ArgumentOutOfRangeException(nameof(country), country, ErrorsMessages.UnknownCountry());
            }
        }
Ejemplo n.º 2
0
        public ErrorsMessages Validate(string param, ErrorsMessages errors)
        {
            //return Int32.TryParse(param, out int number);
            errors.IsNotError = true;
            if (param == null)
            {
                errors.IsNotError = false;
                errors.Message    = "Не може бути пустим";
            }
            else if (Int32.TryParse(param, out int number) == false)
            {
                errors.Message    = "Невірний формат";
                errors.IsNotError = false;
            }
            else if (Int32.Parse(param) < 0)
            {
                errors.IsNotError = false;
                errors.Message    = "Не може бути менше нуля";
            }
            else if (Int32.Parse(param) > Int32.MaxValue)
            {
                errors.IsNotError = false;
                errors.Message    = "Занадто велике число";
            }

            return(errors);
        }
Ejemplo n.º 3
0
        public ErrorsMessages Validate(string param, ErrorsMessages errors)
        {
            var d = Double.Parse(param);

            errors.IsNotError = true;
            if (Double.TryParse(param, out double number) == false && Int32.TryParse(param, out int n) == false)
            {
                errors.IsNotError = false;
                errors.Message    = "Невірний формат";
            }
            else if (d < 0)
            {
                errors.Message    = "Не може бути менше нуля";
                errors.IsNotError = false;
            }
            else if (d > Double.MaxValue)
            {
                errors.Message    = "Занадто велике число";
                errors.IsNotError = false;
            }
            if (param == null)
            {
                errors.IsNotError = false;
                errors.Message    = "Не може бути пустим";
            }

            return(errors);
        }
Ejemplo n.º 4
0
        public bool Validate()
        {
            var errors = ValidationsRules.Where(r => !r.Check(Value)).Select(r => r.ValidationMessage);

            ErrorsMessages = errors.ToList();
            IsValid        = !ErrorsMessages.Any();

            return(IsValid);
        }
 public ErrorsMessages Validate(string param, ErrorsMessages errors)
 {
     errors.IsNotError = true;
     if (String.IsNullOrEmpty(param))
     {
         errors.IsNotError = false;
         errors.Message    = "Не може бути пусте значення";
     }
     return(errors);
 }
Ejemplo n.º 6
0
        public ErrorsMessages Validate(string param, ErrorsMessages errors)
        {
            var urls = param.Split(" ").ToList();

            errors.IsNotError = true;
            if (urls.All(u => Uri.TryCreate(u, UriKind.Absolute, out Uri uriResult)) == false)
            {
                errors.Message    = "Нeвірний формат url-адреси";
                errors.IsNotError = false;
            }
            return(errors);
        }
Ejemplo n.º 7
0
        public List <TEntity> GetEntityExel <TEntity>(byte[] bin, IFormFile files) where TEntity : new()
        {
            ExcelPackage.LicenseContext = LicenseContext.Commercial;
            var properties         = typeof(TEntity).GetProperties();
            var propsWithAttribute = properties.Where(p => p.IsDefined(typeof(ColumnNameAttribute)));

            using (MemoryStream stream = new MemoryStream(bin))
                using (ExcelPackage excelPackage = new ExcelPackage(stream))
                {
                    ExcelWorksheet worksheet = excelPackage.Workbook.Worksheets[typeof(TEntity).GetCustomAttribute <SheetAttribute>().SheetName];
                    Dictionary <int, PropertyInfo> dictColumnAndProps = propsWithAttribute.ToDictionary(p =>
                    {
                        var columnNumber = NumberColumn(p.GetCustomAttribute <ColumnNameAttribute>().Column, worksheet);
                        return(columnNumber);
                    }, p => p);

                    List <TEntity> category = new List <TEntity>();

                    for (int i = worksheet.Dimension.Start.Row + 1; i <= worksheet.Dimension.End.Row; i++)
                    {
                        TEntity dto = new TEntity();

                        foreach (var keyValue in dictColumnAndProps)
                        {
                            ErrorsMessages errors = new ErrorsMessages();
                            keyValue.Value.GetCustomAttribute <ColumnNameAttribute>().Validator.Validate(worksheet.Cells[i, keyValue.Key].Value?.ToString(), errors);
                            if (errors.IsNotError == true)
                            {
                                var parcer = keyValue.Value.GetCustomAttribute <ColumnNameAttribute>().Parser.Parce(worksheet.Cells[i, keyValue.Key].Value?.ToString());
                                keyValue.Value.SetValue(dto, parcer);
                            }
                            else
                            {
                                worksheet.Cells[i, keyValue.Key].AddComment(errors.Message, "Настя");
                                worksheet.Cells[i, keyValue.Key].Style.Fill.PatternType = ExcelFillStyle.Solid;
                                worksheet.Cells[i, keyValue.Key].Style.Fill.BackgroundColor.SetColor(Color.Red);
                                FileInfo file = new FileInfo("C:/Users/Anastasiia/Desktop/MyCatalog" + files.FileName);
                                excelPackage.SaveAs(file);
                            }
                        }

                        category.Add(dto);
                    }

                    return(category);
                }
        }
Ejemplo n.º 8
0
        private static DayType ConvertCharToDateType(char character)
        {
            switch (character)
            {
            case '0':
                return(DayType.WorkingDay);

            case '1':
                return(DayType.NotWorkingDay);

            case '2':
                return(DayType.ShortDay);

            case '4':
                return(DayType.WorkingDayAdvanced);

            default:
                throw new ArgumentOutOfRangeException(nameof(character), character, ErrorsMessages.UnknownResponseDayType());
            }
        }
Ejemplo n.º 9
0
        private static IEnumerable ErrorMessagesTestsData()
        {
            var errorMessagesFunctions = new List <Func <string> >
            {
                ErrorsMessages.UnknownCountry,
                ErrorsMessages.UnknownResponseDayType,
                ErrorsMessages.CacheCanNotBeNull,
                ErrorsMessages.SettingCanNotBeNull,
                ErrorsMessages.SomethingWrongWithTheService,
                ErrorsMessages.ExternalServiceDidNotHandleTheRequestSeeInnerException,
                () => ErrorsMessages.DaysCountMismatch(4, 2),
                () => ErrorsMessages.DatesRangeNotSupports(04.08.Of(2020), 04.08.Of(2020), Country.Russia),
                () => ErrorsMessages.CanNotFindDayOffInfo(04.08.Of(2020), 04.08.Of(2020), Country.Russia),
            };

            foreach (var errorMessagesFunction in errorMessagesFunctions)
            {
                yield return(new TestCaseData(errorMessagesFunction, new CultureInfo("ru-RU"), "[ЁёА-я]"));

                yield return(new TestCaseData(errorMessagesFunction, new CultureInfo("en-US"), "[A-Za-z]"));
            }
        }
Ejemplo n.º 10
0
        public ErrorsMessages Validate(string param, ErrorsMessages errors)
        {
            errors.IsNotError = true;

            return(errors);
        }
Ejemplo n.º 11
0
 public ErrorMessage(ErrorsMessages enumError, string code, string message = "")
 {
     Code    = code;
     Message = $"{message} - {((ErrorsMessages)enumError).AsString(EnumFormat.Description)}";
 }
Ejemplo n.º 12
0
 /// <summary>
 /// Set up custom cache implementation
 /// </summary>
 /// <param name="newCache">Custom cache implementation</param>
 /// <exception cref="ArgumentNullException">Thrown when customCache is set to null</exception>
 /// <returns>Settings builder</returns>
 public IsDayOffSettingsBuilder UseCustomCache(IIsDayOffCache newCache)
 {
     cache = newCache ?? throw new ArgumentNullException(nameof(cache), ErrorsMessages.CacheCanNotBeNull());
     return(this);
 }
Ejemplo n.º 13
0
        internal IsDayOff(IsDayOffSettings settings, IIsDayOffApiClient apiClient)
        {
            this.settings = settings ?? throw new ArgumentNullException(nameof(settings), ErrorsMessages.SettingCanNotBeNull());

            if (settings.TraceLevel.HasValue)
            {
                Tracer.Switch.Level = settings.TraceLevel.Value;
            }

            service = new IsDayOffService(apiClient, settings.Cache);
        }
 public void DisplayError(string message)
 {
     ErrorsMessages.Add(message);
 }