public void InputEmptyStringNegative()
        {
            string          str             = "";
            Transliteration transliteration = new Transliteration();

            Assert.ThrowsException <StringException>(() => transliteration.CheckString(str));
        }
Example #2
0
        private async Task <Player> CreatePlayer(string userName, string email)
        {
            var latinName = Transliteration.CyrillicToLatin(userName, Language.Russian);
            var newName   = latinName.Replace(" ", string.Empty);
            var user      = await _userManager.FindByNameAsync(newName);

            if (user == null)
            {
                var player = new Player
                {
                    UserName = newName,
                    Balance  = 1000,
                    Email    = email
                };
                var createdUser = await _userManager.CreateAsync(player);

                if (!createdUser.Succeeded)
                {
                    throw new CustomServiceException("The user was not registered");
                }

                return(player);
            }
            else
            {
                if (string.IsNullOrEmpty(user.Email))
                {
                    user.Email = email;
                    await _userManager.UpdateAsync(user);
                }
                return(user);
            }
        }
        public void InputNextRussianInvalidCharactersNegative()
        {
            string          str             = "��אןכ�";
            Transliteration transliteration = new Transliteration();

            Assert.ThrowsException <StringException>(() => transliteration.CheckString(str));
        }
Example #4
0
        public async Task ExecuteAsync(Message message, TelegramBotClient botClient, Update update)
        {
            var chatId    = message.Chat.Id;
            var messageId = message.MessageId;

            var usefulMessage = Transliteration.Front(message.Text.Remove(0, message.Text.IndexOf(' ') + 1)).ToLower();
            var buttonMessage = message.Text.Remove(0, message.Text.IndexOf(' ') + 1);
            var resultMessage = _parserService.GetOneMovieInfo(usefulMessage);

            if (resultMessage == "Вы ввели неверное название фильма!")
            {
                await botClient.SendTextMessageAsync(chatId, resultMessage, replyToMessageId : messageId);

                return;
            }

            await botClient.SendChatActionAsync(message.Chat.Id, ChatAction.Typing);

            ReplyKeyboardMarkup ReplyKeyboard = new[]
            {
                new[] { $"Подробнее о фильме {buttonMessage}" },
                new[] { "К началу" },
            };

            await botClient.SendTextMessageAsync(chatId, _parserService.GetOneMovieInfo(usefulMessage), replyToMessageId : messageId, replyMarkup : ReplyKeyboard);
        }
Example #5
0
    public static string SaveImageResize(HttpPostedFileBase hpf, string Path, int NewSize, string Orientation)
    {
        ImageCodecInfo    myImageCodecInfo    = GetEncoderInfo("image/jpeg");
        EncoderParameters myEncoderParameters = new EncoderParameters(1);

        myEncoderParameters.Param[0] = new EncoderParameter(Encoder.Quality, 100L);

        Bitmap _File = (Bitmap)Bitmap.FromStream(hpf.InputStream);

        if (NewSize > 100)
        {
            _File = Imaging.Resize(_File, NewSize, Orientation);
        }
        if (!Directory.Exists(Path))
        {
            Directory.CreateDirectory(HttpContext.Current.Server.MapPath(Path));
        }

        string imageName = Transliteration.Translit(hpf.FileName.Substring(0, hpf.FileName.IndexOf("."))).Replace(" ", "_");
        string extension = hpf.FileName.Substring(hpf.FileName.IndexOf("."));
        string filePath  = HttpContext.Current.Server.MapPath(Path + imageName + extension);

        if (File.Exists(filePath))
        {
            File.Delete(filePath);
        }
        _File.Save(filePath, myImageCodecInfo, myEncoderParameters);
        _File.Dispose();

        return(Path + imageName + extension);
    }
        public void InputLatinAndRussianNegative()
        {
            string          str             = "Asdפ�גasd";
            Transliteration transliteration = new Transliteration();

            Assert.ThrowsException <StringException>(() => transliteration.CheckString(str));
        }
Example #7
0
        /// <summary>
        /// Заполнение базовой информации о пассажире, на основании данных из запроса
        /// </summary>
        /// <param name="passengerFromRequest"></param>
        public void Fill(Traveller passengerFromRequest, bool latinRegistration = true)
        {
            Num          = passengerFromRequest.Num;
            Type         = passengerFromRequest.Type;
            IsContact    = passengerFromRequest.IsContact;
            LinkedTo     = passengerFromRequest.LinkedTo;
            PersonalInfo = passengerFromRequest.PersonalInfo;
            DocumentInfo = passengerFromRequest.DocumentInfo;
            VisaInfo     = passengerFromRequest.VisaInfo;
            ArrAddress   = passengerFromRequest.ArrAddress;
            ContactInfo  = passengerFromRequest.ContactInfo;

            if (latinRegistration)
            {
                if (DocumentInfo != null)
                {
                    DocumentInfo.DocNum = Transliteration.UARUStoENG(passengerFromRequest.DocumentInfo.CleanDocNum).ToUpper();
                }

                if (VisaInfo != null)
                {
                    VisaInfo.BirthCity  = Transliteration.UARUStoENG(passengerFromRequest.VisaInfo.BirthCity).ToUpper();
                    VisaInfo.IssuePlace = Transliteration.UARUStoENG(passengerFromRequest.VisaInfo.IssuePlace).ToUpper();
                }

                if (ArrAddress != null)
                {
                    ArrAddress.City          = Transliteration.UARUStoENG(passengerFromRequest.ArrAddress.City).ToUpper();
                    ArrAddress.State         = Transliteration.UARUStoENG(passengerFromRequest.ArrAddress.State).ToUpper();
                    ArrAddress.StreetAddress = Transliteration.UARUStoENG(passengerFromRequest.ArrAddress.StreetAddress).ToUpper();
                }
            }
        }
Example #8
0
        public async Task <ActionResult> Edit(Category model)
        {
            if (ModelState.IsValid)
            {
                var selectCat = _context.Categorys.FirstOrDefault(a => a.Name == model.Name);

                if (selectCat.Name != null && selectCat.Name != model.Name)
                {
                    selectCat.Name = model.Name;

                    selectCat.Transliteration = Transliteration.Front(selectCat.Name);

                    _context.SaveChanges();

                    TempData["Flag"] = "Success";
                }
                else
                {
                    TempData["Danger"] = "Danger";
                }
            }
            else
            {
                TempData["Flag"] = "Fail";
            }

            return(RedirectToAction("Edit", new { id = model.Id }));
        }
Example #9
0
        /// <summary>
        /// Создание нового объекта из старого с учётом требований транслитерации
        /// </summary>
        /// <param name="old">Старая информация об агентстве</param>
        /// <param name="latinRegistration">Необходимость транслитерации</param>
        public AgencyInfo(AgencyInfo old, bool latinRegistration = true)
        {
            Address = old.Address;
            if (latinRegistration)
            {
                Name = Transliteration.CyrillicToLatin(old.Name).ToUpper();

                if (Address != null)
                {
                    if (!string.IsNullOrEmpty(Address.City))
                    {
                        Address.City = Transliteration.CyrillicToLatin(Address.City).ToUpper();
                    }

                    if (!string.IsNullOrEmpty(Address.State))
                    {
                        Address.State = Transliteration.CyrillicToLatin(Address.State).ToUpper();
                    }

                    if (!string.IsNullOrEmpty(Address.StreetAddress))
                    {
                        Address.StreetAddress = Transliteration.CyrillicToLatin(Address.StreetAddress).ToUpper();
                    }
                }
            }
            else
            {
                Name = old.Name;
            }
        }
Example #10
0
        /// <summary>
        /// Заполнение общих с пассажиром из запроса полей
        /// </summary>
        /// <param name="basePass">Базовый класс для пассажиров</param>
        public BookedTraveller(Traveller basePass)
        {
            ContactInfo  = basePass.ContactInfo;
            DocumentInfo = basePass.DocumentInfo;
            IsContact    = basePass.IsContact;
            LinkedTo     = basePass.LinkedTo;
            PersonalInfo = basePass.PersonalInfo;
            Type         = basePass.Type;
            ArrAddress   = basePass.ArrAddress;
            LoyaltyCards = basePass.LoyaltyCards;
            Num          = basePass.Num;
            VisaInfo     = basePass.VisaInfo;

            if (DocumentInfo != null)
            {
                DocumentInfo.DocNum = Transliteration.UARUStoENG(basePass.DocumentInfo.CleanDocNum).ToUpper();
            }

            if (VisaInfo != null)
            {
                VisaInfo.BirthCity  = Transliteration.UARUStoENG(basePass.VisaInfo.BirthCity).ToUpper();
                VisaInfo.IssuePlace = Transliteration.UARUStoENG(basePass.VisaInfo.IssuePlace).ToUpper();
            }

            if (ArrAddress != null)
            {
                ArrAddress.City          = Transliteration.UARUStoENG(basePass.ArrAddress.City).ToUpper();
                ArrAddress.State         = Transliteration.UARUStoENG(basePass.ArrAddress.State).ToUpper();
                ArrAddress.StreetAddress = Transliteration.UARUStoENG(basePass.ArrAddress.StreetAddress).ToUpper();
            }
        }
        public static string Translit(string login)
        {
            var latin = Transliteration.CyrillicToLatin(login);
            var a     = latin.Replace("`", "");

            return(a);
        }
        public string CreateLogin(RegisterEmployeeViewModel model)
        {
            model.SecondName = Transliteration.Front(model.SecondName);
            model.FirstName  = Transliteration.Front(model.FirstName);
            bool isUnique = false;

            rnd = new Random();
            string fName = "";
            string sName = model.SecondName;
            string login = "";
            int    i     = 0;

            while (!isUnique)
            {
                if (i >= model.FirstName.Length)
                {
                    while (!isUnique)
                    {
                        string rand = rnd.Next(0, 999).ToString();
                        login    = fName + sName + rand;
                        isUnique = IsUniqueAsync(login).Result;
                        return(login);
                    }
                }
                fName += model.FirstName[i];
                i++;
                fName    = fName.ToLower();
                login    = fName + sName;
                isUnique = IsUniqueAsync(login).Result;
            }
            return(login);
        }
        public async Task <OperationResult <ListResponse <SearchResult> > > GetCategories(OffsetLimitModel request, CancellationToken token)
        {
            if (!EnableRead)
            {
                return(null);
            }

            var results = Validate(request);

            if (results.Any())
            {
                return(new OperationResult <ListResponse <SearchResult> >(new ValidationError(string.Join(Environment.NewLine, results.Select(i => i.ErrorMessage)))));
            }

            var parameters = new Dictionary <string, object>();

            AddOffsetLimitParameters(parameters, request.Offset, request.Limit);
            var endpoint = "categories/top";
            var result   = await Gateway.Get <ListResponse <SearchResult> >(GatewayVersion.V1, endpoint, parameters, token);

            if (result.IsSuccess)
            {
                foreach (var category in result.Result.Results)
                {
                    category.Name = Transliteration.ToRus(category.Name);
                }
            }
            return(result);
        }
Example #14
0
        public async Task <ActionResult> CreateNewSubCat(SubCategory model)
        {
            if (ModelState.IsValid)
            {
                var translit = Transliteration.Front(model.Name);

                SubCategory sub = new SubCategory
                {
                    Id              = Guid.NewGuid(),
                    Name            = model.Name,
                    Transliteration = translit
                };

                _context.SubCategory.Add(sub);
                _context.SaveChanges();

                ViewBag.Flag = "Success";
            }
            else
            {
                ViewBag.Flag = "Fail";
            }

            return(View("AddSubCategory"));
        }
Example #15
0
        private void WindowAdded(object sender, GwmWindowEventArgs e)
        {
            if (e.Form is PwEntryForm form && form.EditModeEx == PwEditMode.AddNewEntry)
            {
                Transliteration currentTransliteration = Transliterations.Get(_host.CustomConfig.GetCurrentTransliterationName());

                if (currentTransliteration == null)
                {
                    return;
                }

                e.Form.Shown += delegate(object o, EventArgs args)
                {
                    TextBox tbTitle    = e.Form.Controls.Find("m_tbTitle", true).FirstOrDefault() as TextBox;
                    TextBox tbUserName = e.Form.Controls.Find("m_tbUserName", true).FirstOrDefault() as TextBox;

                    tbTitle.LostFocus += delegate(object s, EventArgs eventArgs)
                    {
                        string title = currentTransliteration.Front(tbTitle.Text.ToShortTitle());

                        string userName = tbUserName.Text;

                        if (string.IsNullOrEmpty(userName))
                        {
                            tbUserName.Text = title;
                        }
                        else if (userName.Contains('\\'))
                        {
                            string[] parts = userName.Split(new string[] { "\\" }, StringSplitOptions.RemoveEmptyEntries);
                            tbUserName.Text = $"{parts[0]}\\{title}";
                        }
                    };
                };
            }
        }
Example #16
0
        private static void ShowRoles(SqlConnection connection)
        {
            SqlCommand selectRoles = connection.CreateCommand();

            selectRoles.CommandText = "SELECT * FROM Roles ORDER BY id";
            using (SqlDataReader reader =
                       selectRoles.ExecuteReader())
            {
                int fieldCount = reader.FieldCount;
                for (int i = 0; i < fieldCount; i++)
                {
                    Console.Write(reader.GetName(i) + " ");
                }
                Console.WriteLine();
                while (reader.Read())
                {
                    Console.WriteLine(reader.GetInt32(0) + " " + reader.GetString(1));
                    foreach (Char item in reader.GetString(1))
                    {
                        // Console.WriteLine(item + 0);
                        // Console.WriteLine((ushort)item);
                        if ((ushort)item >= 1000)
                        {
                            Console.WriteLine(Transliteration.CyrillicToLatin(reader.GetString(1), Language.Russian));
                            break;
                        }
                    }
                }
            }
        }
        public void InputNextInvalidStringNegative()
        {
            string          str             = "',.[]";
            Transliteration transliteration = new Transliteration();

            Assert.ThrowsException <StringException>(() => transliteration.CheckString(str));
        }
        public async Task <OperationResult <ListResponse <SearchResult> > > GetCategories(OffsetLimitModel request, CancellationToken token)
        {
            if (!EnableRead)
            {
                return(null);
            }

            var results = Validate(request);

            if (results != null)
            {
                return(new OperationResult <ListResponse <SearchResult> >(results));
            }

            var parameters = new Dictionary <string, object>();

            AddOffsetLimitParameters(parameters, request.Offset, request.Limit);
            var endpoint = $"{BaseUrl}/{GatewayVersion.V1}/categories/top";
            var result   = await HttpClient.Get <ListResponse <SearchResult> >(endpoint, parameters, token);

            if (result.IsSuccess)
            {
                foreach (var category in result.Result.Results)
                {
                    category.Name = Transliteration.ToRus(category.Name);
                }
            }
            return(result);
        }
Example #19
0
        public void RoundTest(Language lang, string reference, string text)
        {
            var latin  = Transliteration.CyrillicToLatin(text, lang);
            var actual = Transliteration.LatinToCyrillic(latin, lang);

            Assert.Equal(text, actual);
        }
Example #20
0
 public static string TagToRu(this string text)
 {
     if (string.IsNullOrWhiteSpace(text))
     {
         return(text);
     }
     return(Transliteration.ToRus(text));
 }
        public static void Run()
        {
            var text           = "Погребальные байки";
            var transliterated = Transliteration.Front(text);

            Console.WriteLine($"Original text: {text}");
            Console.WriteLine($"Transliterated: {transliterated}");
        }
 public static string Transliterate(string str)
 {
     if (string.IsNullOrWhiteSpace(str))
     {
         return(str);
     }
     return(Transliteration.CyrillicToLatin(str));
 }
Example #23
0
        protected override Dictionary <string, List <Dictionary <int, string> > > GatherValuesFromPage(Page page, Dictionary <string, int> columnNumbers)
        {
            Dictionary <string, List <Dictionary <int, string> > > result
                = new Dictionary <string, List <Dictionary <int, string> > >();

            string textName  = page.ReadText(2);
            string textDrive = page.ReadText(16);

            if (textName.Length > 0)
            {
                Dictionary <int, string>         dataCommon     = new Dictionary <int, string>();
                List <Dictionary <int, string> > dataAttributes = new List <Dictionary <int, string> >();

                // заполняем массив данных для страницы Products
                dataCommon.Add(1, productID.ToString());
                dataCommon.Add(2, textName);
                dataCommon.Add(13, textName);
                dataCommon.Add(4, MAIN_CATEGORY);
                dataCommon.Add(12, "1000");
                dataCommon.Add(14, page.ReadText(8));
                dataCommon.Add(16, "yes");
                dataCommon.Add(17, page.ReadText(3));

                if (textDrive.ToLower().Contains("прям"))
                {
                    dataCommon.Add(3, DIRECT_DRIVE_CATEGORY);
                }
                else if (textDrive.ToLower().Contains("рем"))
                {
                    dataCommon.Add(3, BELT_DRIVE_CATEGORY);
                }

                dataCommon.Add(22, GetRegValue(page.ReadText(23), @"\d+"));
                dataCommon.Add(23, GetRegValue(page.ReadText(23), @"\D+"));
                dataCommon.Add(24, GetRegValue(page.ReadText(20), @"\d+"));
                dataCommon.Add(25, GetRegValue(page.ReadText(21), @"\d+"));
                dataCommon.Add(26, GetRegValue(page.ReadText(22), @"\d+"));
                dataCommon.Add(27, GetRegValue(page.ReadText(22), @"\D+"));
                dataCommon.Add(28, "true");
                dataCommon.Add(32, Transliteration.Front(textName).Replace(" ", "-"));

                // заполнение страницы атрибутов
                List <PropertyBase> properties = GetListOfAttributes();
                foreach (PropertyBase prop in properties)
                {
                    prop.ReadValue(page);
                    dataAttributes.Add(prop.MakeDictionary(productID));
                }

                result.Add(PRODUCTS_PAGE_NAME, new List <Dictionary <int, string> > {
                    dataCommon
                });
                result.Add(ATTRIBUTES_PAGE_NAME, dataAttributes);
                productID++;
                return(result);
            }
            return(null);
        }
Example #24
0
 /// <summary>
 /// Uses input text to generate a valid Permlink
 /// </summary>
 /// <param name="text">Any text (usually a Title)</param>
 /// <returns>A formatted string with a postfix (used current date and time)</returns>
 public static string TitleToPermlink(string text)
 {
     text = text.Trim();
     text = text.ToLower();
     text = WordDelimiters.Replace(text, "-");
     text = Transliteration.ToEng(text);
     text = PermlinkNotSupportedCharacters.Replace(text, string.Empty);
     return($"{text}-{DateTime.UtcNow:yyyy-MM-dd-HH-mm-ss}");
 }
Example #25
0
        public async Task ExecuteAsync(Message message, TelegramBotClient botClient, Update update)
        {
            var chatId    = message.Chat.Id;
            var messageId = message.MessageId;

            var usefulMessage = Transliteration.Front(message.Text.Remove(0, message.Text.IndexOf(' ') + 1)).ToLower();

            await botClient.SendTextMessageAsync(chatId, _parserService.GetDirectorInfo(usefulMessage), replyToMessageId : messageId);
        }
        public void InputRussian�onsonantsValidCharactersPositive()
        {
            string          str             = "��ר��תכת";
            string          expected        = "PshZl";
            Transliteration transliteration = new Transliteration();
            string          actual          = transliteration.TranslateString(str);

            Assert.AreEqual(expected, actual, "Does not converge");
        }
        public void InputRussianWithValidValuePositive()
        {
            string          str             = "ABVGdeyozhziyklmnOPRStufkhtschshschyeyuya";
            string          expected        = "����הו¸זחטיךכלם����עףפץצקרשיו‏�";
            Transliteration transliteration = new Transliteration();
            string          actual          = transliteration.TranslateString(str);

            Assert.AreEqual(expected, actual, "Does not converge");
        }
Example #28
0
        public async Task UploadAsync(UserInfo currentUser, IFormFileCollection files)
        {
            if (currentUser == null)
            {
                throw new ArgumentNullException(nameof(currentUser));
            }
            if (files == null)
            {
                throw new ArgumentNullException(nameof(files));
            }
            _logger.LogDebug($"{currentUser} начал загрузку {files.Count} файлов");

            Validate(files);

            using (var context = _contextFactory.CreateContext())
            {
                foreach (var file in files)
                {
                    var userFileName = Transliteration.Front(file.FileName);
                    var fileName     = GetUniqueFileName();
                    var fileBasePath = Path.Combine(StoragePath, $"u{currentUser.Id}");

                    _logger.LogInformation($"Сохраняем файл в локальное хранилище (userFileName = \"{userFileName}\", fileName = \"{fileName}\", filePath = \"{fileBasePath}\")");

                    // здесь может быть запись файлов на SFTP сервер

                    // проверим локальную директорию
                    if (!Directory.Exists(fileBasePath))
                    {
                        Directory.CreateDirectory(fileBasePath);
                    }

                    // сохранение
                    using (var fileStream = File.Create(Path.Combine(fileBasePath, fileName)))
                    {
                        await file.CopyToAsync(fileStream);
                    }

                    _logger.LogInformation("Файл успешно сохранен в хранилище");

                    var entity = new FileEntity
                    {
                        UserFileName    = userFileName,
                        StorageFilePath = fileBasePath,
                        StorageFileName = fileName,
                        UserId          = currentUser.Id,
                    };

                    context.Files.Add(entity);
                    await context.SaveChangesAsync(); // сохраняем при каждой итерации, потому что файл уже на сервере

                    _logger.LogInformation($"Сохранили сущность в базу (id = {entity.Id})");
                }
            }

            _logger.LogDebug("Все файлы успешно загружены");
        }
Example #29
0
        public Weather()
        {
            var config = new MapperConfiguration(cfg => {
                cfg.CreateMap <WeatherInfo, WeatherInfoJson>()
                .ForMember(n => n.Id, m => m.MapFrom(c => c.Id))
                .ForMember(n => n.Desc, m => m.MapFrom(c => Transliteration.Front(c.Description)));
            });

            _mapper = config.CreateMapper();
        }
Example #30
0
        public void BroadcastMessageTest(string ip, int port, string send_message, string expected_message)
        {
            Client client = new Client(IPAddress.Parse(ip), port);

            client.NewMassageEvent += delegate(TcpClient client, string message)
            {
                Assert.AreEqual(expected_message, Transliteration.Run(send_message));
            };
            server.BroadcastMessage(send_message);
        }