public IActionResult StartDate()
        {
            CitizenUser citizenUser = new CitizenUser();

            if (User.Identity.IsAuthenticated)
            {
                var userName = User.Identity.Name;
                citizenUser = _userManager.Users.FirstOrDefault(p => p.Email == userName);
            }
            CitizenReport citizenReport = _examDBContect.DbCitizenReport.FirstOrDefault(p => p.Passport == citizenUser.Passport);

            citizenReport.StartDate = DateTime.UtcNow.AddSeconds(2400);
            // citizenReport.StartDate= DateTime.UtcNow.AddSeconds(95);
            _examDBContect.DbCitizenReport.Update(citizenReport);
            _examDBContect.SaveChanges();

            TempQuestions tempQuestions = new TempQuestions();

            tempQuestions = _examDBContect.DbTempQuestions.FirstOrDefault(p => p.Passport == citizenUser.Passport);
            if (tempQuestions != null)
            {
                tempQuestions.CurrentAttempt = 31;
                //   tempQuestions.TestStart = false;
                tempQuestions.TestEnd = false;
                tempQuestions.QestEnd = false;
                _examDBContect.DbTempQuestions.Update(tempQuestions);
                _examDBContect.SaveChanges();
            }


            return(RedirectToAction("Random", "Questions"));
        }
Beispiel #2
0
        public void Validate(CitizenUser user)
        {
            if (user == null)
            {
                throw new ValidationException("Specified user does not exist.");
            }

            if (string.IsNullOrWhiteSpace(user.Login))
            {
                var invalidUserName = $"Login '{user.Login}' is invalid, can only contain letters or digits.";
                validationMessages += Environment.NewLine + invalidUserName;
            }

            var owner = citizenUserRepository.GetUserByLogin(user.Login);

            if (owner != null && owner.Id != user.Id)
            {
                var duplicateUserName = $"Login {user.Login} is already taken.";
                validationMessages += Environment.NewLine + duplicateUserName;
            }

            ValidatePassword(user.Password);

            if (validationMessages != string.Empty)
            {
                throw new ValidationException(validationMessages);
            }
        }
Beispiel #3
0
        public async Task <IActionResult> Register(RegisterViewModel model)
        {
            if (ModelState.IsValid)
            {
                // Copy data from RegisterViewModel to IdentityUser
                var user = new CitizenUser
                {
                    UserName    = model.Email,
                    Email       = model.Email,
                    FirstName   = model.FirstName,
                    LastName    = model.LastName,
                    SecondName  = model.SecondName,
                    Passport    = model.Passport,
                    PhoneNumber = model.PhoneNumber
                };

                // Store user data in AspNetUsers database table
                var result = await _userManager.CreateAsync(user, model.Password);

                // If user is successfully created, sign-in the user using
                // SignInManager and redirect to index action of HomeController
                if (result.Succeeded)
                {
                    CitizenReport citizenReport = new CitizenReport()
                    {
                        FirstName        = user.FirstName,
                        LastName         = user.LastName,
                        SecondName       = user.SecondName,
                        PhoneNumber      = user.PhoneNumber,
                        Email            = user.Email,
                        Test1DataTime    = DateTime.MinValue,
                        Test2DataTime    = DateTime.MinValue,
                        Test1Check       = false,
                        Test2Check       = false,
                        Result_Test1     = 0,
                        NumberTicket     = 0,
                        Passport         = user.Passport,
                        Notification     = false,
                        NotificationData = DateTime.MinValue
                    };

                    _examDBContect.DbCitizenReport.Update(citizenReport);
                    _examDBContect.SaveChanges();

                    await _signInManager.SignInAsync(user, isPersistent : false);

                    return(RedirectToAction("index", "home"));
                }

                // If there are any errors, add them to the ModelState object
                // which will be displayed by the validation summary tag helper
                foreach (var error in result.Errors)
                {
                    ModelState.AddModelError(string.Empty, error.Description);
                }
            }

            return(View(model));
        }
        public static PoliceNotification OfficerTookViolation(CitizenUser user)
        {
            var result = GetDefault(user);

            result.Title   = "Ваше заявление было обработано";
            result.Message = "Ваше заявление было принято. Судья в скором времени решит ваш вопрос";
            return(result);
        }
 private static PoliceNotification GetDefault(CitizenUser toUser)
 {
     return(new PoliceNotification()
     {
         CurrentStatus = ReadStatus.WasNotRead,
         Date = DateTime.Now,
         ToUser = toUser
     });
 }
        public static PoliceNotification OfficerDeniedFromViolation(CitizenUser user)
        {
            var result = GetDefault(user);

            result.Title   = "Суд отказался от дела.";
            result.Message = "Судья отказался от данного дела. В данный момент заявлению " +
                             "присвоен статус ожидания. В скором времени за дело возьмется другой судья";
            return(result);
        }
        public void MakePolicemanFromUser(CitizenUser user)
        {
            var policeman = new Policeman()
            {
                User = user, Rank = PolicemanRank.NotVerified
            };

            Save(policeman);
        }
        public IActionResult RandomT()
        {
            CitizenUser citizenUser = new CitizenUser();

            if (User.Identity.IsAuthenticated)
            {
                var userName = User.Identity.Name;
                citizenUser = _userManager.Users.FirstOrDefault(p => p.Email == userName);
            }

            CitizenReport citizenReport = _examDBContect.DbCitizenReport.FirstOrDefault(p => p.Passport == citizenUser.Passport);

            var startDate = citizenReport.StartDate;

            ViewBag.TiemExasise = startDate;


            Random             random             = new Random();
            int                rundomNumber       = random.Next(1, 8);
            EmptyTextViewModel emptyTextViewModel = _examDBContect.DbEmptyTextViewModel
                                                    .FirstOrDefault(p => p.Id == rundomNumber);

            //ViewBags Start
            #region ViewBags Start
            ViewBag.NumberTicket = emptyTextViewModel.Id;
            ViewBag.Region       = emptyTextViewModel.Region;
            ViewBag.Community    = emptyTextViewModel.Community;
            ViewBag.CEC          = emptyTextViewModel.CEC;
            ViewBag.TEC          = emptyTextViewModel.TEC;
            ViewBag.Participants = emptyTextViewModel.Participants;
            ViewBag.AllAdditionallyDuringElDay = emptyTextViewModel.AllAdditionallyDuringElDay;
            ViewBag.AllMobileVoters            = emptyTextViewModel.AllMobileVoters;
            ViewBag.PartMobileVoters           = emptyTextViewModel.PartMobileVoters;
            ViewBag.VadTickets             = emptyTextViewModel.VadTickets;
            ViewBag.NumerableTickets       = emptyTextViewModel.NumerableTickets;
            ViewBag.UnusedNumerableTickets = emptyTextViewModel.UnusedNumerableTickets;
            ViewBag.UnusedGlueTickets      = emptyTextViewModel.UnusedGlueTickets;
            ViewBag.InvalidTickets         = emptyTextViewModel.InvalidTickets;
            ViewBag.ForA                = emptyTextViewModel.ForA;
            ViewBag.ForB                = emptyTextViewModel.ForB;
            ViewBag.ForC                = emptyTextViewModel.ForC;
            ViewBag.ForAx               = emptyTextViewModel.ForAx;
            ViewBag.ForAy               = emptyTextViewModel.ForAy;
            ViewBag.ForBm               = emptyTextViewModel.ForBm;
            ViewBag.ForBn               = emptyTextViewModel.ForBn;
            ViewBag.ForCk               = emptyTextViewModel.ForCk;
            ViewBag.ForCl               = emptyTextViewModel.ForCl;
            ViewBag.ListAll             = emptyTextViewModel.ListAll;
            ViewBag.TecGlueTickets      = emptyTextViewModel.TecGlueTickets;
            ViewBag.TecNumerableTickets = emptyTextViewModel.TecNumerableTickets;
            #endregion
            //ViewBags end

            return(View("TestInput"));
        }
Beispiel #9
0
        public IActionResult AddCitizen(string name, string url)
        {
            var dbModel = new CitizenUser()
            {
                Login     = name,
                AvatarUrl = url
            };

            _webMazeContext.CitizenUser.Add(dbModel);

            _webMazeContext.SaveChanges();

            return(RedirectToAction("Lvou", "Student"));
        }
        public static PoliceNotification[] AcceptedViolation(CitizenUser blamedUser, CitizenUser blamingUser)
        {
            var blaming = GetDefault(blamingUser);

            blaming.Title   = "Дело закрыто в вашу пользу";
            blaming.Message = "Суд принял ваши жалобы. Доп. информация на странице дела";

            var blamed = GetDefault(blamedUser);

            blamed.Title   = "Дело закрыто не в вашу пользу";
            blamed.Message = "К сожалению, суд принял решение принять жалобы в вашу сторону. Доп. информация на странице дела";

            return(new PoliceNotification[] { blaming, blamed });
        }
        public static PoliceNotification[] DenyViolation(CitizenUser blamedUser, CitizenUser blamingUser)
        {
            var blaming = GetDefault(blamingUser);

            blaming.Title   = "Суд принял решение отозвать заявление";
            blaming.Message = "Суд отказался от рассмотрения вашего дела. Доп. информация на странице дела";

            var blamed = GetDefault(blamedUser);

            blamed.Title   = "Дело закрыто в вашу пользу";
            blamed.Message = "Поздравляем, суд решил, что вы невиновны и закрывает это дело. Доп. информация на странице дела";

            return(new PoliceNotification[] { blaming, blamed });
        }
Beispiel #12
0
        public IActionResult Result()
        {
            CitizenUser citizenUser = new CitizenUser();

            if (User.Identity.IsAuthenticated)
            {
                var userName = User.Identity.Name;
                citizenUser = _userManager.Users.FirstOrDefault(p => p.Email == userName);
            }
            CitizenReport citizenReport = _examDBContect.DbCitizenReport.FirstOrDefault(p => p.Passport == citizenUser.Passport);


            return(View(citizenReport));
        }
Beispiel #13
0
        private Certificate GenerateCertificate(string certificateName, CitizenUser owner)
        {
            var certificate = new Certificate
            {
                Name  = certificateName,
                Owner = owner
            };

            switch (certificateName)
            {
            case "Diploma of Higher Education":
                certificate.Description =
                    "The document certifies that the person completed a course of study in a university";
                certificate.IssuedBy   = "University";
                certificate.IssueDate  = owner.BirthDate + TimeSpan.FromDays(22 * 365);
                certificate.ExpiryDate = DateTime.MaxValue;
                break;

            case "Birth Certificate":
                certificate.Description = "The certificate documents the birth of the person";
                certificate.IssuedBy    = "Hospital";
                certificate.IssueDate   = owner.BirthDate;
                certificate.ExpiryDate  = DateTime.MaxValue;
                break;

            case "Policeman Certificate":
                certificate.Description = "The document assure qualification to work as a policeman";
                certificate.IssuedBy    = "Police";
                certificate.IssueDate   = new DateTime(2021, 1, 28);
                certificate.ExpiryDate  = new DateTime(2022, 1, 28);
                break;

            case "Doctor Certificate":
                certificate.Description = "The document assure qualification to work as a doctor";
                certificate.IssuedBy    = "Health Department";
                certificate.IssueDate   = new DateTime(2020, 5, 3);
                certificate.ExpiryDate  = new DateTime(2021, 5, 3);
                break;

            case "Bus driver license":
                certificate.Description = "Official document, permitting a specific individual to operate bus.";
                certificate.IssuedBy    = "Interior Ministry";
                certificate.IssueDate   = new DateTime(2020, 5, 3);
                certificate.ExpiryDate  = new DateTime(2030, 5, 3);
                break;
            }

            return(certificate);
        }
        public static PoliceNotification[] AddViolation(CitizenUser blamedUser, CitizenUser blamingUser)
        {
            var blaming = GetDefault(blamingUser);

            blaming.Title   = "Ваше заявление принято";
            blaming.Message = $"Ваше заявление насчет пользователя {blamedUser.FirstName} {blamedUser.LastName} принято";

            var blamed = GetDefault(blamedUser);

            blamed.Title   = "Внимание, к вам поступила жалоба";
            blamed.Message = $"Пользователь {blamingUser.FirstName} {blamingUser.LastName} отправил к вам жалобу. " +
                             $"Чтобы проверить статус жалобы, перейдите по ссылке";

            return(new PoliceNotification[] { blaming, blamed });
        }
Beispiel #15
0
        public async Task <IActionResult> OnGetAsync(string id)
        {
            CitizenUser user = await userManager.FindByIdAsync(id);

            if (user != null)
            {
                Form.Id         = user.Id;
                Form.User       = user.UserName;
                Form.Email      = user.Email;
                Form.Dispatcher = user.Dispatcher;
                Form.Position   = user.Position;
                return(Page());
            }
            else
            {
                return(RedirectToPage("Index"));
            }
        }
        public async Task <IActionResult> OnPostAsync(Models.Admin.RoleModificationMod model)
        {
            IdentityResult result;

            if (ModelState.IsValid)
            {
                foreach (string userId in model.IdsToAdd ?? new string[] { })
                {
                    CitizenUser user = await userManager.FindByIdAsync(userId);

                    if (user != null)
                    {
                        result = await userManager.AddToRoleAsync(user, model.RoleName);

                        if (!result.Succeeded)
                        {
                            AddErrorsFromResult(result);
                        }
                    }
                }
            }
            foreach (string userId in model.IdsToDelete ?? new string[] { })
            {
                CitizenUser user = await userManager.FindByIdAsync(userId);

                if (user != null)
                {
                    result = await userManager.RemoveFromRoleAsync(user, model.RoleName);

                    if (!result.Succeeded)
                    {
                        AddErrorsFromResult(result);
                    }
                }
            }
            if (ModelState.IsValid)
            {
                return(RedirectToPage("Index"));
            }
            else
            {
                return(Redirect(Url.Page("Edit", new { id = model.RoleId })));
            }
        }
Beispiel #17
0
        public static IHost Seed(this IHost host)
        {
            using (var scope = host.Services.CreateScope())
            {
                var citizenUserRepository = scope.ServiceProvider.GetService <CitizenUserRepository>();
                var user = citizenUserRepository.GetUserByName(AdminUserName);
                if (user == null)
                {
                    user = new CitizenUser()
                    {
                        Login    = AdminUserName,
                        Password = "******"
                    };

                    citizenUserRepository.Save(user);
                }
            }
            return(host);
        }
Beispiel #18
0
        public async Task <IActionResult> OnPostAsync()
        {
            if (ModelState.IsValid)
            {
                if (!await roleManager.RoleExistsAsync("Пользователь"))
                {
                    ModelState.AddModelError("", "Роль \"Пользователь\" не найдена, свяжитесь с администратором.");
                }
                else
                {
                    CitizenUser user = new CitizenUser
                    {
                        UserName = Name,
                        Email    = Email
                    };
                    IdentityResult result = await userManager.CreateAsync(user, Password);

                    if (!result.Succeeded)
                    {
                        AddErrorsFromResult(result);
                    }
                    else
                    {
                        result = await userManager.AddToRoleAsync(user, "Пользователь");

                        if (!result.Succeeded)
                        {
                            AddErrorsFromResult(result);
                            await userManager.DeleteAsync(user);
                        }
                        else
                        {
                            await signinManager.SignInAsync(user, false);

                            return(Redirect("~/"));
                        }
                    }
                }
            }
            return(Page());
        }
Beispiel #19
0
        public OperationResult RemoveFromRole(CitizenUser user, string roleName)
        {
            if (user == null)
            {
                return(OperationResult.Failed("Specified user does not exist."));
            }

            var role = roleRepository.GetRoleByName(roleName);

            if (role == null)
            {
                return(OperationResult.Failed("Specified role does not exist."));
            }

            if (!IsInRole(user, roleName))
            {
                return(OperationResult.Failed($"User {user.Login} is not in role = {roleName}"));
            }

            user.Roles.Remove(role);
            citizenUserRepository.Save(user);
            return(OperationResult.Success());
        }
        public bool IsUserPoliceman(CitizenUser user)
        {
            var item = dbSet.Where(p => p.User == user).SingleOrDefault();

            return(item != null);
        }
Beispiel #21
0
        public async Task <IActionResult> OnPostAsync(string password)
        {
            CitizenUser _user = await userManager.FindByIdAsync(Form.Id);

            bool isDispPosModified = false;

            if (_user != null)
            {
                if (!string.IsNullOrEmpty(Form.User))
                {
                    _user.UserName = Form.User;
                }
                if (Form.Dispatcher != _user.Dispatcher)
                {
                    _user.Dispatcher  = Form.Dispatcher;
                    isDispPosModified = true;
                }
                if (Form.Position != _user.Position)
                {
                    _user.Position    = Form.Position;
                    isDispPosModified = true;
                }
                IdentityResult validEmail = null;
                if (!string.IsNullOrEmpty(Form.Email))
                {
                    _user.Email = Form.Email;
                    validEmail  = await userValidator.ValidateAsync(userManager, _user);

                    if (!validEmail.Succeeded)
                    {
                        AddErrorsFromResult(validEmail);
                    }
                }
                IdentityResult validPass = null;
                if (!string.IsNullOrEmpty(password))
                {
                    validPass = await passwordValidator.ValidateAsync(userManager, _user, password);

                    if (validPass.Succeeded)
                    {
                        _user.PasswordHash = passwordHasher.HashPassword(_user, password);
                    }
                    else
                    {
                        AddErrorsFromResult(validPass);
                    }
                }
                if (!(!isDispPosModified || (string.IsNullOrEmpty(Form.User) && (validPass == null && validEmail == null)) || (validEmail != null && !validEmail.Succeeded || validPass != null && !validPass.Succeeded)))
                {
                    IdentityResult result = await userManager.UpdateAsync(_user);

                    if (result.Succeeded)
                    {
                        return(RedirectToPage("Index"));
                    }
                    else
                    {
                        AddErrorsFromResult(result);
                    }
                }
            }
            else
            {
                ModelState.AddModelError("", "Пользователь не найден");
            }
            return(Page());
        }
Beispiel #22
0
 public virtual void ChangePassword(CitizenUser user, string oldPassword, string newPassword)
 {
     throw new NotImplementedException();
 }
Beispiel #23
0
 public Certificate GetByUserAndType(CitizenUser owner, string certifacateName)
 {
     return(DbSet.SingleOrDefault(x => x.Name == certifacateName && x.Owner == owner));
 }
Beispiel #24
0
        public async Task <IActionResult> OnPostAsync(string returnUrl, [FromServices] UserManager <CitizenUser> userMgr, [FromServices] SignInManager <CitizenUser> signinMgr)
        {
            if (ModelState.IsValid)
            {
                if (string.IsNullOrEmpty(returnUrl) || returnUrl == "/" || string.Equals(returnUrl, "/Index", System.StringComparison.OrdinalIgnoreCase) ||
                    string.Equals(returnUrl, "/Compose", System.StringComparison.OrdinalIgnoreCase))
                {
                    isAuthority = false;
                    CitizenUser user = await userMgr.FindByEmailAsync(Email);

                    if (user != null)
                    {
                        if (await userMgr.IsInRoleAsync(user, "Пользователь"))
                        {
                            await signinMgr.SignOutAsync();

                            Microsoft.AspNetCore.Identity.SignInResult result =
                                await signinMgr.PasswordSignInAsync(user, Password, false, false);

                            if (result.Succeeded)
                            {
                                return(Redirect(returnUrl ?? "/"));
                            }
                            else
                            {
                                ModelState.AddModelError("", "Что то пошло не так, свяжитесь с администратором");
                            }
                        }
                        else
                        {
                            ModelState.AddModelError("", "Данный пользователь не относится к роли \"Пользователь\"");
                        }
                    }
                    else
                    {
                        ModelState.AddModelError("", "Неправильны пользователь или пароль");
                    }
                }
                else
                {
                    isAuthority = true;
                    CitizenUser user = await userMgr.FindByEmailAsync(Email);

                    if (user != null)
                    {
                        if (await userMgr.IsInRoleAsync(user, "ПервУровень") || await userMgr.IsInRoleAsync(user, "СредУровень") || await userMgr.IsInRoleAsync(user, "ТопУровень"))
                        {
                            await signinMgr.SignOutAsync();

                            Microsoft.AspNetCore.Identity.SignInResult result =
                                await signinMgr.PasswordSignInAsync(user, Password, false, false);

                            if (result.Succeeded)
                            {
                                return(Redirect(returnUrl ?? "/"));
                            }
                            else
                            {
                                ModelState.AddModelError("", "Что то пошло не так, свяжитесь с администратором");
                            }

                            if (await userMgr.IsInRoleAsync(user, "Диспетчер"))
                            {
                                return(RedirectToPage("/Dispatcher"));
                            }
                            else
                            {
                                return(RedirectToPage("/Agent"));
                            }
                        }
                        else
                        {
                            ModelState.AddModelError("", "Уровень доступа не определён");
                        }
                    }
                    else
                    {
                        ModelState.AddModelError("", "Исполнитель не найден");
                    }
                }
            }
            else
            {
                if (string.IsNullOrEmpty(returnUrl) || returnUrl == "/" || string.Equals(returnUrl, "/Index", System.StringComparison.OrdinalIgnoreCase) ||
                    string.Equals(returnUrl, "/Compose", System.StringComparison.OrdinalIgnoreCase))
                {
                    isAuthority = false;
                }
                else
                {
                    isAuthority = true;
                }
            }
            ViewData["returnUrl"] = returnUrl;
            return(Page());
        }
Beispiel #25
0
        public IActionResult Test(CitizenTestResults citizenTestResults, int testTicket)
        {
            //  if (ModelState.IsValid)
            //   {
            citizenTestResults.NumberTicket = testTicket;
            _examDBContect.Add(citizenTestResults);
            _examDBContect.SaveChanges();

            //   }

            EmptyTextViewModel emptyTextViewModel = _examDBContect.DbEmptyTextViewModel
                                                    .FirstOrDefault(p => p.Id == testTicket);
            CitizenTestViewModel citizenTestViewModel = _testChecked.TestResult(citizenTestResults, emptyTextViewModel);

            citizenTestResults.Result = citizenTestViewModel.Result;

            //ViewBags Start

            ViewBag.NumberTicket = emptyTextViewModel.Id;
            ViewBag.Region       = emptyTextViewModel.Region;
            ViewBag.Community    = emptyTextViewModel.Community;
            ViewBag.CEC          = emptyTextViewModel.CEC;
            ViewBag.TEC          = emptyTextViewModel.TEC;
            ViewBag.Participants = emptyTextViewModel.Participants;
            ViewBag.AllAdditionallyDuringElDay = emptyTextViewModel.AllAdditionallyDuringElDay;
            ViewBag.AllMobileVoters            = emptyTextViewModel.AllMobileVoters;
            ViewBag.PartMobileVoters           = emptyTextViewModel.PartMobileVoters;
            ViewBag.VadTickets             = emptyTextViewModel.VadTickets;
            ViewBag.NumerableTickets       = emptyTextViewModel.NumerableTickets;
            ViewBag.UnusedNumerableTickets = emptyTextViewModel.UnusedNumerableTickets;
            ViewBag.UnusedGlueTickets      = emptyTextViewModel.UnusedGlueTickets;
            ViewBag.InvalidTickets         = emptyTextViewModel.InvalidTickets;
            ViewBag.ForA                = emptyTextViewModel.ForA;
            ViewBag.ForB                = emptyTextViewModel.ForB;
            ViewBag.ForC                = emptyTextViewModel.ForC;
            ViewBag.ForAx               = emptyTextViewModel.ForAx;
            ViewBag.ForAy               = emptyTextViewModel.ForAy;
            ViewBag.ForBm               = emptyTextViewModel.ForBm;
            ViewBag.ForBn               = emptyTextViewModel.ForBn;
            ViewBag.ForCk               = emptyTextViewModel.ForCk;
            ViewBag.ForCl               = emptyTextViewModel.ForCl;
            ViewBag.ListAll             = emptyTextViewModel.ListAll;
            ViewBag.TecGlueTickets      = emptyTextViewModel.TecGlueTickets;
            ViewBag.TecNumerableTickets = emptyTextViewModel.TecNumerableTickets;

            //ViewBags end

            CitizenUser citizenUser = new CitizenUser();

            if (User.Identity.IsAuthenticated)
            {
                var userName = User.Identity.Name;
                citizenUser = _userManager.Users.FirstOrDefault(p => p.Email == userName);

                ViewBag.UserFullName = citizenUser.FirstName + " " +
                                       citizenUser.SecondName + " " +
                                       citizenUser.LastName;
            }

            CitizenReport citizenReport = _examDBContect.DbCitizenReport
                                          .FirstOrDefault(p => p.Passport == citizenUser.Passport);

            citizenReport.Test1DataTime = DateTime.Now;
            citizenReport.Test1Check    = true;
            citizenReport.Result_Test1  = citizenTestViewModel.Result;
            citizenReport.NumberTicket  = citizenTestViewModel.NumberTicket;



            _examDBContect.Update(citizenReport);
            _examDBContect.SaveChanges();

            TempQuestions tempQuestions = new TempQuestions();

            tempQuestions         = _examDBContect.DbTempQuestions.FirstOrDefault(p => p.Passport == citizenUser.Passport);
            tempQuestions.TestEnd = true;
            _examDBContect.DbTempQuestions.Update(tempQuestions);
            _examDBContect.SaveChanges();

            return(View(citizenTestViewModel));
        }
 public bool IsUserPoliceman(CitizenUser user, out Policeman output)
 {
     output = dbSet.Where(p => p.User.Login == user.Login).SingleOrDefault();
     return(output != null);
 }
Beispiel #27
0
 public void Delete(CitizenUser user)
 {
     citizenUserRepository.Delete(user.Id);
 }
Beispiel #28
0
 public void Save(CitizenUser user)
 {
     citizenUserRepository.Save(user);
 }
Beispiel #29
0
        /// <summary>
        /// Creates specified number of unique users (actually creates less than that number because of limited names dictionoary)
        /// </summary>
        /// <param name="quantity">Number of new users required</param>
        /// <returns>Actual number of users created</returns>
        public int GenerateCitizenUsers(int quantity)
        {
            var rnd            = new Random();
            var firstNamesMale = new List <string>
            {
                "Ярослав", "Викентий", "Фёдор", "Клаус", "Степан", "Остин", "Нестор", "Йозеф", "Филипп", "Леопольд",
                "Герман", "Йоган", "Эрик", "Лукьян", "Остап", "Шамиль", "Захар", "Михаил",
            };
            var firstNamesFemale = new List <string>
            {
                "Харитина", "Надежда", "Татьяна", "Клара", "Богдана", "Ульяна", "Зинаида", "Белла", "Рада", "Надежда",
                "Мария", "Генриетта", "Бронислава", "Изольда", "Шарлота", "Эмилия", "Алла", "Цара", "Зоя", "Шарлота",
            };
            var lastNamesMale = new List <string>
            {
                "Котов", "Рыбаков", "Горшков", "Меркушев", "Фокин", "Матвеев", "Цушко", "Васильев", "Афанасьев", "Барановский",
                "Красинец", "Семёнов", "Новиков", "Горбачёв", "Шамрыло", "Игнатьев", "Гриневский", "Михеев", "Ермаков", "Филиппов",
            };
            var lastNamesFemale = new List <string>
            {
                "Петрова", "Пестова", "Шарапова", "Ярова", "Моисеенко", "Иващенко", "Моисеенко", "Гончар", "Кличко", "Петренко", "Шкраба",
                "Лазарева", "Егорова", "Права", "Вишнякова", "Белоусова", "Орлова", "Плаксий", "Милославска", "Данилова",
            };
            var ListOfFullNames = citizenUserRepository.GetAll()
                                  .Select(user => user.FirstName + " " + user.LastName).ToList();
            var ListOfRoles = roleRepository.GetAll();

            // количество попыток найти уникальное сочетание имя+фамилия
            var attemptNumber = 0;
            // количество успешных попыток найти уникальное сочетание имя+фамилия
            var successfulAttemptNumber = 0;


            do
            {
                string firstName;
                string lastName;
                var    isMale = rnd.Next(0, 2);


                if (isMale == 1)
                {
                    firstName = firstNamesMale[rnd.Next(firstNamesMale.Count)];
                    lastName  = lastNamesMale[rnd.Next(lastNamesMale.Count)];
                }
                else
                {
                    firstName = firstNamesMale[rnd.Next(firstNamesMale.Count)];
                    lastName  = lastNamesMale[rnd.Next(lastNamesMale.Count)];
                }

                var FullName = firstName + " " + lastName;
                if (!ListOfFullNames.Any(s => s == FullName))
                {
                    // имя-фамилия уникально, сохраняем
                    ListOfFullNames.Add(FullName);
                    var startBirthdate = new DateTime(1950, 1, 1);
                    var range          = (new DateTime(2010, 1, 1) - startBirthdate).Days;
                    var birthdate      = startBirthdate.AddDays(rnd.Next(range));

                    var newCitizen = new CitizenUser
                    {
                        Id        = 0,
                        Login     = firstName + "_" + lastName,
                        Password  = "******",
                        FirstName = firstName,
                        LastName  = lastName,
                        BirthDate = birthdate,
                        Gender    = isMale == 1 ? Gender.Male : Gender.Female,
                        Roles     = new List <Role>(),
                    };
                    newCitizen.Roles.Add(ListOfRoles[rnd.Next(ListOfRoles.Count)]);
                    citizenUserRepository.Save(newCitizen);
                    successfulAttemptNumber++;
                }
                // имя-фамилия не уникально, ищем другие
                attemptNumber++;
            }while (attemptNumber < quantity);
            return(successfulAttemptNumber);
        }
Beispiel #30
0
 public bool IsInRole(CitizenUser user, string roleName)
 {
     return(user.Roles.Any() && user.Roles.All(useRole => useRole.Name == roleName));
 }