public override void UpdateDatabaseAfterUpdateSchema() { base.UpdateDatabaseAfterUpdateSchema(); CustomUserRole adminEmployeeRole = ObjectSpace.FindObject <CustomUserRole>( new BinaryOperator("Name", "Admin")); if (adminEmployeeRole == null) { adminEmployeeRole = ObjectSpace.CreateObject <CustomUserRole>(); adminEmployeeRole.Name = "Admin"; adminEmployeeRole.IsAdministrative = true; adminEmployeeRole.Save(); } CustomUser adminEmployee = ObjectSpace.FindObject <CustomUser>( new BinaryOperator("UserName", "Admin")); if (adminEmployee == null) { adminEmployee = ObjectSpace.CreateObject <CustomUser>(); adminEmployee.UserName = "******"; adminEmployee.SetPassword(""); adminEmployee.Roles.Add(adminEmployeeRole); } ObjectSpace.CommitChanges(); //Uncomment this line to persist created object(s). }
public HttpResponseMessage CadastrarPaciente(Usuario usuario) { HttpResponseMessage response; string resultado = string.Empty; try { usuario.UserName = usuario.Email; var userManager = Request.GetOwinContext().GetUserManager <AppUserManager>(); usuario.UserName = usuario.Email; usuario.Senha = Guid.NewGuid().ToString().Substring(0, 6).Replace("-", "1"); usuario.senhaTemporaria = true; if ((!usuario.Roles?.Any()) ?? false) { var listPerfisValidos = new Context().Roles.Where(x => x.Name.ToUpper().Contains("PACIENTE")).AsNoTracking().ToList(); var usuarioRole = new CustomUserRole(); usuarioRole.RoleId = listPerfisValidos.FirstOrDefault().Id; //usuarioRole. usuario.Roles.Add(usuarioRole); } var idUsuarioLogado = Convert.ToInt32(User.Identity.GetUserId()); var userLogged = userManager.FindById(idUsuarioLogado); usuario.Usuarios.Add(userLogged); //usuario.Usuarios.Add(usuarioMedico); IdentityResult result = userManager.Create(usuario, usuario.Senha); if (result.Succeeded) { resultado = "Paciente Criado com sucesso"; } else { resultado = string.Join(",", result.Errors); throw new Exception(resultado); } response = Request.CreateResponse(HttpStatusCode.OK, resultado); //var teste = db.Users.Include(x => x.Usuarios).Where(x => x.Id == usuario.Id); return(response); } catch (Exception e) { return(Request.CreateResponse(HttpStatusCode.InternalServerError, e)); } }
public ActionResult DeleteConfirmed(int id) { CustomUserRole customUserRole = db.CustomUserRoles.Find(id); db.CustomUserRoles.Remove(customUserRole); db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult Edit([Bind(Include = "UserId,RoleId")] CustomUserRole customUserRole) { if (ModelState.IsValid) { db.Entry(customUserRole).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(customUserRole)); }
public async Task <ActionResult> Register(RegisterViewModel model) { if (ModelState.IsValid) { string path = ""; string filename = ""; string extension = ""; if (model.Photo != null) { int startIndex = model.Photo.IndexOf("/") + 1; int lastIndex = model.Photo.IndexOf(";"); extension = "." + model.Photo.Substring(startIndex, lastIndex - startIndex); filename = model.Email + "_avatar"; path = @"/Content/SaveAvatars/" + filename + extension; } CustomUserRole role = new CustomUserRole { RoleId = 3 }; var profile = new UserProfile { Address = model.Address, Photo = path, BirthDay = Convert.ToDateTime(model.BirthDay) }; var user = new ApplicationUser { UserName = model.Email, Email = model.Email, PhoneNumber = model.PhoneNumber, Profile = profile }; user.Roles.Add(role); var result = await UserManager.CreateAsync(user, model.Password); if (result.Succeeded) { if (model.Photo != null) { var fs = new BinaryWriter(new FileStream(Server.MapPath("~/Content/SaveAvatars/" + filename + extension), FileMode.Create, FileAccess.Write)); string base64img = model.Photo.Split(',')[1]; byte[] buf = Convert.FromBase64String(base64img); fs.Write(buf); fs.Close(); } await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false); // For more information on how to enable account confirmation and password reset please visit https://go.microsoft.com/fwlink/?LinkID=320771 // Send an email with this link // string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id); // var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme); // await UserManager.SendEmailAsync(user.Id, "Confirm your account", "Please confirm your account by clicking <a href=\"" + callbackUrl + "\">here</a>"); return(RedirectToAction("Index", "Home")); } AddErrors(result); } // If we got this far, something failed, redisplay form return(View(model)); }
public ActionResult Create([Bind(Include = "UserId,RoleId")] CustomUserRole customUserRole) { if (ModelState.IsValid) { db.CustomUserRoles.Add(customUserRole); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(customUserRole)); }
public async Task <ActionResult> Register(RegisterViewModel model, int roles) { if (ModelState.IsValid) { if (_userService.GetRoleId(Int32.Parse(User.Identity.GetUserId())) < roles) { string path = ""; string filename = ""; string extension = ""; if (model.Photo != null) { int startIndex = model.Photo.IndexOf("/") + 1; int lastIndex = model.Photo.IndexOf(";"); extension = "." + model.Photo.Substring(startIndex, lastIndex - startIndex); filename = model.Email + "_avatar"; path = @"/Content/SaveAvatars/" + filename + extension; } CustomUserRole role = new CustomUserRole { RoleId = roles }; var profile = new UserProfile { Address = model.Address, Photo = path, BirthDay = Convert.ToDateTime(model.BirthDay) }; var user = new ApplicationUser { UserName = model.Email, Email = model.Email, PhoneNumber = model.PhoneNumber, Profile = profile }; user.Roles.Add(role); var result = await UserManager.CreateAsync(user, model.Password); if (result.Succeeded) { if (model.Photo != null) { var fs = new BinaryWriter(new FileStream(Server.MapPath("~/Content/SaveAvatars/" + filename + extension), FileMode.Create, FileAccess.Write)); string base64img = model.Photo.Split(',')[1]; byte[] buf = Convert.FromBase64String(base64img); fs.Write(buf); fs.Close(); } return(RedirectToAction("Index", "Edit")); } AddErrors(result); } else { return(RedirectToAction("Error", "Home")); } } ViewBag.Roles = _userService.GetRoles().Where(x => x.Id > _userService.GetRoleId(Int32.Parse(User.Identity.GetUserId()))); return(View(model)); }
// GET: CustomUserRoles/Delete/5 public ActionResult Delete(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } CustomUserRole customUserRole = db.CustomUserRoles.Find(id); if (customUserRole == null) { return(HttpNotFound()); } return(View(customUserRole)); }
public bool AddUserRole(int userId, int roleId, int structId) { try { CustomUserRole customUserRole = new CustomUserRole(); customUserRole.UserId = userId; customUserRole.RoleId = roleId; customUserRole.Department = _univercityStructures.Find(structId); _userRoles.Add(customUserRole); _uow.SaveChanges(); return(true); } catch (Exception) { return(false); } }
protected override void Seed(ApplicationDbContext context) { //Ролі користувачів #region InitRoleName //Роль Admin context.Roles.AddOrUpdate( h => h.Id, // Use Name (or some other unique field) instead of Id new CustomRole { Id = 1, Name = "Admin" }); #endregion //Створення користувачів #region InitUser IUserStore <ApplicationUser, int> appStore = new CustomUserStore(context); var appManager = new UserManager <ApplicationUser, int>(appStore); var userAdmin = new ApplicationUser { Id = 1, Email = "*****@*****.**", PasswordHash = appManager.PasswordHasher.HashPassword("123456Qwerty1-"), SecurityStamp = Guid.NewGuid().ToString(), UserName = "******" }; context.Users.AddOrUpdate( u => u.Id, userAdmin); var userRole = new CustomUserRole { RoleId = 1, UserId = 1 }; context.Set <CustomUserRole>().AddOrUpdate( u => new { u.UserId, u.RoleId }, userRole); #endregion base.Seed(context); }
private static void CreateUsersAndRoles(SpellChecker.Dal.SpellCheckerContext context) { var roleAdmin = new CustomRole("Admin"); context.Roles.AddOrUpdate(r => r.Name, roleAdmin); // vanlig användare roll var roleBee = new CustomRole("Bee"); context.Roles.AddOrUpdate(r => r.Name, roleBee); context.SaveChanges(); var hasher = new PasswordHasher(); //Admin user var userAdmin = new ApplicationUser(); userAdmin.UserName = "******"; userAdmin.Email = "*****@*****.**"; userAdmin.SecurityStamp = Guid.NewGuid().ToString(); userAdmin.PasswordHash = hasher.HashPassword("P@ssw0rd"); context.Users.AddOrUpdate(u => u.UserName, userAdmin); context.SaveChanges(); //mig själv som vanlig användare var userBee = new ApplicationUser(); userBee.UserName = "******"; userBee.Email = "*****@*****.**"; userBee.SecurityStamp = Guid.NewGuid().ToString(); userBee.PasswordHash = hasher.HashPassword("P@ssw0rd"); context.Users.AddOrUpdate(u => u.UserName, userBee); context.SaveChanges(); //roller if (!context.Set <CustomUserRole>().Any(c => c.RoleId.Equals(roleAdmin.Id) && c.UserId.Equals(userAdmin.Id))) { var userRoleAdmin = new CustomUserRole(); userRoleAdmin.RoleId = roleAdmin.Id; userRoleAdmin.UserId = userAdmin.Id; context.Set <CustomUserRole>().Add(userRoleAdmin); userAdmin.Roles.Add(userRoleAdmin); context.Users.AddOrUpdate(u => u.UserName, userAdmin); context.SaveChanges(); } if (!context.Set <CustomUserRole>().Any(c => c.RoleId.Equals(roleBee.Id) && c.UserId.Equals(userAdmin.Id))) { var userRoleBeeForAdmin = new CustomUserRole(); userRoleBeeForAdmin.RoleId = roleBee.Id; userRoleBeeForAdmin.UserId = userAdmin.Id; userAdmin.Roles.Add(userRoleBeeForAdmin); context.Set <CustomUserRole>().Add(userRoleBeeForAdmin); context.Users.AddOrUpdate(u => u.UserName, userAdmin); context.SaveChanges(); } if (!context.Set <CustomUserRole>().Any(c => c.RoleId.Equals(roleBee.Id) && c.UserId.Equals(userBee.Id))) { var userRoleBee = new CustomUserRole(); userRoleBee.RoleId = roleBee.Id; userRoleBee.UserId = userBee.Id; userBee.Roles.Add(userRoleBee); context.Set <CustomUserRole>().Add(userRoleBee); context.Users.AddOrUpdate(u => u.UserName, userBee); context.SaveChanges(); } }
private void SeedByAlgorithm(GradeBookContext context) { try { logger.Info("Seeding began"); UserManager <GradeBookUser, int> _userManager = new UserManager <GradeBookUser, int>( new UserStore <GradeBookUser, CustomRole, int, CustomUserLogin, CustomUserRole, CustomUserClaim>(context)); RoleManager <CustomRole, int> _roleManager = new RoleManager <CustomRole, int>(new RoleStore <CustomRole, int, CustomUserRole>(context)); #region Roles CustomRole adminRole = new CustomRole() { Name = "admins" }; CustomRole studentRole = new CustomRole() { Name = "students" }; CustomRole teacherRole = new CustomRole() { Name = "teachers" }; CustomRole parentRole = new CustomRole() { Name = "parents" }; _roleManager.Create(adminRole); _roleManager.Create(studentRole); _roleManager.Create(teacherRole); _roleManager.Create(parentRole); #endregion logger.Info("Roles created"); #region Admins AdminUser admin_pera = new AdminUser() { UserName = "******", FirstName = "Pera", LastName = "Peric" }; AdminUser admin_milan = new AdminUser() { UserName = "******", FirstName = "Milan", LastName = "Milic" }; _userManager.Create(admin_pera, "password"); _userManager.Create(admin_milan, "password"); _userManager.AddToRole(admin_pera.Id, "admins"); _userManager.AddToRole(admin_milan.Id, "admins"); #endregion logger.Info("Admins created"); #region Courses, FOR NOW LET's use these List <Course> courses = new List <Course>(); courses.Add(new Course() { Name = "Mathematics", ColloqialName = "Matis" }); courses.Add(new Course() { Name = "Chemistry", ColloqialName = "Hemija" }); courses.Add(new Course() { Name = "Biology", ColloqialName = "Biologija" }); courses.Add(new Course() { Name = "Informatics", ColloqialName = "Informatika" }); courses.Add(new Course() { Name = "German", ColloqialName = "Nemacki" }); courses.Add(new Course() { Name = "History", ColloqialName = "Istorija" }); courses.Add(new Course() { Name = "English", ColloqialName = "Engleski" }); context.Courses.AddRange(courses); context.SaveChanges(); #endregion logger.Info("Courses cretated"); #region Students List <StudentUser> students = SeederHelper.CreateStudents(20); foreach (var s in students) { context.Users.Add(s); context.SaveChanges(); CustomUserRole st = new CustomUserRole() { RoleId = studentRole.Id, UserId = s.Id }; context.SaveChanges(); } #endregion logger.Info("Students created"); #region Teachers List <TeacherUser> teachers = SeederHelper.CreateTeachers(10); foreach (var t in teachers) { context.Users.Add(t); context.SaveChanges(); CustomUserRole st = new CustomUserRole() { RoleId = teacherRole.Id, UserId = t.Id }; context.SaveChanges(); } #endregion logger.Info("Teachers created"); #region Parents List <StudentParent> studentParents = SeederHelper.CreateRealisticParents(students); List <ParentUser> parents = studentParents.Select(sp => sp.Parent).Distinct().ToList(); foreach (var p in parents) { context.Users.Add(p); context.SaveChanges(); CustomUserRole st = new CustomUserRole() { RoleId = parentRole.Id, UserId = p.Id }; context.SaveChanges(); } context.StudentParents.AddRange(studentParents); context.SaveChanges(); #endregion logger.Info("Parents created"); #region Teaching (assignments) // --- Teaching assignments *** This one could have been added to curriculum.... List <Teaching> teachings = SeederHelper.AssignTeaching(teachers, courses); context.TeachingAssignments.AddRange(teachings); context.SaveChanges(); #endregion logger.Info("Teaching assignments created"); #region Classrooms List <ClassRoom> classes = SeederHelper.CreateSchoolClasses(2, 5, 6); context.ClassRooms.AddRange(classes); context.SaveChanges(); #endregion logger.Info("Classrooms created"); #region Student enrollments, Programs SeederHelper.AssignStudentsToClasses(students, classes, 2); context.SaveChanges(); logger.Info("Students assigned to classrooms"); List <Program> programs = SeederHelper.AssignProgram(teachings, classes); context.Programs.AddRange(programs); logger.Info("Students assigned to takings"); context.SaveChanges(); #endregion logger.Info("Students enrolled, programs created"); #region Learning (student learning a subject) List <Taking> takings = SeederHelper.AssignTakings(students, programs); context.Takings.AddRange(takings); context.SaveChanges(); #endregion logger.Info("Takings creadte"); #region Grades List <Grade> grades = SeederHelper.AssignGrades(takings, new DateTime(2018, 9, 1), new DateTime(2018, 12, 31), 1, 2, 5); context.Grades.AddRange(grades); context.SaveChanges(); #endregion logger.Info("Grades assigned"); #region Final Grades List <FinalGrade> finalGrades = SeederHelper.AssignFinalGrades(takings, new DateTime(2018, 9, 1), new DateTime(2018, 12, 31), 1); context.FinalGrades.AddRange(finalGrades); context.SaveChanges(); #endregion logger.Info("Final grades assigned"); } catch (SqlException ex) { Debug.WriteLine("Database cannot be accessed."); throw ex; } catch (Exception ex) { Debug.WriteLine("Seeding the database failed"); throw ex; } }
public bool ChangeUser(UserEditModel model) { ApplicationUser usertochange = _context.Users.Find(model.Id); string path = ""; string filename = ""; string extension = ""; if (model.Photo != null) { int startIndex = model.Photo.IndexOf("/") + 1; int lastIndex = model.Photo.IndexOf(";"); extension = "." + model.Photo.Substring(startIndex, lastIndex - startIndex); filename = model.Email + "_avatar"; path = @"/Content/SaveAvatars/" + filename + extension; if (usertochange.Profile.Photo != null) { try { File.Delete(usertochange.Profile.Photo); } catch (Exception) { } } usertochange.Profile.Photo = path; } usertochange.Email = model.Email; usertochange.UserName = model.Email; usertochange.PhoneNumber = model.PhoneNumber; usertochange.Profile.Address = model.Address; usertochange.Profile.BirthDay = Convert.ToDateTime(model.BirthDay); CustomUserRole role = new CustomUserRole { RoleId = model.Role }; usertochange.Roles.Clear(); usertochange.Roles.Add(role); try { if (model.Photo != null) { var fs = new BinaryWriter(new FileStream(HttpContext.Current.Server.MapPath("~/Content/SaveAvatars/" + filename + extension), FileMode.Create, FileAccess.Write)); string base64img = model.Photo.Split(',')[1]; byte[] buf = Convert.FromBase64String(base64img); fs.Write(buf); fs.Close(); } _context.SaveChanges(); } catch (Exception) { return(false); } return(true); }
protected override void Seed(ApplicationDbContext db) { IList <CustomRole> defaultRoles = new List <CustomRole>(); defaultRoles.Add(new CustomRole() { Id = 1, Name = "Administrator" }); defaultRoles.Add(new CustomRole() { Id = 2, Name = "Moderator" }); defaultRoles.Add(new CustomRole() { Id = 3, Name = "User" }); foreach (var item in defaultRoles) { db.Roles.Add(item); } for (int i = 1; i < 4; i++) { CustomUserRole role = new CustomUserRole { RoleId = 3 }; var profile = new UserProfile { Address = "Ukraine", BirthDay = Convert.ToDateTime(DateTime.Now) }; var user = new ApplicationUser { UserName = "******" + i + "@ukr.net", Email = "user" + i + "@ukr.net", PhoneNumber = "0985652211", Profile = profile, EmailConfirmed = false, PhoneNumberConfirmed = false, TwoFactorEnabled = false, LockoutEndDateUtc = null, LockoutEnabled = false, AccessFailedCount = 0, PasswordHash = "AOfCM/mu6RJPo0BpZ4AHjwULyz/u2jr4l6UtqIPCVKoMaAyED5Jaw1qhDHGCmVEdJA==", SecurityStamp = "b8496e15-bacf-427c-9aa3-f62c128e0f43" }; user.Roles.Add(role); db.Users.Add(user); } for (int i = 1; i < 4; i++) { CustomUserRole role = new CustomUserRole { RoleId = 2 }; var profile = new UserProfile { Address = "USA", BirthDay = Convert.ToDateTime(DateTime.Now) }; var user = new ApplicationUser { UserName = "******" + i + "@ukr.net", Email = "moderator" + i + "@ukr.net", PhoneNumber = "0985652233", Profile = profile, EmailConfirmed = false, PhoneNumberConfirmed = false, TwoFactorEnabled = false, LockoutEndDateUtc = null, LockoutEnabled = false, AccessFailedCount = 0, PasswordHash = "AOfCM/mu6RJPo0BpZ4AHjwULyz/u2jr4l6UtqIPCVKoMaAyED5Jaw1qhDHGCmVEdJA==", SecurityStamp = "b8496e15-bacf-427c-9aa3-f62c128e0f43" }; user.Roles.Add(role); db.Users.Add(user); } for (int i = 1; i < 3; i++) { CustomUserRole role = new CustomUserRole { RoleId = 1 }; var profile = new UserProfile { Address = "Germany", BirthDay = Convert.ToDateTime(DateTime.Now) }; var user = new ApplicationUser { UserName = "******" + i + "@ukr.net", Email = "admin" + i + "@ukr.net", PhoneNumber = "0985652233", Profile = profile, EmailConfirmed = false, PhoneNumberConfirmed = false, TwoFactorEnabled = false, LockoutEndDateUtc = null, LockoutEnabled = false, AccessFailedCount = 0, PasswordHash = "AOfCM/mu6RJPo0BpZ4AHjwULyz/u2jr4l6UtqIPCVKoMaAyED5Jaw1qhDHGCmVEdJA==", SecurityStamp = "b8496e15-bacf-427c-9aa3-f62c128e0f43" }; user.Roles.Add(role); db.Users.Add(user); } Category vegetable = new Category { Id = 1, Name = "Овочі" }; Category meat = new Category { Id = 2, Name = "М'ясо" }; db.Categories.Add(vegetable); db.Categories.Add(meat); db.Products.Add(new Product { Name = "Помідор", Category = vegetable, Description = "Соковитий помідор", Price = 21 /*, Info = new ProductInfo { }*/ }); db.Products.Add(new Product { Name = "Картопля", Category = vegetable, Description = "Смачна картопля", Price = 11 /*, Info = new ProductInfo { }*/ }); db.Products.Add(new Product { Name = "Огірок", Category = vegetable, Description = "Хрумкий огірок", Price = 15 /*, Info = new ProductInfo { }*/ }); db.Products.Add(new Product { Name = "Курка", Category = meat, Description = "Ко ко ко", Price = 99 /*, Info = new ProductInfo { }*/ }); db.Products.Add(new Product { Name = "Свинина", Category = meat, Description = "Хрю хрю", Price = 120 /*, Info = new ProductInfo { }*/ }); base.Seed(db); }