Example #1
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;
                        }
                    }
                }
            }
        }
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 static string Translit(string login)
        {
            var latin = Transliteration.CyrillicToLatin(login);
            var a     = latin.Replace("`", "");

            return(a);
        }
Example #4
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;
            }
        }
        /// <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.CyrillicToLatin(passengerFromRequest.DocumentInfo.CleanDocNum).ToUpper();
                }

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

                if (ArrAddress != null)
                {
                    ArrAddress.City          = Transliteration.CyrillicToLatin(passengerFromRequest.ArrAddress.City).ToUpper();
                    ArrAddress.State         = Transliteration.CyrillicToLatin(passengerFromRequest.ArrAddress.State).ToUpper();
                    ArrAddress.StreetAddress = Transliteration.CyrillicToLatin(passengerFromRequest.ArrAddress.StreetAddress).ToUpper();
                }
            }
        }
        /// <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.CyrillicToLatin(basePass.DocumentInfo.CleanDocNum).ToUpper();
            }

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

            if (ArrAddress != null)
            {
                ArrAddress.City          = Transliteration.CyrillicToLatin(basePass.ArrAddress.City).ToUpper();
                ArrAddress.State         = Transliteration.CyrillicToLatin(basePass.ArrAddress.State).ToUpper();
                ArrAddress.StreetAddress = Transliteration.CyrillicToLatin(basePass.ArrAddress.StreetAddress).ToUpper();
            }
        }
Example #7
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);
        }
 public static string Transliterate(string str)
 {
     if (string.IsNullOrWhiteSpace(str))
     {
         return(str);
     }
     return(Transliteration.CyrillicToLatin(str));
 }
Example #9
0
        private void button1_Click(object sender, EventArgs e)
        {
            var latin = Transliteration.CyrillicToLatin(tbNameProductAdd.Text, Language.Russian);

            Seeder.AddParent(context, latin, tbNameProductAdd.Text);

            tvProduct.Nodes.Add(tbNameProductAdd.Text);

            Refresh();

            tbNameProductAdd.Text = "";
        }
Example #10
0
        public RobokassaService(String name, String email, String phone, Double sum)
        {
            if (String.IsNullOrEmpty(name) || String.IsNullOrEmpty(email) || String.IsNullOrEmpty(phone) || sum < 0)
            {
                throw new ArgumentException();
            }

            this.name      = name;
            this.latinName = Transliteration.CyrillicToLatin(name, Language.Russian);
            this.email     = email;
            this.phone     = phone;
            this.sum       = String.Format("{0:0.00}", sum).Replace(',', '.');
        }
Example #11
0
        public void TransliterateFullname(Talent talent)
        {
            string fullNameTransliterated = null;

            if (Regex.IsMatch(talent.FullName, @"\p{IsCyrillic}"))
            {
                // there is at least one cyrillic character in the string
                fullNameTransliterated = Transliteration.CyrillicToLatin(talent.FullName, Language.Russian);
            }
            else
            {
                fullNameTransliterated = Transliteration.LatinToCyrillic(talent.FullName, Language.Russian);
            }

            talent.FullNameTransliterated = fullNameTransliterated;
        }
Example #12
0
        public async Task <IActionResult> CreateAsync(LocationsCreateInputModel input)
        {
            if (!this.ModelState.IsValid)
            {
                return(this.View(input));
            }

            var user = await this.userManager.GetUserAsync(this.User);

            var imageUrls = await CloudinaryExtension.UploadMultipleAsync(this.cloudinary, input.Pictures);

            string latinName = Transliteration.CyrillicToLatin(input.Name, Language.Bulgarian);

            latinName = latinName.Replace(' ', '-');
            _         = await this.locationsService.CreateAsync(input.Name, input.Description, input.Adress, input.PhoneNumber, input.Email, input.Website, input.FacebookPage, input.InstagramPage, user.Id, input.MapLink, input.Perks, input.Type, imageUrls, latinName);

            return(this.RedirectToAction("ByName", new { name = latinName }));
        }
Example #13
0
        private void btnAddChild_Click(object sender, EventArgs e)
        {
            int        id = int.Parse(tvProduct.SelectedNode.Name);
            ProductAll t  = context.Products
                            .SingleOrDefault(x => x.Id == id);

            string urlSlug = t.UrlSlug;

            var latin = Transliteration.CyrillicToLatin(tbSelectedAddChild.Text, Language.Russian);

            Seeder.AddChildParent(context, urlSlug, latin, tbSelectedAddChild.Text);

            tvProduct.SelectedNode.Nodes.Add(tbSelectedAddChild.Text);

            Refresh();

            tbSelectedAddChild.Text = "";
        }
Example #14
0
        public async Task <IActionResult> CreateAsync(NewsCreateInputModel input)
        {
            if (!this.ModelState.IsValid)
            {
                return(this.View(input));
            }

            var user = await this.userManager.GetUserAsync(this.User);

            var imageUrls = await CloudinaryExtension.UploadMultipleAsync(this.cloudinary, input.Pictures);

            string latinTitle = Transliteration.CyrillicToLatin(input.Title, Language.Bulgarian);

            latinTitle = latinTitle.Replace(' ', '-');
            _          = await this.newsService.CreateAsync(input.Title, input.Content, user.Id, imageUrls, latinTitle, input.Author);

            return(this.RedirectToAction("ByName", new { name = latinTitle }));
        }
Example #15
0
        public async Task <IActionResult> CreateAsync(DancesCreateInputModel input)
        {
            if (!this.ModelState.IsValid)
            {
                return(this.View(input));
            }

            var user = await this.userManager.GetUserAsync(this.User);

            var imageUrl = await CloudinaryExtension.UploadSingleAsync(this.cloudinary, input.Picture);

            string latinName = Transliteration.CyrillicToLatin(input.Name, Language.Bulgarian);

            latinName = latinName.Replace(' ', '-');

            _ = await this.dancesService.CreateAsync(input.Name, input.Description, user.Id, imageUrl, latinName, input.FolkloreArea, input.VideoUrl);

            return(this.RedirectToAction("ByName", new { name = latinName }));
        }
        public static string[] parseName(string playerNames)
        {
            string[] temp      = new string[3];
            int      indexName = 0;

            if (playerNames.Contains("/"))
            {
                temp[0] = "false";
                //MessageBox.Show("Players are not correct!\nIt is a double game!\nMessage: " + players);
            }

            if (playerNames.Contains(","))
            {
                string   newPlayers = "";
                string[] chars      = playerNames.Split(',');
                for (int i = 0; i < chars.Length; i++)
                {
                    newPlayers += chars[i] + ".";
                }
                playerNames = newPlayers.Substring(0, newPlayers.Length - 1);
            }

            if (playerNames.Contains(". - "))
            {
                indexName = playerNames.IndexOf(". - ");
                temp[1]   = playerNames.Substring(0, indexName + 1);
                temp[2]   = playerNames.Substring(indexName + 4, playerNames.Length - indexName - 4);
            }
            else if (playerNames.Contains(" - "))
            {
                indexName = playerNames.IndexOf(" - ");
                temp[1]   = playerNames.Substring(0, indexName);
                temp[2]   = playerNames.Substring(indexName + 3, playerNames.Length - indexName - 3);
            }
            else
            {
                temp[0] = "false";
                MessageBox.Show("There is an error with players name!\nMessage: " + playerNames);
            }
            temp[1] = Transliteration.CyrillicToLatin(temp[1], Language.Russian);
            temp[2] = Transliteration.CyrillicToLatin(temp[2], Language.Russian);
            return(temp);
        }
Example #17
0
        public async Task <IActionResult> Edit(AwardsEditViewModel awardToEdit)
        {
            var user = await this.userManager.GetUserAsync(this.User);

            var imageUrl = string.Empty;

            if (awardToEdit.Picture != null)
            {
                imageUrl = await CloudinaryExtension.UploadSingleAsync(this.cloudinary, awardToEdit.Picture);
            }

            string latinName = Transliteration.CyrillicToLatin(awardToEdit.Name, Language.Bulgarian);

            latinName = latinName.Replace(' ', '-');

            await this.awardsService.EditAsync(awardToEdit.Name, latinName, awardToEdit.Date, awardToEdit.Location, awardToEdit.Place, imageUrl, user.Id, awardToEdit.Id);

            return(this.RedirectToAction("All"));
        }
Example #18
0
        public async Task <IActionResult> Edit(DanceEditViewModel danceToEdit)
        {
            var user = await this.userManager.GetUserAsync(this.User);

            var imageUrl = string.Empty;

            if (danceToEdit.Picture != null)
            {
                imageUrl = await CloudinaryExtension.UploadSingleAsync(this.cloudinary, danceToEdit.Picture);
            }

            string latinName = Transliteration.CyrillicToLatin(danceToEdit.Name, Language.Bulgarian);

            latinName = latinName.Replace(' ', '-');

            await this.dancesService.EditAsync(danceToEdit.Name, danceToEdit.Description, user.Id, imageUrl, latinName, danceToEdit.FolkloreArea, danceToEdit.VideoUrl, danceToEdit.Id);

            return(this.RedirectToAction("ByName", new { name = latinName }));
        }
Example #19
0
        public async Task <IActionResult> CreateAsync(AwardsCreateInputModel input)
        {
            if (!this.ModelState.IsValid)
            {
                return(this.View(input));
            }

            var user = await this.userManager.GetUserAsync(this.User);

            var imageUrl = await CloudinaryExtension.UploadSingleAsync(this.cloudinary, input.Picture);

            string latinName = Transliteration.CyrillicToLatin(input.Name, Language.Bulgarian);

            latinName = latinName.Replace(' ', '-');

            _ = await this.awardsService.CreateAsync(input.Name, latinName, input.Date, input.Location, input.Place, imageUrl, user.Id);

            return(this.RedirectToAction("All"));
        }
Example #20
0
        public async Task <IActionResult> Edit(LocationsEditViewModel locationToEdit)
        {
            var user = await this.userManager.GetUserAsync(this.User);

            var imageUrls = new List <string>();

            if (locationToEdit.Pictures != null)
            {
                imageUrls = await CloudinaryExtension.UploadMultipleAsync(this.cloudinary, locationToEdit.Pictures);
            }

            string latinName = Transliteration.CyrillicToLatin(locationToEdit.Name, Language.Bulgarian);

            latinName = latinName.Replace(' ', '-');

            await this.locationsService.EditAsync(locationToEdit.Name, locationToEdit.Description, locationToEdit.Adress, locationToEdit.PhoneNumber, locationToEdit.Email, locationToEdit.Website, locationToEdit.FacebookPage, locationToEdit.InstagramPage, user.Id, locationToEdit.MapLink, locationToEdit.Perks, locationToEdit.Type, imageUrls, latinName, locationToEdit.Id);

            return(this.RedirectToAction("ByName", new { name = latinName }));
        }
Example #21
0
        public async Task <IActionResult> Edit(NewsEditViewModel newsPostToEdit)
        {
            var user = await this.userManager.GetUserAsync(this.User);

            var imageUrl = string.Empty;

            if (newsPostToEdit.Picture != null)
            {
                imageUrl = await CloudinaryExtension.UploadSingleAsync(this.cloudinary, newsPostToEdit.Picture);
            }

            string latinTitle = Transliteration.CyrillicToLatin(newsPostToEdit.Title, Language.Bulgarian);

            latinTitle = latinTitle.Replace(' ', '-');

            await this.newsService.EditAsync(newsPostToEdit.Title, newsPostToEdit.Content, user.Id, imageUrl, latinTitle, newsPostToEdit.Author, newsPostToEdit.Id);

            return(this.RedirectToAction("ByName", new { name = latinTitle }));
        }
Example #22
0
        /// <summary>
        /// Возвращает URL на основе заполненной модели данных
        /// </summary>
        /// <returns>URL</returns>
        public string ToURLString()
        {
            string _baseURL           = "https://www.avito.ru/";
            NameValueCollection query = System.Web.HttpUtility.ParseQueryString(string.Empty);

            //Для примера https://www.avito.ru/krasnodar/kvartiry/sdam/na_dlitelnyy_srok/2-komnatnye-ASgBAQICAkSSA8gQ8AeQUgFAzAgUkFk?cd=1&pmax=25000
            string url = _baseURL.AppendToURL(
                Transliteration.CyrillicToLatin(City), //город
                "kvartiry",                            //константа
                "sdam",                                //константа
                Type.GetDescription(),                 //текстовое представление значения enum (на длительный срок, посуточно)
                $"{Rooms}-komnatnye"                   //количество комнат
                );

            query.Add("pmax", PriceMax.ToString());
            query.Add("pmin", PriceMin.ToString());
            query.ToString();

            return($"{url}?{query}");
        }
Example #23
0
 public string ToTranslit(string text)
 {
     foreach (char c in text)
     {
         int res;
         if (!int.TryParse(c.ToString(), out res))
         {
             if (IsBasicLetter(c))
             {
                 text = Transliteration.LatinToCyrillyc(text, Language.Russian);
                 break;
             }
             else
             {
                 text = Transliteration.CyrillicToLatin(text);
                 break;
             }
         }
     }
     return(text);
 }
Example #24
0
        public static void CreateEmail()
        {
            SqlDataReader rdr = null;

            try
            {
                conn.Open();
                cmd = new SqlCommand("select * from Students", conn);
                rdr = cmd.ExecuteReader();
                foreach (SqlDataReader r in rdr)
                {
                    foreach (var r1 in (SqlDataReader)r["FName"])
                    {
                        string tempfName = Transliteration.CyrillicToLatin((String)r1, Language.Russian).Substring(0, 1);
                    }
                }
            }
            catch (Exception e)
            {
            }
        }
Example #25
0
        public string MakePdf(string html, string userName)
        {
            var option = new PdfPrintOptions
            {
                CustomCssUrl = new Uri(Path.Combine(Environment.CurrentDirectory, @"wwwroot\lib\bootstrap\dist\css\bootstrap.css")),
                MarginBottom = 5,
                MarginLeft   = 5,
                MarginRight  = 5,
                MarginTop    = 5
            };
            var renderer         = new HtmlToPdf(option);
            var doc              = renderer.RenderHtmlAsPdf(html);
            var tempPath         = Path.GetTempPath();
            var translitUserName = Transliteration.CyrillicToLatin(userName);

            translitUserName = translitUserName.Replace(' ', '-');
            var fileName = $"Otchet-{translitUserName}-{DateTime.Now.ToString("yyyy-MM-dd")}.pdf";
            var fullPath = Path.Combine(tempPath, fileName);

            System.IO.File.WriteAllBytes(fullPath, doc.BinaryData);
            return(fileName);
        }
        public void Validate(ValidationData data)
        {
            string pattern = "^[A-Za-z0-9 \\r\\n@£$¥èéùìòÇØøÅå\u0394_\u03A6\u0393\u039B\u03A9\u03A0\u03A8\u03A3\u0398\u039EÆæßÉ!\"#$%&amp;'()*+,\\-./:;&lt;=&gt;?¡ÄÖÑܧ¿äöñüà^{}\\\\\\[~\\]|\u20AC]*$";

            if (Regex.IsMatch(data.Message, pattern))
            {
                data.AddMaxMessageLength(160);
                return;
            }

            string tmpString = Transliteration.CyrillicToLatin(data.Message);

            if (Regex.IsMatch(tmpString, pattern))
            {
                data.Message = tmpString;
                data.AddMaxMessageLength(128);
                return;
            }

            throw new BadRequestException(
                      406,
                      "406 BAD_REQUEST MESSAGE_INVALID: Invite message should contain only characters in 7-bit GSM encoding or Cyrillic letters as well.");
        }
        public static String[] getATP(string parsedTtile)
        {
            Boolean isATP      = false;
            string  allWords   = "ATP,Challenger,Qualification,Double,Final,Hard,Clay,Grass,Carpet";
            Boolean isLocation = false;

            String[] temp  = { "Null", "Null", "Null", "Null", "Null", "Null", "Unknown Location" };
            String[] parts = parsedTtile.Split(',');
            for (int i = 0; i < parts.Length; i++)
            {
                if (parts[i] == "ATP")
                {
                    isATP   = true;
                    temp[0] = "ATP";
                }
                if (parts[i] == "Challenger")
                {
                    temp[1] = "Challenger";
                }
                if (parts[i] == "Qualification")
                {
                    temp[2] = "Qualification";
                }
                if (parts[i] == "Double")
                {
                    temp[3] = "Double";
                }
                if (parts[i] == "Final")
                {
                    temp[4] = "Final";
                }
                if (parts[i] == "Hard")
                {
                    temp[5] = "Hard";
                }
                if (parts[i] == "Clay")
                {
                    temp[5] = "Clay";
                }
                if (parts[i] == "Grass")
                {
                    temp[5] = "Grass";
                }
                if (parts[i] == "Carpet")
                {
                    temp[5] = "Carpet";
                }
                if (parts[i] == "Unknown Court")
                {
                    temp[5] = "Unknown Court";
                }
                if (!allWords.Contains(parts[i]) && !isLocation && parts[i].Length > 0)
                {
                    isLocation = true;
                    if ((parts[i].LastIndexOf(" ") == parts[i].Length - 2) || (parts[i].LastIndexOf("-") == parts[i].Length - 2))
                    {
                        parts[i] = parts[i].Substring(0, parts[i].Length - 2);
                    }
                    temp[6] = parts[i];
                    temp[6] = Transliteration.CyrillicToLatin(temp[6], Language.Russian);
                }
            }
            if (!isATP)
            {
                temp[0] = ""; temp[1] = ""; temp[2] = ""; temp[3] = ""; temp[4] = ""; temp[5] = ""; temp[6] = "";
            }
            return(temp);
        }
Example #28
0
        protected async Task <IAccountData> Registration(IAccountData accountData, SmsServiceCode smsServiceCode, ServiceCode serviceCode, CountryCode countryCode = CountryCode.RU, ILog log = null)
        {
            try
            {
                log?.Debug($@"{Enum.GetName(typeof(ServiceCode), serviceCode)}  via {Enum.GetName(typeof(SmsServiceCode), smsServiceCode)} start... - {DateTime.Now} {Environment.NewLine}");
                if (string.IsNullOrEmpty(accountData.AccountName))
                {
                    accountData.AccountName = Transliteration.CyrillicToLatin($"{accountData.Firstname.ToLower()}.{accountData.Lastname.ToLower()}", Language.Russian);
                    accountData.AccountName = accountData.AccountName.Replace("`", "");
                }
                accountData = StoreAccountData(accountData);
                ISmsService smsService = _smsServices.GetSmsService(smsServiceCode);
                IBot        iBot;
                switch (serviceCode)
                {
                case ServiceCode.MailRu:
                    iBot = new MailRuRegistration(accountData, smsService, _chromiumSettings);
                    break;

                case ServiceCode.Yandex:
                    iBot = new YandexRegistration(accountData, smsService, _chromiumSettings);
                    break;

                case ServiceCode.Gmail:
                    iBot = new GmailRegistration(accountData, smsService, _chromiumSettings);
                    break;

                case ServiceCode.Facebook:
                    iBot = new FacebookRegistration(accountData, smsService, _chromiumSettings);
                    break;

                case ServiceCode.Vk:
                    iBot = new VkRegistration(accountData, smsService, _chromiumSettings);
                    break;

                case ServiceCode.Ok:
                    iBot = new OkRegistration(accountData, smsService, _chromiumSettings);
                    break;

                default:
                    throw new ArgumentOutOfRangeException();
                }
                //var countryCode = CountryCode.RU;
                if (!string.IsNullOrEmpty(accountData.PhoneCountryCode))
                {
                    countryCode = (CountryCode)Enum.Parse(typeof(CountryCode), accountData.PhoneCountryCode);
                }
                accountData = await iBot.Registration(countryCode);

                StoreAccountData(accountData);
            }
            catch (Exception exception)
            {
                log?.Error(exception);
            }
            finally
            {
                log?.Debug($@"{Enum.GetName(typeof(ServiceCode), serviceCode)}  via {Enum.GetName(typeof(SmsServiceCode), smsServiceCode)} finish... - {DateTime.Now} {Environment.NewLine}");
            }
            return(accountData);
        }
Example #29
0
        public ActionResult Add(StudentViewModel studentViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View(studentViewModel));
            }
            using (var dbCotext = new ApplicationDbContext())
            {
                if (dbCotext.Users.Any(u => u.UserName == studentViewModel.UserName))
                {
                    ModelState.AddModelError("", "Имя пользователя уже используется");
                    return(View(studentViewModel));
                }

                var direction    = dbCotext.Directions.FirstOrDefault(d => d.Id == studentViewModel.DirectionId);
                var status       = dbCotext.Statuses.FirstOrDefault(d => d.Id == studentViewModel.StatusId);
                var profile      = dbCotext.Profiles.FirstOrDefault(d => d.Id == studentViewModel.NewProfileId);
                var currentGroup = dbCotext.Groups.FirstOrDefault(d => d.Id == studentViewModel.CurrentGroupId);
                var previewGroup = dbCotext.Groups.FirstOrDefault(d => d.Id == studentViewModel.PreviewGroupId);
                var newGroup     = dbCotext.Groups.FirstOrDefault(d => d.Id == studentViewModel.NewGroupId);
                var login        = studentViewModel.LastName.ToLower();
                if (studentViewModel.FirstName.Any())
                {
                    login += studentViewModel.FirstName.ToLower()[0];
                }
                if (studentViewModel.Patronymic.Any())
                {
                    login += studentViewModel.Patronymic.ToLower()[0];
                }
                login = Transliteration.CyrillicToLatin(login);
                var loginCount = dbCotext.Users.Count(s => s.UserName.Contains(login));
                if (loginCount > 0)
                {
                    login += loginCount;
                }

                var student = dbCotext.Users.Add(new ApplicationUser
                {
                    UserName     = login,
                    FirstName    = studentViewModel.FirstName,
                    LastName     = studentViewModel.LastName,
                    Patronymic   = studentViewModel.Patronymic,
                    FullName     = studentViewModel.LastName + " " + studentViewModel.FirstName + " " + studentViewModel.Patronymic,
                    Number       = studentViewModel.Number,
                    StatusComm   = studentViewModel.StatusComm,
                    Status       = status,
                    CurrentGroup = currentGroup,
                    //PreviewGroup = previewGroup,
                    //NewGroup = newGroup,
                    Direction = currentGroup.Direction,
                    //NewProfile = profile,
                    CreateDate     = DateTime.Now,
                    ValidUntil     = studentViewModel.ValidUntil,
                    EmailConfirmed = true,
                    PasswordHash   = Membership.GeneratePassword(6, 1),
                    SecurityStamp  = ""
                });
                dbCotext.SaveChanges();

                var store   = new UserStore <ApplicationUser>(dbCotext);
                var manager = new UserManager <ApplicationUser>(store);
                manager.AddToRole(student.Id, Constants.RolesConstants.Student.Name);
                //добавить проверку роли
                return(RedirectToAction("Students", "Home", new { Area = "Admin" }));
            }
        }
Example #30
0
 /// <summary>
 /// Переводит строку в транслит
 /// </summary>
 protected string FuncTranslit(string input)
 {
     return(SafeString(Transliteration.CyrillicToLatin(input, Language.Russian)));
 }