public async Task <ActionResult> AddUser(string LastName, string FirstName, string Otchectvo, int?Units, int?Position, string Date)
        {
            if ((LastName != null) && (FirstName != null) && (Units != null) && (Position != null)) //проверка, что введены все данные
            {
                ViewBag.CorrectData = "1";
                int flagEx = 0;
                foreach (var temp in db.Пользователи) //ищем пользователя с такими же данными
                {
                    if ((temp.Фамилия.Replace(" ", "") == LastName) && (temp.Имя.Replace(" ", "") == FirstName) && (temp.Отчество.Replace(" ", "") == Otchectvo) && (temp.id_должности == Position) && (temp.id_подразделения == Units))
                    {
                        flagEx = 1;
                    }
                }
                if (flagEx == 0) //если нет пользователя с такими данными - вносим его в Бд
                {
                    ViewBag.Data = Date;
                    Пользователи пользователь = new Пользователи();
                    пользователь.Фамилия          = LastName;
                    пользователь.Имя              = FirstName;
                    пользователь.Отчество         = Otchectvo;
                    пользователь.id_подразделения = (int)Units;
                    пользователь.id_должности     = (int)Position;
                    string login = LastName.Substring(0, 1) + FirstName.Substring(0, 1) + Otchectvo.Substring(0, 1); //его логин

                    if (LoginEx(login))                                                                              //если логин есть
                    {
                        string loginTemp    = login;
                        int    loginDigital = 0;
                        while (LoginEx(login)) //подбираем логин, котрый не занят
                        {
                            login = loginTemp;
                            login = login + loginDigital.ToString();
                            loginDigital++;
                        }
                    }
                    string passw = login + Date.Substring(5, 2) + Date.Substring(8, 2); //пароль пользователя
                    пользователь.Логин  = login;
                    пользователь.Пароль = passw;
                    db.Пользователи.Add(пользователь);      //добавляем пользователя в БД
                    await db.SaveChangesAsync();            // сохраняем изменения

                    ViewBag.Id_user = пользователь.id_user; // передаем данные пользоватля в представление
                    ViewBag.Data    = Date;
                    ViewBag.Login   = login;
                    ViewBag.Passw   = passw;
                }
                else //если такой пользователь уже есть
                {
                    ViewBag.CorrectData = "2";
                }

                return(View());
            }
            else
            {
                ViewBag.CorrectData = "3";
                return(View());
            }
        }
示例#2
0
        private void usersDGV_RowValidating(object sender, DataGridViewCellCancelEventArgs e)
        {
            var row = usersDGV.Rows[e.RowIndex];

            using (var context = new UsersModel())
            {
                var id    = row.Cells[UserIDColumn.Name].Value as int?;
                var tag   = row.Tag as Пользователи;
                var login = row.Cells[LoginColumn.Name].Value as string;
                e.Cancel = login == null || login.Replace(" ", "") == "" || login.Length > 50;
                if (e.Cancel)
                {
                    row.Cells[LoginColumn.Name].ErrorText = ManagementLocalization.IncorrectLoginError;
                    return;
                }
                e.Cancel = context.Пользователи.Any(user => user.ID != id.Value && user.Логин == login);
                if (e.Cancel)
                {
                    row.ErrorText = ManagementLocalization.LoginExistsError;
                    return;
                }
                var isInsert = tag == null;
                if (isInsert)
                {
                    tag = new Пользователи();
                    using (var passwordManager = new PasswordManagerForm(false))
                    {
                        if (passwordManager.ShowDialog() == DialogResult.OK)
                        {
                            tag.Соль       = PasswordSecurity.GenerateSalt();
                            tag.Хэш_пароля = PasswordSecurity.GenerateHash(passwordManager.Password, tag.Соль);
                        }
                    }
                }
                else
                {
                    context.Пользователи.Attach(tag);
                }
                if (tag.Логин == AdminLogin)
                {
                    AdminLogin          = login;
                    userLoginLabel.Text = userLoginLabel.Tag as string + AdminLogin;
                }
                tag.Логин            = login;
                tag.Администратор    = (bool)row.Cells[IsAdminColumn.Name].Value;
                tag.Дата_регистрации = ((DateTime)row.Cells[RegDateColumn.Name].Value).Date;
                row.Tag = tag;
                if (isInsert)
                {
                    context.Пользователи.Add(tag);
                }
                context.SaveChanges();
            }
            row.ErrorText = "";
            foreach (DataGridViewCell cell in row.Cells)
            {
                cell.ErrorText = "";
            }
        }
示例#3
0
 private async Task Authenticate(Пользователи user)
 {
     var claims = new List <Claim>
     {
         new Claim(ClaimsIdentity.DefaultNameClaimType, user.Логин),
         new Claim(ClaimsIdentity.DefaultRoleClaimType, user.IdРолиNavigation?.НаименованиеРоли)
     };
     ClaimsIdentity id = new ClaimsIdentity(claims, "ApplicationCookie", ClaimsIdentity.DefaultNameClaimType,
                                            ClaimsIdentity.DefaultRoleClaimType);
     await HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, new ClaimsPrincipal(id));
 }
示例#4
0
        public async Task <ActionResult> Edit([Bind(Include = "id_user,Фамилия,Имя,Отчество,Логин,Пароль,id_подразделения,id_должности")] Пользователи пользователи)
        {
            if (ModelState.IsValid)
            {
                db.Entry(пользователи).State = EntityState.Modified;
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }
            ViewBag.id_должности     = new SelectList(db.Должность, "Id_должности", "Название_должности", пользователи.id_должности);
            ViewBag.id_подразделения = new SelectList(db.Подразделение, "Id_подразделения", "Название_подразделения", пользователи.id_подразделения);
            return(View(пользователи));
        }
示例#5
0
        // GET: Пользователи/Details/5
        public async Task <ActionResult> Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Пользователи пользователи = await db.Пользователи.FindAsync(id);

            if (пользователи == null)
            {
                return(HttpNotFound());
            }
            return(View(пользователи));
        }
示例#6
0
        public async Task <ActionResult> DeleteConfirmed(int id)
        {
            Пользователи пользователи = await db.Пользователи.FindAsync(id);

            var результат_Теста = await(from r in db.езультат_теста where r.id_User == id select r).ToListAsync();

            foreach (var resultD in результат_Теста)
            {
                db.езультат_теста.Remove(resultD);
            }
            db.Пользователи.Remove(пользователи);
            await db.SaveChangesAsync();

            return(RedirectToAction("Index"));
        }
示例#7
0
        // GET: Пользователи/Edit/5
        public async Task <ActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Пользователи пользователи = await db.Пользователи.FindAsync(id);

            if (пользователи == null)
            {
                return(HttpNotFound());
            }
            ViewBag.id_должности     = new SelectList(db.Должность, "Id_должности", "Название_должности", пользователи.id_должности);
            ViewBag.id_подразделения = new SelectList(db.Подразделение, "Id_подразделения", "Название_подразделения", пользователи.id_подразделения);
            return(View(пользователи));
        }
示例#8
0
 public void CreateUser(int id, string name, string phone, string email, string city, string street, string password, int idrole, DateTime tim)
 {
     Пользователи user = new Пользователи()
     {
         ИдПользователя = id,
         Имя = name,
         Телефон = phone,
         Email = email,
         Город = city,
         УлицаДомКв = street,
         Пароль = password,
         ИдРоли = idrole,
         ДатаРегистрации = tim
     };
     SaveUser(user);
 }
示例#9
0
        public ActionResult EditUser()
        {
            using (ClinicEntities entities = new ClinicEntities())
            {
                Guid         pId = Guid.Parse(Request["UserId"]);
                Пользователи myP = entities.Пользователи.Find(pId);

                myP.login    = Request["Login"];;
                myP.password = Request["Password"];
                myP.role     = Request["Role"];

                entities.Entry(myP).State = EntityState.Modified;
                entities.SaveChanges();
            }
            return(View());
        }
示例#10
0
        /*Управление пользователями*/
        public ActionResult DeleteUser()
        {
            using (ClinicEntities entities = new ClinicEntities())
            {
                Guid         pId = Guid.Parse(Request["UserId"]);
                Пользователи myP = entities.Пользователи.Find(pId);

                entities.Пользователи.Remove(myP);
                entities.SaveChanges();

                //string expression = "DELETE FROM Пациенты WHERE [ID пациента] = '" + patientId + "'";
                //entities.Database.ExecuteSqlCommand(expression);
            }

            return(View());
        }
示例#11
0
        public override string[] GetRolesForUser(string username)
        {
            string[] roles = new string[] { };

            using (ps2Entities db = new ps2Entities())
            {
                // Получаем пользователя
                Пользователи user = db.Пользователи.FirstOrDefault(u => u.Логин == username);
                if (user != null)
                {
                    // получаем роль
                    roles = new string[] { user.оль };
                }
                return(roles);
            }
        }
示例#12
0
        public override bool IsUserInRole(string username, string roleName)
        {
            using (ps2Entities db = new ps2Entities())
            {
                // Получаем пользователя
                Пользователи user = db.Пользователи.FirstOrDefault(u => u.Логин == username);

                if (user != null && user.оль != null && user.оль == roleName)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
        }
示例#13
0
        public ActionResult AddUser()
        {
            using (ClinicEntities entities = new ClinicEntities())
            {
                Пользователи newUser = new Пользователи();
                newUser.ID_пользователя = Guid.NewGuid();
                newUser.login           = Request["Login"];
                newUser.password        = Request["Password"];
                newUser.role            = Request["Role"];
                newUser.Image           = "default.jpg";
                entities.Пользователи.Add(newUser);
                entities.SaveChanges();
            }



            return(View());
        }
示例#14
0
        public ActionResult Login(Models.LoginModel model)
        {
            if (ModelState.IsValid)
            {
                // поиск пользователя в бд
                Пользователи user = null;


                user = db.Пользователи.FirstOrDefault(u => u.Логин == model.Name);

                if (user != null)
                {
                    //string salt = user;
                    //string hashed = FormsAuthentication.HashPasswordForStoringInConfigFile(model.Password + salt, "SHA1");

                    if (user.Хэш_пароля == model.Password)
                    {
                        FormsAuthentication.SetAuthCookie(model.Name, true);
                        if (user.оль == "Учитель")
                        {
                            return(RedirectToAction("Index", "Классы"));
                        }
                        else if (user.оль == "Родитель")
                        {
                            Console.WriteLine("fewerwerwr");
                            return(RedirectToAction("Index", "Ученики"));
                        }
                        else
                        {
                            return(RedirectToAction("About", "Home"));
                        }
                    }
                    else
                    {
                        ModelState.AddModelError("", "Пользователя с таким логином и паролем нет");
                    }
                }
                else
                {
                    ModelState.AddModelError("", "Пользователя с таким логином и паролем нет");
                }
            }
            return(View(model));
        }
        private void ClickMethod()
        {
            Пользователи p = _ctx.Пользователи.FirstOrDefault(u => u.Логин == Login);

            if (p != null)
            {
                if (p.Пароль == Password)
                {
                    App.AccessLevel = p.УровеньДоступа;
                    RaisePropertyChanged("Success");
                }
                else
                {
                    RaisePropertyChanged("InvalidPassword");
                }
            }
            else
            {
                RaisePropertyChanged("NotExistUser");
            }
        }
示例#16
0
 private void FinishButton_Click_OnRegistration(object sender, EventArgs e)
 {
     using (var context = new UsersModel())
     {
         var salt = PasswordSecurity.GenerateSalt();
         var user = new Пользователи
         {
             Логин            = loginTextBox.Text,
             Хэш_пароля       = PasswordSecurity.GenerateHash(passwordTextBox.Text, salt),
             Дата_регистрации = DateTime.Now.Date,
             Соль             = salt,
             Администратор    = false
         };
         context.Пользователи.Add(user);
         context.SaveChanges();
         usersComboBox.DataSource = context.Пользователи;
         MessageBox.Show(AuthenticationLocalization.RegistrationCompleted);
         UserLogin    = user.Логин;
         UserType     = UserTypes.User;
         DialogResult = DialogResult.OK;
     }
 }
示例#17
0
 public JsonResult Upload()
 {
     using (ClinicEntities entities = new ClinicEntities())
     {
         foreach (string file in Request.Files)
         {
             var upload = Request.Files[file];
             if (upload != null)
             {
                 Guid         pId = Guid.Parse(file);
                 Пользователи myP = entities.Пользователи.Find(pId);
                 // получаем имя файла
                 string fileName = Guid.NewGuid().ToString() + ".jpg";
                 // сохраняем файл в папку Files в проекте
                 upload.SaveAs(Server.MapPath("~/Files/" + fileName));
                 myP.Image = fileName;
                 entities.Entry(myP).State = EntityState.Modified;
                 entities.SaveChanges();
             }
         }
     }
     return(Json("файл загружен"));
 }
示例#18
0
        public async Task <IActionResult> Register(RegisterModel model)
        {
            if (User.Identity.IsAuthenticated)
            {
                return(RedirectToAction("Index", "Home"));
            }

            var user = await db.Пользователиs.FirstOrDefaultAsync(u => u.Логин == model.Login);

            if (user == null)
            {
                Guid   salt             = Guid.NewGuid();
                string passwordWithSalt = model.Password + salt;
                string hashCode         = ReturnHashCode(passwordWithSalt);

                Пользователи newUser = new Пользователи
                {
                    Логин           = model.Login,
                    Пароль          = hashCode,
                    Соль            = salt,
                    ДатаРегистрации = DateTime.Now,
                    IdРоли          = db.ольs.FirstOrDefault(r => r.НаименованиеРоли == "Пользователь").IdРоли
                };

                db.Пользователиs.Add(newUser);
                await db.SaveChangesAsync();

                await Authenticate(newUser);

                return(RedirectToAction("Index", "Home"));
            }
            else
            {
                ModelState.AddModelError("", "Некорректные логин и/или пароль");
            }
            return(View(model));
        }
示例#19
0
        public void SaveUser(Пользователи user)
        {
            if(user.ИдПользователя!=1)
            {
                Пользователи olduser = context.Пользователи.Single(x => x.ИдПользователя == user.ИдПользователя);
                context.Пользователи.Attach(olduser);
                olduser.Имя = user.Имя;
                olduser.Телефон = user.Телефон;
                olduser.Email = user.Email;
                olduser.Город = user.Город;
                olduser.УлицаДомКв = user.УлицаДомКв;
                olduser.ИдРоли = user.ИдРоли;
                olduser.ДатаРегистрации = user.ДатаРегистрации;
                olduser.Пароль = user.Пароль;
                context.Entry(olduser).State = System.Data.Entity.EntityState.Modified;

            }
            else
            {
                context.Пользователи.Add(user);
            }
            context.SaveChanges();
        }
示例#20
0
 public void DeleteUser(Пользователи user)
 {
     context.Пользователи.Remove(user);
     context.SaveChanges();
 }