public async Task<ActionResult> Create(DoctorViewModel DoctorViewModel)
        {
            if (ModelState.IsValid)
            {
                var UserManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(context));
                var RoleManager = new RoleManager<IdentityRole>(new RoleStore<IdentityRole>(context));
                var user = new ApplicationUser() { UserName = DoctorViewModel.Email };
                var result = await UserManager.CreateAsync(user, DoctorViewModel.Password);
                string roleName = "Doctor";
                IdentityResult roleResult;
                if (!RoleManager.RoleExists(roleName))
                {
                    roleResult = RoleManager.Create(new IdentityRole(roleName));
                }
                try
                {
                    var findUser = UserManager.FindByName(DoctorViewModel.Email);
                    UserManager.AddToRole(findUser.Id, "Doctor");
                    context.SaveChanges();
                }
                catch
                {
                    throw;
                }
                Doctor_Detail doctor = MapDoctor(DoctorViewModel);
                db.Doctor_Details.Add(doctor);
                await db.SaveChangesAsync();
                return RedirectToAction("Index");
            }

            return View(DoctorViewModel);
        }
        internal void AddUserAndRole()
        {
            Models.ApplicationDbContext context = new Models.ApplicationDbContext();

            IdentityResult IdRoleResult;
            IdentityResult IdUserResult;

            var roleStore = new RoleStore<IdentityRole>(context);

            var roleMgr = new RoleManager<IdentityRole>(roleStore);

            if (!roleMgr.RoleExists("administrator"))
            {
                IdRoleResult = roleMgr.Create(new IdentityRole { Name = "administrator" });
            }

            var userMgr = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(context));

            var appUser = new ApplicationUser
            {
                UserName = "******",
                ImgUrl = "user2-160x160.jpg",
                Description = "High Level",
                SinceDate = new DateTime(2016, 1, 1)
            };

            IdUserResult = userMgr.Create(appUser, "1qaz2wsxE");
            var user = userMgr.FindByName("administrator");
            if (!userMgr.IsInRole(user.Id, "administrator"))
            {
                IdUserResult = userMgr.AddToRole(userMgr.FindByName("administrator").Id, "administrator");
            }
        }
        internal void AddUserAndRole()
        {
            Models.ApplicationDbContext context = new Models.ApplicationDbContext();

            IdentityResult IdRoleResult;
            IdentityResult IdUserResult;

            var roleStore = new RoleStore<IdentityRole>(context);

            var roleMgr = new RoleManager<IdentityRole>(roleStore);

            if (!roleMgr.RoleExists("administrator"))
            {
                IdRoleResult = roleMgr.Create(new IdentityRole { Name = "administrator" });
            }

            var userMgr = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(context));
            var appUser = new ApplicationUser
            {
                UserName = "******",
            };
            IdUserResult = userMgr.Create(appUser, "1qaz2wsxE");
            var user = userMgr.FindByName("administrator");
            if (!userMgr.IsInRole(user.Id, "administrator"))
            {
                //userMgr.RemoveFromRoles(user.Id, "read", "edit");
                IdUserResult = userMgr.AddToRole(userMgr.FindByName("administrator").Id, "administrator");
            }
        }
示例#4
0
        public static void Seed(ApplicationDbContext context)
        {
            UserStore<ApplicationUser> userStore = new UserStore<ApplicationUser>(context);
            UserManager<ApplicationUser> userManager = new UserManager<ApplicationUser>(userStore);

            RoleStore<Role> roleStore = new RoleStore<Role>(context);
            RoleManager<Role> roleManager = new RoleManager<Role>(roleStore);

            if (!roleManager.RoleExists("Admin"))
                roleManager.Create(new Role { Name = "Admin" });

            if (!roleManager.RoleExists("User"))
                roleManager.Create(new Role { Name = "User" });

            IdentityResult result = null;

            ApplicationUser user1 = userManager.FindByName("*****@*****.**");

            if (user1 == null)
            {
                user1 = new ApplicationUser { Email = "*****@*****.**", UserName = "******" };
            }

            result = userManager.Create(user1, "asdfasdf");
            if (!result.Succeeded)
            {
                string error = result.Errors.FirstOrDefault();
                throw new Exception(error);
            }

            userManager.AddToRole(user1.Id, "Admin");
            user1 = userManager.FindByName("*****@*****.**");

            ApplicationUser user2 = userManager.FindByName("*****@*****.**");

            if (user2 == null)
            {
                user2 = new ApplicationUser { Email = "*****@*****.**", UserName = "******" };
            }

            result = userManager.Create(user2, "asdfasfd");
            if (!result.Succeeded)
            {
                string error = result.Errors.FirstOrDefault();
                throw new Exception(error);
            }

            userManager.AddToRole(user2.Id, "User");
            user2 = userManager.FindByName("*****@*****.**");
        }
示例#5
0
        /// <summary>
        /// Sign in the user in using the user name and password
        /// </summary>
        /// <param name="userName"></param>
        /// <param name="password"></param>
        /// <param name="ipAddress"></param>
        /// <param name="isPersistent"></param>
        /// <param name="shouldLockout"></param>
        /// <returns></returns>
        public SignInStatus TronixPasswordSignIn(string userName, string password, string[] ipAddress, bool isPersistent = false, bool shouldLockout = false)
        {
            var user = UserManager?.FindByName(userName);

            if (user == null)
            {
                return(SignInStatus.Failure);
            }
            if (user.Inactive)
            {
                return(SignInStatus.Failure);
            }
            if (UserManager.IsLockedOut(user.Id))
            {
                return(SignInStatus.LockedOut);
            }
            if (UserManager.CheckPassword(user, password))
            {
                UserManager.ResetAccessFailedCount(user.Id);
                return(SignInOrTwoFactor(user, isPersistent, ipAddress));
            }
            if (!shouldLockout)
            {
                return(SignInStatus.Failure);
            }

            // If lockout is requested, increment access failed count which might lock out the user
            UserManager.AccessFailed(user.Id);
            return(UserManager.IsLockedOut(user.Id) ? SignInStatus.LockedOut : SignInStatus.Failure);
        }
示例#6
0
 public PrivateMessageVM SetPMProperties(PrivateMessageVM privateMessageVM, string userid)
 {
     var userManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(db));
     privateMessageVM.PM.receiverId = userManager.FindByName(privateMessageVM.UserName).Id;
     privateMessageVM.PM.senderId = userManager.FindById(userid).Id;
     return privateMessageVM;
 }
		private void InitDefaultUsersAndRoles(UserManager<QuestionsAnswersUser> userManager,
			RoleManager<IdentityRole> roleManager)
		{
			if (roleManager.FindByName("admin") == null)
			{
				roleManager.Create(new IdentityRole("admin"));
			}

			if (roleManager.FindByName("user") == null)
			{
				roleManager.Create(new IdentityRole("user"));
			}

			if (userManager.FindByName("admin") == null)
			{
				var user = new QuestionsAnswersUser {UserName = "******"};
				var result = userManager.Create(user, "adminadmin");
				if (result.Succeeded)
				{
					userManager.AddToRole(user.Id, "admin");
				}
			}

			userManager.Users.Where(u => !u.Roles.Any()).ToList().ForEach(u => userManager.AddToRole(u.Id, "user"));
		}
        public ActionResult ChangeAcessMode(ScheduleAccessMode mode)
        {
            ApplicationDbContext context = new ApplicationDbContext();
            if (HttpContext.User.IsInRole("Admin"))
            {
                var userStore = new UserStore<ApplicationUser>(context);
                var userManager = new UserManager<ApplicationUser>(userStore);

                string userName = HttpContext.User.Identity.GetUserName();
                var adminUser = userManager.FindByName(userName);
                adminUser.ScheduleAccessMode = mode;
                try
                {
                    userManager.Update(adminUser);
                }
                catch (Exception ex)
                {
                    return RedirectToAction("View","Error",new CustomError(ex.Message));
                }
                string previousUrl = System.Web.HttpContext.Current.Request.UrlReferrer.AbsoluteUri;
                //return RedirectToAction("View", "Schedule", new { course = 1 });
                return Redirect(previousUrl);
            }
            return RedirectToAction("View", "Error", new CustomError("Access Denied"));
        }
        public ActionResult Create(int? Id, [Bind(Include = "Id,MessageId,Text,PublishDate")]Reply reply)
        {
            if (Id == null)
            {
                return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
            }
            else
            {
                if (ModelState.IsValid)
                {
                    var userManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(db));
                    reply.User = userManager.FindByName(User.Identity.Name);


                    reply.MessageId = (int)Id;
                    reply.PublishDate = DateTime.Now;
                    db.Replies.Add(reply);
                    db.SaveChanges();

                    return RedirectToAction("Details", "Messages", new { id = Id });
                }
            }

            return View();

        }
示例#10
0
        public static ApplicationUser CreateUser(UserManager<ApplicationUser> userManager, string email, string firstName, string lastName,
           string password, bool lockOutEnabled)
        {
            var user = userManager.FindByName(email);

            if (user == null)
            {
                user = new ApplicationUser
                {
                    UserName = email,
                    Email = email,
                    FirstName = firstName,
                    LastName = lastName,
                    EmailConfirmed = true
                };
                try
                {
                    userManager.Create(user, password);
                }
                catch (Exception ex)
                {
                    Log4NetHelper.Log("Error creating Admin User", LogLevel.ERROR, "AspNetUser", 1, "none", ex);
                }
                userManager.SetLockoutEnabled(user.Id, lockOutEnabled);
            }
            return user;
        }
示例#11
0
        public ViewResult Index(int subid = 0, string search = "", int page = 1)
        {
            UserStore<User> userStore = new UserStore<User>(repository.Context);
            UserManager<User> userManager = new UserManager<User>(userStore);
            User user = userManager.FindByName(HttpContext.User.Identity.Name);
            QuestionListViewModel model = new QuestionListViewModel();

            model.Questions = repository.Questions
                .Where(q => subid == 0 ? true : q.SubjectId == subid);
            model.Questions = model.Questions
                .Where(q => q.Description.Contains(search));
            model.PagingInfo = new PagingInfo
            {
                CurrentPage = page,
                ItemsPerPage = PageSize,
                TotalItems = model.Questions.Count()
            };
            model.Questions = model.Questions
                .OrderByDescending(q => q.PublishedAt)
                .Skip((page - 1) * PageSize)
                .Take(PageSize);

            model.SubjectId = subid;
            model.Search = search;

            model.questionAddViewModel = new QuestionAddViewModel();

            model.questionAddViewModel.Subjects = repository.Subjects
                .OrderBy(s => s.Year);
            return View(model);
        }
示例#12
0
        // Get user info for a specific user name
        public ApplicationUserBase GetUserInfo(string userName)
        {
            // Create a user manager object
            var userManager =
                new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(ds));

            // Attempt to fetch the user object
            var userObject = userManager.FindByName(userName);

            if (userObject==null)
            {
                return null;
            }
            else
            {
                // Prepare a view model object
                var appUser = Mapper.Map<ApplicationUserBase>(userObject);
                // Add the role names
                foreach (var role in userObject.Roles)
                {
                    appUser.RolesForUser.Add(role.Role.Name);
                }

                return appUser;
            }
        }
 internal bool UpdateUser(string username, string realUsername, string permission)
 {
     IdentityResult result = null;
     Models.ApplicationDbContext context = new Models.ApplicationDbContext();
     var userMgr = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(context));
     var user = userMgr.FindByName(username);
     if (!string.IsNullOrEmpty(realUsername))
     {
         user.RealUserName = realUsername;
         result = userMgr.Update(user);
     }
     if (!string.IsNullOrEmpty(permission) && !userMgr.IsInRole(user.Id, permission))
     {
         userMgr.RemoveFromRoles(user.Id, "read", "edit", "administrator");
         switch (permission)
         {
             case "administrator":
                 result = userMgr.AddToRole(user.Id, "administrator");
                 break;
             case "edit":
                 result = userMgr.AddToRole(user.Id, "edit");
                 break;
             default:
                 result = userMgr.AddToRole(user.Id, "read");
                 break;
         }
     }
     if (result == IdentityResult.Success) return true; else return false;
 }
        public ActionResult Index()
        {
            try
            {
                if (User.Identity.IsAuthenticated)
                {
                    // Refresh the session object
                    var userManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(new ApplicationDbContext()));
                    HelperService.SetSiteUserProfile(userManager.FindByName(User.Identity.Name), new dbTIREntities());
                }

                if (User.IsInRole("Adminstrator"))
                {
                    Session["UserIsAdmin"] = true;
                    //return list of teacher in my scope
                    return View();
                }
                else
                { Session["UserIsAdmin"] = false; }
                return View();
            }
            catch (Exception ex)
            {
                Logging log = new Logging();
                log.LogException(ex);
                return View("GeneralError");
            }
        }
 internal bool RemoveUser(string username)
 {
     Models.ApplicationDbContext context = new Models.ApplicationDbContext();
     var userMgr = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(context));
     userMgr.Delete(userMgr.FindByName(username));
     return true;
 }
示例#16
0
 public IdentityUser FindUser(string userName)
 {
     var userManager = new UserManager<IdentityUser>(new UserStore<IdentityUser>());
     var user = userManager.FindByName(userName);
   
     return user;
 }
示例#17
0
        protected override bool AuthorizeCore(HttpContextBase httpContext)
        {
            var isAuthorized = base.AuthorizeCore(httpContext);
            if (!isAuthorized)
            {
                return false;
            }

            // Get the AD groups
            var groups = Roles.Split(',').ToList<string>();

            // Verify that the user is in the given AD group (if any)
            UserManager<ApplicationUser> UserManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(db));
            var user = httpContext.User.Identity;

            ApplicationUser userPrincipal = UserManager.FindByName(httpContext.User.Identity.GetUserName());

            if (userPrincipal != null)
                foreach (string group in groups)
                {

                    if (userPrincipal.AdminRole && group.Equals("Admin"))
                        return true;
                    if (userPrincipal.ConferenceRole && group.Equals("Conference"))
                        return true;
                    if (userPrincipal.ShowRole && group.Equals("Show"))
                        return true;

                    return false;

                }

            return true;
        }
示例#18
0
        public static void AddUserRole(string userName, string roleName)
        {
            using (var context = new ApplicationDbContext())
            {
                try
                {
                    if (!context.Roles.Any(r => r.Name == roleName)) return;

                    var roleStore = new RoleStore<IdentityRole>(context);
                    var roleManager = new RoleManager<IdentityRole>(roleStore);

                    var store = new UserStore<ApplicationUser>(context);
                    var userManager = new UserManager<ApplicationUser>(store);

                    var user = userManager.FindByName(userName);
                    var role = roleManager.FindByName(roleName);

                    if (userManager.IsInRole(user.Id, role.Name)) return;

                    userManager.AddToRole(user.Id, role.Name);
                    context.SaveChanges();
                }
                catch (DbEntityValidationException ex)
                {
                    // Retrieve the error messages as a list of strings.

                    // ReSharper disable once UnusedVariable
                    var errorMessages = ex.EntityValidationErrors
                        .SelectMany(x => x.ValidationErrors)
                        .Select(x => x.ErrorMessage);

                    throw;
                }
            }
        }
示例#19
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            DataBindUserList();
            DataBindRoleList();
        }

        //sample to check security authentication
        //check the Request object that is part of every
        //internet trip
        if(Request.IsAuthenticated)
        {
            string msg = "";
            msg += this.User.Identity.Name;
            UserManager um = new UserManager();
            var theUser = um.FindByName(this.User.Identity.Name);
            if (string.IsNullOrEmpty(theUser.WaiterID.ToString()))
            {
                msg+= "is not a Waiter but a registered user.";
            }
            else
            {
                msg+= " has the following data: ID: " + theUser.WaiterID.ToString() + " Email: " + theUser.Email;
            }
            bob.Text = msg;
        }
    }
示例#20
0
        private void AddPermisionToADM(ApplicationDbContext db)
        {
            var userManarge = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(db));
            var roleManager = new RoleManager<IdentityRole>(new RoleStore<IdentityRole>(db));
            var user = userManarge.FindByName("*****@*****.**");

            if (!userManarge.IsInRole(user.Id, "View"))
            {
                userManarge.AddToRole(user.Id, "View");
            }
            if (!userManarge.IsInRole(user.Id, "Create"))
            {
                userManarge.AddToRole(user.Id, "Create");
            }
            if (!userManarge.IsInRole(user.Id, "Edit"))
            {
                userManarge.AddToRole(user.Id, "Edit");
            }
            if (!userManarge.IsInRole(user.Id, "Delete"))
            {
                userManarge.AddToRole(user.Id, "Delete");
            }
            if (!userManarge.IsInRole(user.Id, "Adm"))
            {
                userManarge.AddToRole(user.Id, "Adm");
            }
        }
示例#21
0
        public static void Start()
        {
            using (var roleManager = new RoleManager<IdentityRole>(new RoleStore<IdentityRole>(new UsersDbContext())))
            {
                foreach (var roleName in RolesList.Where(roleName => !roleManager.RoleExists(roleName)))
                {
                    roleManager.Create(new IdentityRole(roleName));
                }
            }
            using (
                var userManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(new UsersDbContext()))
                )
            {
                if (userManager.FindByName(Constants.AdminUserName) != null)
                {
                    return;
                }

                var admin = new ApplicationUser {UserName = Constants.AdminUserName};
                var result = userManager.Create(admin, "AdminPass");
                if (!result.Succeeded)
                {
                    var txt = new StringBuilder();

                    foreach (var error in result.Errors)
                    {
                        txt.AppendLine(error);
                    }
                    throw new Exception(txt.ToString());
                }

                userManager.AddToRole(admin.Id, Constants.Roles.Admin);
            }
        }
示例#22
0
        public ActionResult Index()
        {
            MyIdentityDbContext db = new MyIdentityDbContext();

            UserStore<MyIdentityUser> userStore = new UserStore<MyIdentityUser>(db);
            UserManager<MyIdentityUser> userManager = new UserManager<MyIdentityUser>(userStore);

            MyIdentityUser user = userManager.FindByName(HttpContext.User.Identity.Name);

            NorthWindEntities northwindDb = new NorthWindEntities();

            List<Customer> customers = null;

            if (userManager.IsInRole(user.Id, "Administrator"))
            {
                customers = northwindDb.Customers.ToList();
            }

            if (userManager.IsInRole(user.Id, "Operator"))
            {
                customers = northwindDb.Customers.Where(m => m.City == "USA").ToList();
            }

            ViewBag.FullName = user.FullName + " (" + user.UserName + ") !";
            return View(customers);
        }
示例#23
0
        protected void RadGridUserList_InsertCommand(object sender, Telerik.Web.UI.GridCommandEventArgs e)
        {
            var editableitem = ((GridEditableItem)e.Item);
            UserControl userControl = (UserControl)e.Item.FindControl(GridEditFormItem.EditFormUserControlID);

            ///
            var useStore = new UserStore<AppUser>(new ApplicationDbContext());
            var manager = new UserManager<AppUser>(useStore);

            string LogInUserName=(editableitem.FindControl("RtxtLoginID") as RadTextBox).Text.Trim();

            var user = new AppUser { UserName = LogInUserName, FName = (editableitem.FindControl("RtxtFirstName") as RadTextBox).Text, LName = (editableitem.FindControl("RtxtLastName") as RadTextBox).Text };
            IdentityResult result = manager.Create(user, (editableitem.FindControl("RtxtPassword") as RadTextBox).Text);

            if (result.Succeeded)
            {
                //Get The Current Created UserInfo
                AppUser CreatedUser = manager.FindByName(LogInUserName);

                var RoleAddResult = manager.AddToRole(CreatedUser.Id.Trim(), (editableitem.FindControl("RDDListRole") as RadDropDownList).SelectedItem.Text.Trim());

                lblMessage.Text = string.Format("User {0} is creted successfully", user.UserName);
            }

            else
            {

                lblMessage.Text = result.Errors.FirstOrDefault();
                e.Canceled = true;
            }
        }
示例#24
0
 public ActionResult DisableUser()
 {
     List<string> users;
     List<string> enabledUsers;
     List<string> disabledUsers;
     using (var ctx = new ApplicationDbContext())
     {
         var userStore = new UserStore<ApplicationUser>(ctx);
         var userManager = new UserManager<ApplicationUser>(userStore);
         users = (from u in userManager.Users select u.UserName).ToList();
         disabledUsers = new List<string>(users);
         enabledUsers = new List<string>(users);
         foreach (var user in users)
         {
             if (!userManager.FindByName(user).LockoutEnabled)
             {
                 disabledUsers.Remove(user);
             }
             else
             {
                 enabledUsers.Remove(user);
             }
         }
         ViewBag.EnabledUsers = new SelectList(enabledUsers);
         ViewBag.DisabledUsers = new SelectList(disabledUsers);
     }
     return View();
 }
示例#25
0
 // return user registration date
 public static DateTime GetUserRegistrationDateTime(string userName)
 {
     using (var tmpUserManager = new UserManager<VoatUser>(new UserStore<VoatUser>(new ApplicationDbContext())))
     {
         var tmpuser = tmpUserManager.FindByName(userName);
         return tmpuser != null ? tmpuser.RegistrationDateTime : DateTime.MinValue;
     }
 }
示例#26
0
 // return original username
 public static string OriginalUsername(string userName)
 {
     using (var tmpUserManager = new UserManager<VoatUser>(new UserStore<VoatUser>(new ApplicationDbContext())))
     {
         var tmpuser = tmpUserManager.FindByName(userName);
         return tmpuser != null ? tmpuser.UserName : null;
     }
 }
示例#27
0
       public FTPerfil(UserManager<ApplicationUser> userManager,string username)
        {
            var user = userManager.FindByName(username);

            if (user.perfil != null) {
                this.fotobase = Convert.ToBase64String(user.perfil);            
            }           
        }
        // The id parameter should match the DataKeyNames value set on the control
        // or be decorated with a value provider attribute, e.g. [QueryString]int id
        public UniversalProviders_Identity_Migrations.Models.ProfileInfo ProfileForm_GetItem(int? id)
        {
            var manager = new UserManager();

            var user = manager.FindByName(User.Identity.Name);

            return user.Profile;
        }
示例#29
0
 // check if user exists in database
 public static bool UserExists(string userName)
 {
     using (var tmpUserManager = new UserManager<VoatUser>(new UserStore<VoatUser>(new ApplicationDbContext())))
     {
         var tmpuser = tmpUserManager.FindByName(userName);
         return tmpuser != null;
     }
 }
示例#30
0
        public async Task<ActionResult> DisableUser(string userName)
        {

   
            List<string> users;
            List<string> enabledUsers;
            List<string> disabledUsers;
            using (var context = new ApplicationDbContext())
            {

                var userStore = new UserStore<ApplicationUser>(context);
                var userManager = new UserManager<ApplicationUser>(userStore);

                var selectedUser = userManager.FindByName(userName);

                if (selectedUser == null)
                    throw new Exception("User not found!");

                if (!selectedUser.UserName.Equals("*****@*****.**"))
                {


                    if (!selectedUser.LockoutEnabled)
                    {
                        userManager.SetLockoutEnabled(selectedUser.Id, true);
                        DateTime lockoutDate = DateTime.Now.AddYears(50);
                        await userManager.SetLockoutEndDateAsync(selectedUser.Id, lockoutDate);
                        context.SaveChanges();
                        userManager.Update(selectedUser);
                        ViewBag.ResultMessage = "Disabled successfully !";

                    }
                }
                else
                {
                    ViewBag.ResultMessage = "Cannot disable Admin";
                }

                users = (from u in userManager.Users select u.UserName).ToList();
                disabledUsers = new List<string>(users);
                enabledUsers = new List<string>(users);
                foreach (var user in users)
                {
                    if (!userManager.FindByName(user).LockoutEnabled)
                    {
                        disabledUsers.Remove(user);
                    }
                    else
                    {
                        enabledUsers.Remove(user);
                    }
                }
            }

            ViewBag.EnabledUsers = new SelectList(enabledUsers);
            ViewBag.DisabledUsers = new SelectList(disabledUsers);
            return View();
        }
示例#31
0
        public void HandleCommand(UserManager<User> userManager, string message, Player player)
        {
            try
            {
                string commandText = message.Split(' ')[0];
                message = message.Replace(commandText, "").Trim();
                commandText = commandText.Replace("/", "").Replace(".", "");

                string[] arguments = message.Split(new[] {' '}, StringSplitOptions.RemoveEmptyEntries);

                List<CommandAttribute> foundCommands = new List<CommandAttribute>();
                foreach (var handlerEntry in _pluginCommands)
                {
                    CommandAttribute commandAttribute = handlerEntry.Value;
                    if (!commandText.Equals(commandAttribute.Command, StringComparison.InvariantCultureIgnoreCase)) continue;

                    MethodInfo method = handlerEntry.Key;
                    if (method == null) return;

                    foundCommands.Add(commandAttribute);

                    var authorizationAttributes = method.GetCustomAttributes<AuthorizeAttribute>(true);
                    foreach (AuthorizeAttribute authorizationAttribute in authorizationAttributes)
                    {
                        if (userManager == null)
                        {
                            player.SendMessage($"UserManager not found. You are not permitted to use this command!");
                            return;
                        }

                        User user = userManager.FindByName(player.Username);
                        if (user == null)
                        {
                            player.SendMessage($"No registered user '{player.Username}' found. You are not permitted to use this command!");
                            return;
                        }

                        var userIdentity = userManager.CreateIdentity(user, "none");
                        if (!authorizationAttribute.OnAuthorization(new GenericPrincipal(userIdentity, new string[0])))
                        {
                            player.SendMessage("You are not permitted to use this command!");
                            return;
                        }
                    }

                    if (ExecuteCommand(method, player, arguments)) return;
                }

                foreach (var commandAttribute in foundCommands)
                {
                    player.SendMessage($"Usage: {commandAttribute.Usage}");
                }
            }
            catch (Exception ex)
            {
                Log.Warn(ex);
            }
        }
示例#32
0
        protected override void Seed(LexiconLMS.Models.ApplicationDbContext context)
        {
            var userStore   = new UserStore <ApplicationUser>(context);
            var userManager = new UserManager <ApplicationUser>(userStore);

            var courses = new[]
            {
                new Course {
                    Name      = ".NET", Description = "Expert påbyggnadsutbildning",
                    StartDate = DateTime.Parse("2017-04-01 09:00:00"), EndDate = DateTime.Parse("2017-08-31 09:00:00")
                },

                new Course {
                    Name      = "Java", Description = "IT påbyggnadsutbildning",
                    StartDate = DateTime.Parse("2017-04-01 09:00:00"), EndDate = DateTime.Parse("2017-08-31 09:00:00")
                },

                new Course {
                    Name      = "Nätverk Teknik", Description = "fyra månaders kurs till nätverk tekniker",
                    StartDate = DateTime.Parse("2017-04-01 09:00:00"), EndDate = DateTime.Parse("2017-08-31 09:00:00")
                },

                //new Course {Name=".NET NF16",  Description="IT påbyggnadsutbildning",
                //    StartDate = DateTime.Parse("2016-12-19 09:00:00"), EndDate=DateTime.Parse("2017-04-11 09:00:00") },
            };

            context.Courses.AddOrUpdate(courses);
            context.SaveChanges();

            var Users = new List <ApplicationUser>
            {
                new ApplicationUser
                {
                    UserName  = "******",
                    Email     = "*****@*****.**",
                    FirstName = "Karl",
                    LastName  = "Hanssson",
                    CourseId  = context.Courses.FirstOrDefault(c => c.Name == "Java").CourseID
                },

                new ApplicationUser
                {
                    UserName  = "******",
                    Email     = "*****@*****.**",
                    FirstName = "Per",
                    LastName  = "Olsson",
                    CourseId  = context.Courses.FirstOrDefault(c => c.Name == "Java").CourseID
                },

                new ApplicationUser
                {
                    UserName  = "******",
                    Email     = "*****@*****.**",
                    FirstName = "Nils",
                    LastName  = "Persson",
                    CourseId  = context.Courses.FirstOrDefault(c => c.Name == "Java").CourseID
                },

                new ApplicationUser
                {
                    UserName  = "******",
                    Email     = "*****@*****.**",
                    FirstName = "Eva",
                    LastName  = "Larsson",
                    CourseId  = context.Courses.FirstOrDefault(c => c.Name == "Java").CourseID
                },


                //TEST
                new ApplicationUser
                {
                    UserName  = "******",
                    Email     = "*****@*****.**",
                    FirstName = "Anders",
                    LastName  = "Svensson",
                    CourseId  = context.Courses.FirstOrDefault(c => c.Name == "Java").CourseID
                },



                new ApplicationUser
                {
                    UserName  = "******",
                    Email     = "*****@*****.**",
                    FirstName = "Kurt",
                    LastName  = "Olsson",
                    CourseId  = context.Courses.FirstOrDefault(c => c.Name == "Java").CourseID
                },

                new ApplicationUser
                {
                    UserName  = "******",
                    Email     = "*****@*****.**",
                    FirstName = "Martin",
                    LastName  = "Eriksson",
                    CourseId  = context.Courses.FirstOrDefault(c => c.Name == "Java").CourseID
                },

                new ApplicationUser
                {
                    UserName  = "******",
                    Email     = "*****@*****.**",
                    FirstName = "Sven",
                    LastName  = "Svensson",
                    CourseId  = context.Courses.FirstOrDefault(c => c.Name == "Java").CourseID
                },

                new ApplicationUser
                {
                    UserName  = "******",
                    Email     = "*****@*****.**",
                    FirstName = "Pål",
                    LastName  = "Karlsson",
                    CourseId  = context.Courses.FirstOrDefault(c => c.Name == "Java").CourseID
                },

                new ApplicationUser
                {
                    UserName  = "******",
                    Email     = "*****@*****.**",
                    FirstName = "Jan",
                    LastName  = "Johansson",
                    CourseId  = context.Courses.FirstOrDefault(c => c.Name == "Java").CourseID
                },
            };

            context.SaveChanges();

            var modules = new[]
            {
                new Module {
                    Name = "C#", Description = "Grundläggande", StartDate = DateTime.Parse("2017-04-01 09:00:00"), EndDate = DateTime.Parse("2017-08-31 09:00:00"), CourseId = 1
                },
                new Module {
                    Name = "Netbeans", Description = "AGrundläggande", StartDate = DateTime.Parse("2017-04-01 09:00:00"), EndDate = DateTime.Parse("2017-08-31 09:00:00"), CourseId = 2
                },
                new Module {
                    Name = "Angular", Description = "BGrundläggande", StartDate = DateTime.Parse("2017-04-01 09:00:00"), EndDate = DateTime.Parse("2017-08-31 09:00:00"), CourseId = 1
                },

                //TEST
                //new Module { Name="C#", Description="Introduktion", StartDate = DateTime.Parse("2016-12-19 09:00:00"), EndDate=DateTime.Parse("2017-01-17 09:00:00"), CourseId=1 },
                //new Module { Name="Webb", Description="Introduktion", StartDate = DateTime.Parse("2017-01-18 09:00:00"), EndDate=DateTime.Parse("2017-01-31 09:00:00"), CourseId=1 },
                //new Module { Name="MVC", Description="Introduktion", StartDate = DateTime.Parse("2017-02-01 09:00:00"), EndDate=DateTime.Parse("2017-02-14 09:00:00"), CourseId=1 },
                //new Module { Name="Databas", Description="Introduktion", StartDate = DateTime.Parse("2017-02-15 09:00:00"), EndDate=DateTime.Parse("2017-02-21 09:00:00"), CourseId=2 },
                //new Module { Name="Testning", Description="Introduktion", StartDate = DateTime.Parse("2017-02-22 09:00:00"), EndDate=DateTime.Parse("2017-03-01 09:00:00"), CourseId=2 },
                //new Module { Name="App.utv", Description="Introduktion", StartDate = DateTime.Parse("2017-03-02 09:00:00"), EndDate=DateTime.Parse("2017-03-08 09:00:00"), CourseId=2 },
                //new Module { Name="MVC fördj", Description="Introduktion", StartDate = DateTime.Parse("2017-03-09 09:00:00"), EndDate=DateTime.Parse("2017-04-11 09:00:00"), CourseId=2 },
            };

            context.Modules.AddOrUpdate(modules);
            context.SaveChanges();

            var ActivityType = new[]
            {
                new ActivityType {
                    TypeName = "Föreläsning"
                },
                new ActivityType {
                    TypeName = "E-learning"
                },
                new ActivityType {
                    TypeName = "Övning"
                },
                new ActivityType {
                    TypeName = "Övrigt"
                }
            };

            context.ActivityTypes.AddOrUpdate(ActivityType);
            context.SaveChanges();

            // var activity = new[]
            // {
            //     new Activity { Name="OOP", Description="grundläggande", StartDate = DateTime.Parse("2017-04-01 09:00:00"), EndDate=DateTime.Parse("2017-08-31 09:00:00"), ModuleId=1,ActivityTypeID=1},
            //     new Activity { Name="C# Core", Description="grundläggande", StartDate = DateTime.Parse("2017-04-01 09:00:00"), EndDate=DateTime.Parse("2017-08-31 09:00:00"), ModuleId=2,ActivityTypeID=2},
            //     new Activity { Name="HTML", Description="Garage first", StartDate = DateTime.Parse("2017-04-01 09:00:00"), EndDate=DateTime.Parse("2017-08-31 09:00:00"), ModuleId=1 ,ActivityTypeID=2},
            //     new Activity { Name="CSS", Description="Garage first", StartDate = DateTime.Parse("2017-04-01 09:00:00"), EndDate=DateTime.Parse("2017-08-31 09:00:00"), ModuleId=1 ,ActivityTypeID=1},
            //     new Activity { Name="Garage 1.0", Description="Garage first", StartDate = DateTime.Parse("2017-04-01 09:00:00"), EndDate=DateTime.Parse("2017-08-31 09:00:00"), ModuleId=1 ,ActivityTypeID=1 }
            // };
            // context.Activities.AddOrUpdate(activity);
            //TEST
            var activity = new[]
            {
                //Modul C# (ModuleId=4)
                new Activity {
                    Name = "C# Intro", Description = "Extern föreläsare", StartDate = DateTime.Parse("2016-12-20 09:00:00"), EndDate = DateTime.Parse("2016-12-20 13:00:00"), ModuleId = 1, ActivityTypeID = 1
                },                                                                                                                                                                                              //Föreläsning
                new Activity {
                    Name = "1.3", Description = "C# Fundamental with Visual Studio 2015", StartDate = DateTime.Parse("2016-12-21 09:00:00"), EndDate = DateTime.Parse("2016-12-21 12:00:00"), ModuleId = 2, ActivityTypeID = 2
                },                                                                                                                                                                                                              //E-learning
                new Activity {
                    Name = "1.4 + 1.5", Description = "C# Fundamental with Visual Studio 2015", StartDate = DateTime.Parse("2016-12-21 13:00:00"), EndDate = DateTime.Parse("2016-12-21 17:00:00"), ModuleId = 3, ActivityTypeID = 3
                },                                                                                                                                                                                                                    //E-learning
                //new Activity {Name="C# Grund", Description="Självstudier", StartDate = DateTime.Parse("2016-12-22 09:00:00"), EndDate=DateTime.Parse("2016-12-22 17:00:00"), ModuleId=4, ActivityTypeID=1},//Föreläsning
                //new Activity {Name="2", Description="C# övning", StartDate = DateTime.Parse("2016-12-23 09:00:00"), EndDate=DateTime.Parse("2016-12-23 17:00:00"), ModuleId=4, ActivityTypeID=3},//Övning
                //new Activity {Name="1.6 + 1.7", Description="C# Fundamentals with Visual Studio", StartDate = DateTime.Parse("2016-12-27 09:00:00"), EndDate=DateTime.Parse("2016-12-27 17:00:00"), ModuleId=4, ActivityTypeID=2},//E-learning
                ////Modul Webb (ModuleId=5)
                //new Activity {Name="HTML, CSS", Description="Extern föreläsare", StartDate = DateTime.Parse("2017-01-18 09:00:00"), EndDate=DateTime.Parse("2017-01-18 13:00:00"), ModuleId=5, ActivityTypeID=1},
                //new Activity {Name="3 + 4.1-4.3", Description="Självstudier", StartDate = DateTime.Parse("2017-01-19 09:00:00"), EndDate=DateTime.Parse("2017-01-19 13:00:00"), ModuleId=5, ActivityTypeID=2},
                ////Modul MVC (ModuleId=6)
                //new Activity {Name="ASP.NET MVC", Description="Extern föreläsare", StartDate = DateTime.Parse("2017-02-01 09:00:00"), EndDate=DateTime.Parse("2017-02-01 13:00:00"), ModuleId=6, ActivityTypeID=1},
                //new Activity {Name="7.1 - 7.3", Description="Självstudier", StartDate = DateTime.Parse("2017-02-02 09:00:00"), EndDate=DateTime.Parse("2017-02-02 13:00:00"), ModuleId=6, ActivityTypeID=2},
                ////Modul Databas (ModuleId=7)
                //new Activity {Name="Datamodellering", Description="Extern föreläsare", StartDate = DateTime.Parse("2017-02-15 09:00:00"), EndDate=DateTime.Parse("2017-02-15 13:00:00"), ModuleId=7, ActivityTypeID=1},
                //new Activity {Name="Övning13", Description="Datamodellering", StartDate = DateTime.Parse("2017-02-16 09:00:00"), EndDate=DateTime.Parse("2017-02-16 13:00:00"), ModuleId=7, ActivityTypeID=3},
                ////Modul Testning (ModuleId=8)
                //new Activity {Name="ISTQB", Description="Extern föreläsare", StartDate = DateTime.Parse("2017-02-22 09:00:00"), EndDate=DateTime.Parse("2017-02-22 13:00:00"), ModuleId=8, ActivityTypeID=1},
                //new Activity {Name="ISTQB", Description="Extern föreläsare", StartDate = DateTime.Parse("2017-02-23 09:00:00"), EndDate=DateTime.Parse("2017-02-23 13:00:00"), ModuleId=8, ActivityTypeID=1},
                ////Modul App.Utv (ModuleId=9)
                //new Activity {Name="11", Description="AngularJS", StartDate = DateTime.Parse("2017-03-02 09:00:00"), EndDate=DateTime.Parse("2017-03-02 13:00:00"), ModuleId=9, ActivityTypeID=2},
                //new Activity {Name="11", Description="AngularJS", StartDate = DateTime.Parse("2017-03-03 09:00:00"), EndDate=DateTime.Parse("2017-03-03 13:00:00"), ModuleId=9, ActivityTypeID=2},
                ////Modul MVC fördj (ModuleId=10)
                //new Activity {Name="12", Description="MVC", StartDate = DateTime.Parse("2017-03-09 09:00:00"), EndDate=DateTime.Parse("2017-03-09 13:00:00"), ModuleId=10, ActivityTypeID=2},
                //new Activity {Name="12", Description="MVC", StartDate = DateTime.Parse("2017-03-09 09:00:00"), EndDate=DateTime.Parse("2017-03-09 13:00:00"), ModuleId=10, ActivityTypeID=2},
            };

            context.Activities.AddOrUpdate(activity);
            context.SaveChanges();

            //var documents = new[]
            //{
            //    //new Document {FileName="", FilePath="", Description="", TimeStamp=DateTime.Parse("2017-03-09 09:00:00"), DeadlineDate=DateTime.Parse("2017-04-09 09:00:00"), UserId =  }
            //};
            //context.Documents.AddOrUpdate(documents);
            //context.SaveChanges();



            // Get Users Teacher or Student
            foreach (var user in Users)
            {
                var result = userManager.Create(user, "foobar");
            }

            var roleStore   = new RoleStore <IdentityRole>(context);
            var roleManager = new RoleManager <IdentityRole>(roleStore);

            //
            var roleNames = new[] { "Teacher", "Student" };

            foreach (var roleName in roleNames)
            {
                if (!context.Roles.Any(r => r.Name == roleName))
                {
                    var role = new IdentityRole {
                        Name = roleName
                    };
                    var result = roleManager.Create(role);
                    if (!result.Succeeded)
                    {
                        throw new Exception(string.Join("\n", result.Errors));
                    }
                }
            }


            // Add roles
            var teachers = new[] { "*****@*****.**", "*****@*****.**", "*****@*****.**", "*****@*****.**", "*****@*****.**" };

            foreach (var item in teachers)
            {
                var teacherUser = userManager.FindByName(item);
                userManager.AddToRole(teacherUser.Id, "Teacher");
            }

            var students = new[] { "*****@*****.**", "*****@*****.**", "*****@*****.**", "*****@*****.**", "*****@*****.**" };

            foreach (var item in students)
            {
                var studentUser = userManager.FindByName(item);
                userManager.AddToRole(studentUser.Id, "Student");
            }
        }
示例#33
0
        public async Task <IHttpActionResult> SendMessage(ChatMessageBindingModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            var user    = UserManager.FindByName(User.Identity.Name);
            var partner = await UserManager.FindByIdAsync(model.Destination);

            if (partner == null)
            {
                return(BadRequest("You must provide the destination of the message."));
            }

            var filters    = Builders <ChatConversation> .Filter;
            var collection = IlevusDBContext.Create().GetConversationsCollection();
            var first      = string.Compare(partner.Id, user.Id) > 0 ? user : partner;
            var second     = string.Compare(partner.Id, user.Id) < 0 ? user : partner;
            var docFilter  = filters.And(
                filters.Eq("FirstUser", first.Id),
                filters.Eq("SecondUser", second.Id)
                // filters.Eq("Day", DateTime.Today) // Uncomment if per-day conversation is active
                );

            try
            {
                var results = await collection.FindAsync(docFilter);

                ChatMessage msg;
                var         conversation = await results.FirstOrDefaultAsync();

                if (conversation == null)
                {
                    conversation = new ChatConversation()
                    {
                        FirstUser  = first.Id,
                        SecondUser = second.Id
                    };
                    msg = new ChatMessage()
                    {
                        AuthorId = user.Id,
                        Content  = model.Content
                    };
                    conversation.Messages.Add(msg);
                    await collection.InsertOneAsync(conversation);

                    return(Ok(msg));
                }
                else
                {
                    msg = new ChatMessage()
                    {
                        AuthorId = user.Id,
                        Content  = model.Content
                    };
                    await collection.UpdateOneAsync(
                        docFilter, Builders <ChatConversation> .Update.AddToSet("Messages", msg)
                        );

                    return(Ok(msg));
                }
            }
            catch (Exception e)
            {
                return(InternalServerError(e));
            }
        }
示例#34
0
    /*
     * CREATED:     E. Lautner		APR 1 2018
     *
     * Page_Load()
     * Run on page load and is used to display the selected accounts details
     *
     * PARAMETERS:
     * object sender - references the object that raised the Page_Load event
     * EventArgs e - optional class that may be passed that inherits from EventArgs (usually empty)
     *
     * RETURNS:
     * void
     *
     * ODEV METHOD CALLS:
     * MessageUserControl.ShowErrorMessage()
     * UserManager.FindByName()
     * UserManager.GetRoles()
     */
    protected void Page_Load(object sender, EventArgs e)
    {
        if (IsPostBack)
        {
            if (AuthorizationLevelRolesRadioList.SelectedValue == AuthorizationLevelRoles.User)
            {
                CareSiteDDL.Visible   = true;
                CareSiteLabel.Visible = true;
            }
            else
            {
                CareSiteDDL.Visible   = false;
                CareSiteLabel.Visible = false;
            }
        }
        else
        {
            try
            {
                sentUserName = Request.QueryString["id"];
                if (sentUserName == "administratoraccount") //can't modify webmaster
                {
                    Response.Redirect("~/Management/accounts");
                }
                else
                {
                    if (sentUserName == null)
                    {
                        Response.Redirect("~/Management/accounts");
                    }
                    else
                    {
                        UsernameLabel.Text = sentUserName;

                        UserManager userManager  = new UserManager();
                        var         selectedUser = userManager.FindByName(sentUserName);

                        if (selectedUser == null)
                        {
                            Response.Redirect("~/Management/accounts");
                        }
                        if (selectedUser.activeyn == true)
                        {
                            PasswordBtn.Visible             = true;
                            DeactivateAccountButton.Visible = true;
                            UpdateAccountButton.Visible     = true;
                            FirstNameTB.Enabled             = true;
                            LastNameTB.Enabled = true;
                            EmailTB.Enabled    = true;
                            AuthorizationLevelRolesRadioList.Enabled = true;
                            CareSiteDDL.Enabled = true;

                            if (selectedUser.Id == Context.User.Identity.GetUserId())
                            {
                                DeactivateAccountButton.Visible          = false;
                                AuthorizationLevelRolesRadioList.Enabled = false;
                            }
                        }
                        else
                        {
                            PasswordBtn.Visible             = false;
                            DeactivateAccountButton.Visible = false;
                            UpdateAccountButton.Visible     = false;
                            FirstNameTB.Enabled             = false;
                            LastNameTB.Enabled = false;
                            EmailTB.Enabled    = false;
                            AuthorizationLevelRolesRadioList.Enabled = false;
                            CareSiteDDL.Enabled = false;
                        }

                        var userRoles = userManager.GetRoles(selectedUser.Id);

                        string userRole = string.Join("", userRoles.ToArray());

                        FirstNameTB.Text = selectedUser.firstname;
                        LastNameTB.Text  = selectedUser.lastname;
                        EmailTB.Text     = selectedUser.Email;

                        CareSiteDDL.SelectedValue = selectedUser.caresiteid.ToString();
                        if (selectedUser.caresiteid == null)
                        {
                            CareSiteDDL.SelectedValue = "0";
                        }

                        AuthorizationLevelRolesRadioList.SelectedValue = userRole;

                        if (userRole == AuthorizationLevelRoles.Administrator || userRole == AuthorizationLevelRoles.Super_User)
                        {
                            CareSiteDDL.Visible   = false;
                            CareSiteLabel.Visible = false;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                MessageUserControl.ShowErrorMessage("Retrieving account information from the database failed. Please try again. If error persists, please contact your administrator.", ex);
            }
        }
    }
示例#35
0
        private async Task <ActionResult> createUser(UserEditModel model, bool IsActive)
        {
            if (ModelState.IsValid)
            {
                var locationExists = context.Locations.Any(loc => loc.State == model.SelectedState && loc.International == model.IsInternational);
                if (locationExists)
                {
                    model.LocationId = context.Locations.FirstOrDefault(loc => loc.State == model.SelectedState && loc.International == model.IsInternational).Id;
                }
                else if (!string.IsNullOrEmpty(model.SelectedState))
                {
                    model.LocationId = CreateLocation(model.SelectedState, model.IsInternational);
                }
                else
                {
                    model.LocationId = null;
                }

                var userNameExists = context.Users.Any(u => u.Id != model.Id && u.UserName == model.Username);
                if (userNameExists)
                {
                    ViewBag.BannerMessage = "This username is already in use.  Please try a different user name.";
                    ViewBag.BannerClass   = "alert-danger";
                    BuildCreateEditViewData();
                    return(View());
                }

                var emailExists = context.Users.Any(u => u.Id != model.Id && u.Email == model.Email);
                if (emailExists)
                {
                    ViewBag.BannerMessage = "The email provided is already associated with another account.  Please ensure the email address is correct.";
                    ViewBag.BannerClass   = "alert-danger";
                    BuildCreateEditViewData();
                    model.IsActive = IsActive;
                    return(View());
                }

                var result = _userManager.Create(new User {
                    UserName = model.Username
                }, model.Password ?? KeyGenerator.GetUniqueKey(6));
                if (result.Succeeded)
                {
                    var user = _userManager.FindByName(model.Username);

                    user.FirstName = model.FirstName;
                    user.LastName  = model.LastName;
                    user.Vendor    = context.Vendors.First(v => v.Id == model.VendorId);
                    user.Email     = model.Email;
                    user.IsActive  = IsActive;
                    await _userManager.SetLockoutEnabledAsync(user.Id, true);

                    if (model.LocationId != null)
                    {
                        user.Location = context.Locations.First(lo => lo.Id == model.LocationId);
                    }
                    var siteIds = new List <int>();
                    if (model.SiteList != null)
                    {
                        siteIds = model.SiteList.Split(',').Select(s => Convert.ToInt32(s)).ToList();
                    }

                    var systemIds = new List <int>();
                    if (model.SystemList != null)
                    {
                        systemIds = model.SystemList.Split(',').Select(s => Convert.ToInt32(s)).ToList();
                    }

                    user.userSiteAccess = context.Sites.Where(s => siteIds.Contains(s.Id)).ToList();
                    var newBuildingSystems = context.Buildings.SelectMany(b => b.Systems).Where(bs => systemIds.Contains(bs.Id)).ToList();

                    List <BuildingSystem> systemAdditions = new List <BuildingSystem>();
                    systemAdditions = newBuildingSystems.ToList();

                    foreach (var addition in systemAdditions)
                    {
                        user.BuildingSystems.Add(addition);
                    }

                    _userManager.AddToRole(user.Id, context.Roles.First(r => r.Id == model.RoleId).Name);
                    _userManager.Update(user);

                    model.Id = user.Id;

                    TempData["CreateSuccess"] = model.Username + " was created successfully";
                    return(RedirectToAction("Index"));
                }

                return(View(model));
            }

            return(View(model));
        }
示例#36
0
        private static void SeedUsers(LearningManagementSystem.Models.ApplicationDbContext context)
        {
            var roleStore   = new RoleStore <IdentityRole>(context); //vanligtvis i controllern
            var roleManager = new RoleManager <IdentityRole>(roleStore);

            foreach (string roleName in new[] { "Teacher", "Student" })
            {
                if (!context.Roles.Any(r => r.Name == roleName))
                {
                    var role = new IdentityRole {
                        Name = roleName
                    };
                    roleManager.Create(role);
                    // var result = roleManager.Create(role);
                }
            }
            var userStore   = new UserStore <ApplicationUser>(context);
            var userManager = new UserManager <ApplicationUser>(userStore);

            var users = new List <ApplicationUser> {
                new ApplicationUser {
                    UserName = "******",
                    Email    = "*****@*****.**",
                    //GroupId = null,
                    FirstName = "Ulrika",
                    LastName  = "Svensson",
                },
                new ApplicationUser {
                    UserName = "******",
                    Email    = "*****@*****.**",
                    //GroupId = null,
                    FirstName = "Anette",
                    LastName  = "Gustavsson",
                },
                new ApplicationUser {
                    UserName  = "******",
                    Email     = "*****@*****.**",
                    GroupId   = 2,
                    FirstName = "Sven",
                    LastName  = "Andersson",
                },
                new ApplicationUser {
                    UserName  = "******",
                    Email     = "*****@*****.**",
                    GroupId   = 2,
                    FirstName = "Olle",
                    LastName  = "Person",
                },
                new ApplicationUser {
                    UserName  = "******",
                    Email     = "*****@*****.**",
                    GroupId   = 2,
                    FirstName = "Anna",
                    LastName  = "Svensson",
                },
                new ApplicationUser {
                    UserName  = "******",
                    Email     = "*****@*****.**",
                    GroupId   = 2,
                    FirstName = "Lee",
                    LastName  = "Stevenson"
                },
                new ApplicationUser {
                    UserName  = "******",
                    Email     = "*****@*****.**",
                    GroupId   = 2,
                    FirstName = "Adrian",
                    LastName  = "Lejon",
                },
                new ApplicationUser {
                    UserName  = "******",
                    Email     = "*****@*****.**",
                    GroupId   = 1,
                    FirstName = "Oscar",
                    LastName  = "Von Shinkel",
                },
                new ApplicationUser {
                    UserName  = "******",
                    Email     = "*****@*****.**",
                    GroupId   = 4,
                    FirstName = "Anders",
                    LastName  = "Warg",
                },
                new ApplicationUser {
                    UserName  = "******",
                    Email     = "*****@*****.**",
                    GroupId   = 1,
                    FirstName = "Susanne",
                    LastName  = "Holmgren",
                }, //
                new ApplicationUser {
                    UserName  = "******",
                    Email     = "*****@*****.**",
                    GroupId   = 2,
                    FirstName = "Ove",
                    LastName  = "Sundeberg",
                },
                new ApplicationUser {
                    UserName  = "******",
                    Email     = "*****@*****.**",
                    GroupId   = 2,
                    FirstName = "Carmen",
                    LastName  = "Sanchez",
                },
                new ApplicationUser {
                    UserName  = "******",
                    Email     = "*****@*****.**",
                    GroupId   = 2,
                    FirstName = "Bo",
                    LastName  = "Albrektson"
                },
                new ApplicationUser {
                    UserName  = "******",
                    Email     = "*****@*****.**",
                    GroupId   = 2,
                    FirstName = "Klara",
                    LastName  = "Swan",
                },
                new ApplicationUser {
                    UserName  = "******",
                    Email     = "*****@*****.**",
                    GroupId   = 4,
                    FirstName = "Sara",
                    LastName  = "Af Silverstolpe",
                },
                new ApplicationUser {
                    UserName  = "******",
                    Email     = "*****@*****.**",
                    GroupId   = 4,
                    FirstName = "Torsten",
                    LastName  = "Pample",
                },
                new ApplicationUser {
                    UserName  = "******",
                    Email     = "*****@*****.**",
                    GroupId   = 1,
                    FirstName = "Lenita",
                    LastName  = "Gonzales",
                }
            };

            foreach (var u in users)
            {
                userManager.Create(u, "foobar1");
            }


            var teacherUser = userManager.FindByName("*****@*****.**");

            userManager.AddToRole(teacherUser.Id, "Teacher");

            var studentUser = userManager.FindByName("*****@*****.**");

            userManager.AddToRole(studentUser.Id, "Student");

            var studentUser1 = userManager.FindByName("*****@*****.**");

            userManager.AddToRole(studentUser1.Id, "Student");

            var studentUser2 = userManager.FindByName("*****@*****.**");

            userManager.AddToRole(studentUser2.Id, "Student");

            var studentUser3 = userManager.FindByName("*****@*****.**");

            userManager.AddToRole(studentUser3.Id, "Student");

            var studentUser4 = userManager.FindByName("*****@*****.**");

            userManager.AddToRole(studentUser4.Id, "Student");

            var studentUser5 = userManager.FindByName("*****@*****.**");

            userManager.AddToRole(studentUser5.Id, "Student");

            var studentUser6 = userManager.FindByName("*****@*****.**");

            userManager.AddToRole(studentUser6.Id, "Student");

            var studentUser7 = userManager.FindByName("*****@*****.**");

            userManager.AddToRole(studentUser7.Id, "Student");//

            var teacherUser1 = userManager.FindByName("*****@*****.**");

            userManager.AddToRole(teacherUser1.Id, "Teacher");

            var studentUser8 = userManager.FindByName("*****@*****.**");

            userManager.AddToRole(studentUser8.Id, "Student");

            var studentUser9 = userManager.FindByName("*****@*****.**");

            userManager.AddToRole(studentUser9.Id, "Student");

            var studentUser10 = userManager.FindByName("*****@*****.**");

            userManager.AddToRole(studentUser10.Id, "Student");

            var studentUser11 = userManager.FindByName("*****@*****.**");

            userManager.AddToRole(studentUser11.Id, "Student");

            var studentUser12 = userManager.FindByName("*****@*****.**");

            userManager.AddToRole(studentUser12.Id, "Student");

            var studentUser13 = userManager.FindByName("*****@*****.**");

            userManager.AddToRole(studentUser13.Id, "Student");

            var studentUser14 = userManager.FindByName("*****@*****.**");

            userManager.AddToRole(studentUser14.Id, "Student");
        }
示例#37
0
        public ApplicationUser GetUserByName(string name)
        {
            var um = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(new ApplicationDbContext()));

            return(um.FindByName(name));
        }
示例#38
0
        protected override void Seed(LaptopSystem.Data.ApplicationDbContext context)
        {
            //  This method will be called after migrating to the latest version.

            //  You can use the DbSet<T>.AddOrUpdate() helper extension method
            //  to avoid creating duplicate seed data. E.g.
            //
            //    context.People.AddOrUpdate(
            //      p => p.FullName,
            //      new Person { FullName = "Andrew Peters" },
            //      new Person { FullName = "Brice Lambson" },
            //      new Person { FullName = "Rowan Miller" }
            //    );
            //

            //context.Configuration.LazyLoadingEnabled = true;

            // Manufacturers, Laptops
            context.Manufacturers.AddOrUpdate(
                man => man.Name,
                new Manufacturer
            {
                Name    = "Assus",
                Laptops = new List <Laptop>
                {
                    new Laptop
                    {
                        HardDiskSize  = 500,
                        ImageUrl      = @"~/images/laptopImage.jpg",
                        Model         = "Eye PC",
                        MonitorSize   = 15.6,
                        Price         = 1600,
                        RamMemorySize = 6,
                    },
                    new Laptop
                    {
                        HardDiskSize  = 750,
                        ImageUrl      = @"~/images/laptopImage.jpg",
                        Model         = "Eye PC2",
                        MonitorSize   = 15.6,
                        Price         = 1820,
                        RamMemorySize = 8,
                    },
                    new Laptop
                    {
                        HardDiskSize  = 750,
                        ImageUrl      = @"~/images/laptopImage.jpg",
                        Model         = "VivoBook",
                        MonitorSize   = 15.6,
                        Price         = 2200,
                        RamMemorySize = 8,
                    },
                    new Laptop
                    {
                        HardDiskSize  = 750,
                        ImageUrl      = @"~/images/laptopImage.jpg",
                        Model         = "VivoBook 2",
                        MonitorSize   = 17.4,
                        Price         = 2400,
                        RamMemorySize = 8,
                    },
                    new Laptop
                    {
                        HardDiskSize  = 750,
                        ImageUrl      = @"~/images/laptopImage.jpg",
                        Model         = "X200",
                        MonitorSize   = 17.4,
                        Price         = 2400,
                        RamMemorySize = 8,
                    }
                }
            },
                new Manufacturer
            {
                Name    = "HP",
                Laptops = new List <Laptop>
                {
                    new Laptop
                    {
                        HardDiskSize  = 500,
                        ImageUrl      = @"~/images/laptopImage.jpg",
                        Model         = "EliteBook",
                        MonitorSize   = 15.6,
                        Price         = 1600,
                        RamMemorySize = 6,
                    },
                    new Laptop
                    {
                        HardDiskSize  = 750,
                        ImageUrl      = @"~/images/laptopImage.jpg",
                        Model         = "EliteBook 2",
                        MonitorSize   = 15.6,
                        Price         = 1820,
                        RamMemorySize = 8,
                    },
                    new Laptop
                    {
                        HardDiskSize  = 750,
                        ImageUrl      = @"~/images/laptopImage.jpg",
                        Model         = "ProBook",
                        MonitorSize   = 15.6,
                        Price         = 2200,
                        RamMemorySize = 8,
                    },
                    new Laptop
                    {
                        HardDiskSize  = 750,
                        ImageUrl      = @"~/images/laptopImage.jpg",
                        Model         = "ProBook 2",
                        MonitorSize   = 17.4,
                        Price         = 2400,
                        RamMemorySize = 8,
                    },
                    new Laptop
                    {
                        HardDiskSize  = 750,
                        ImageUrl      = @"~/images/laptopImage.jpg",
                        Model         = "Spectre",
                        MonitorSize   = 17.4,
                        Price         = 2400,
                        RamMemorySize = 8,
                    }
                }
            }
                );

            // Users and Roles
            var roleManager = new RoleManager <IdentityRole>(new RoleStore <IdentityRole>(context));
            var userManager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(context));

            if (!roleManager.RoleExists("Users"))
            {
                roleManager.Create(new IdentityRole("Users"));
            }

            var user = new ApplicationUser {
                UserName = "******", Email = "*****@*****.**",
            };


            if (userManager.FindByName("itaskov") == null)
            {
                var result = userManager.Create(user, "123456");

                if (result.Succeeded)
                {
                    userManager.AddToRole(user.Id, "Users");
                }
            }

            if (!roleManager.RoleExists("Administrators"))
            {
                roleManager.Create(new IdentityRole("Administrators"));
            }

            user = new ApplicationUser {
                UserName = "******", Email = "*****@*****.**",
            };


            if (userManager.FindByName("admin") == null)
            {
                var result = userManager.Create(user, "123456");

                if (result.Succeeded)
                {
                    userManager.AddToRole(user.Id, "Administrators");
                }
            }

            // Votes
            if (context.Votes.Count() == 0)
            {
                var userName = userManager.FindByName("itaskov");
                var rnd      = new Random();
                if (userName != null)
                {
                    for (int i = 0; i < 20; i++)
                    {
                        context.Votes.Add(
                            new Vote
                        {
                            ApplicationUserId = userName.Id,
                            LaptopId          = rnd.Next(1, 11)
                        }
                            );
                    }
                }

                userName = userManager.FindByName("admin");
                if (userName != null)
                {
                    for (int i = 0; i < 20; i++)
                    {
                        context.Votes.Add(
                            new Vote
                        {
                            ApplicationUserId = userName.Id,
                            LaptopId          = rnd.Next(1, 11)
                        }
                            );
                    }
                }
            }

            // Comments
            if (context.Comments.Count() == 0)
            {
                var userName = userManager.FindByName("itaskov");
                var rnd      = new Random();
                if (userName != null)
                {
                    for (int i = 0; i < 20; i++)
                    {
                        context.Comments.Add(
                            new Comment
                        {
                            ApplicationUserId = userName.Id,
                            LaptopId          = rnd.Next(1, 11),
                            Content           = "This model is good " + i.ToString()
                        }
                            );
                    }
                }

                userName = userManager.FindByName("admin");
                if (userName != null)
                {
                    for (int i = 0; i < 20; i++)
                    {
                        context.Comments.Add(
                            new Comment
                        {
                            ApplicationUserId = userName.Id,
                            LaptopId          = rnd.Next(1, 11),
                            Content           = "This model is good " + i.ToString()
                        }
                            );
                    }
                }
            }
        }
        private async Task <ActionResult> PerformLogin(LoginViewModel model, string returnUrl, string origin)
        {
            //var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout: false);
            var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout : false);

            ApplicationDbContext context = new ApplicationDbContext();

            //var roleManager = new RoleManager<IdentityRole>(new RoleStore<IdentityRole>(context));
            var UserManager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(context));
            //var user = new ApplicationUser();
            //user.UserName = model.Email;
            //user.Email = model.Email;
            //string userPWD = model.Password;

            var chkUser  = UserManager.FindByName(model.Email);
            var usertype = "";

            if (chkUser != null)
            {
                using (var db = new TalentContext())
                {
                    var user = db.Employees.Where(o => o.UserId == chkUser.Id);
                    if (user.Any())
                    {
                        usertype = "Employee";
                    }
                    else
                    {
                        usertype = "Applicant";
                    }
                }
            }
            //Add default User to Role Admin   
            //if (chkUser.Succeeded)
            //{

            //}

            switch (result)
            {
            case SignInStatus.Success:
                if (returnUrl != null)
                {
                    return(RedirectToLocal(returnUrl));
                }
                else if ((origin == "Employee") && (usertype == "Employee"))
                {
                    return(RedirectToAction("Dashboard", "Admin"));
                }
                else
                {
                    return(RedirectToAction("Dashboard", "Applicant"));
                }

            case SignInStatus.LockedOut:
                return(View("Lockout"));

            case SignInStatus.RequiresVerification:
                return(RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = model.RememberMe }));

            case SignInStatus.Failure:
            default:
                // ModelState.AddModelError("", "Invalid login attempt.");
                ModelState.AddModelError("", "Invalid Email and Password Combination; Check and Try again");

                return(View(model));
            }
        }
示例#40
0
        public async Task <ActionResult> Register(RegisterViewModel model)
        {
            if (ModelState.IsValid)
            {
                Auditeur formauditeur = new Auditeur {
                    Nom = model.Nom, Prenom = model.Prenom, Affectation = model.Affectation, Telephone = model.Telephone, DateIntroBaseAuditeur = DateTime.Now
                };


                var user = new ApplicationUser()
                {
                    UserName = model.Email, Email = model.Email, auditeur = formauditeur
                };

                var roleManager = new RoleManager <Microsoft.AspNet.Identity.EntityFramework.IdentityRole>(new RoleStore <IdentityRole>(new ApplicationDbContext()));
                var userManager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(new ApplicationDbContext()));

                if (!roleManager.RoleExists("Auditeur"))
                {
                    var role = new Microsoft.AspNet.Identity.EntityFramework.IdentityRole();
                    role.Name = "Auditeur";
                    roleManager.Create(role);
                }

                if (userManager.FindByName(user.UserName) == null)
                {
                    userManager.Create(user, model.Password);
                }
                ///////

                user = userManager.FindByName(user.UserName);
                ICollection <IdentityUserRole> roles = new List <IdentityUserRole>();
                if (user.Roles != null)
                {
                    roles = user.Roles;
                }
                var roleExixtes = false;

                foreach (var item in roles)
                {
                    if (roleManager.RoleExists("Auditeur"))
                    {
                        roleExixtes = true;
                    }
                }
                if (!roleExixtes)
                {
                    userManager.AddToRole(user.Id, "Auditeur");
                }

                await SignInAsync(user, isPersistent : false);

                return(RedirectToAction("Index", "Affectations"));

                //IdentityResult result = await UserManager.CreateAsync(user, model.Password);
                //if (result.Succeeded)
                //{
                //    await SignInAsync(user, isPersistent: false);

                //    // For more information on how to enable account confirmation and password reset please visit http://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>");


                //    if (!Roles.RoleExists("Auditeur"))
                //        Roles.CreateRole("Auditeur");

                //    if (!Roles.GetRolesForUser(user.UserName).Contains("Auditeur"))
                //    Roles.AddUserToRole(user.UserName, "Auditeur");

                //    return RedirectToAction("Index", "Home");
                //}
                //else
                //{
                //    AddErrors(result);
                //}
            }

            // If we got this far, something failed, redisplay form
            return(View(model));
        }
示例#41
0
    /*
     * CREATED:     E. Lautner		APR 1 2018
     * MODIFIED:   C. Stanhope     APR 14 2018
     *  - changed validation to match the account_add validation
     *
     * ModifyUser_Click()
     * Gathers all given information on the page about the selected account. Sends this information to the userManager so that the account can be updated.
     *
     * PARAMETERS:
     * object sender - references the object that raised the Page_Load event
     * EventArgs e - optional class that may be passed that inherits from EventArgs (usually empty)
     *
     * RETURNS:
     * void
     *
     * ODEV METHOD CALLS:
     * MessageUserControl.ShowSuccessMessage()
     * MessageUserControl.ShowErrorMessage()
     * UserManager.ModifyAccount()
     * UserManager.GetRoles()
     */
    protected void ModifyUser_Click(object sender, EventArgs e)
    {
        {
            sentUserName = Request.QueryString["id"];
            if (sentUserName == "" || sentUserName == null)
            {
                MessageUserControl.ShowErrorMessage("An account has not been selected. Please navigate back to the Account Search page and select an account. If error persists, please contact your administrator.");
            }

            else
            {
                //Retrieve the values from the controls
                string firstNameText = FirstNameTB.Text.Trim();
                string lastNameText  = LastNameTB.Text.Trim();
                string emailText     = EmailTB.Text.Trim();
                string authLevelText = AuthorizationLevelRolesRadioList.SelectedValue;
                int    careSiteID    = int.Parse(CareSiteDDL.Visible == false ? "0" : CareSiteDDL.SelectedValue);

                List <string> errorList = new List <string>();
                bool          isValid   = true;

                #region check if any inputs are blank
                if (string.IsNullOrWhiteSpace(firstNameText))
                {
                    errorList.Add("First Name");
                    isValid = false;
                }

                if (string.IsNullOrWhiteSpace(lastNameText))
                {
                    errorList.Add("Last Name");
                    isValid = false;
                }

                if (string.IsNullOrWhiteSpace(emailText))
                {
                    errorList.Add("Email");
                    isValid = false;
                }
                if (string.IsNullOrWhiteSpace(authLevelText))
                {
                    errorList.Add("Authorization Level");
                    isValid = false;
                }
                #endregion

                if (!isValid)
                {
                    ErrorMessagesAndValidation errMessAndVal = new ErrorMessagesAndValidation();
                    string errorMessage = errMessAndVal.ErrorList(errorList);
                    MessageUserControl.ShowInfoMessage(errorMessage);
                }
                else
                {
                    if (!emailText.Contains("@"))
                    {
                        MessageUserControl.ShowInfoMessage("Email must include an '@' symbol.");
                    }
                    else
                    {
                        if (System.Text.RegularExpressions.Regex.IsMatch(FirstNameTB.Text, @"^(?m)[A-Za-z][A-Za-z`. -]*$") && System.Text.RegularExpressions.Regex.IsMatch(LastNameTB.Text, @"^(?m)[A-Za-z][A-Za-z`. -]*$"))
                        {
                            if (int.Parse(CareSiteDDL.SelectedValue) == 0 && AuthorizationLevelRolesRadioList.SelectedValue == AuthorizationLevelRoles.User)
                            {
                                MessageUserControl.ShowInfoMessage("Authorization Level: User, must be associated with a care site");
                            }
                            else
                            {
                                try
                                {
                                    UserManager userManager  = new UserManager();
                                    var         selectedUser = userManager.FindByName(UsernameLabel.Text);
                                    var         userRoles    = userManager.GetRoles(selectedUser.Id);

                                    string userRole = string.Join("", userRoles.ToArray());

                                    string newUserName = userManager.ModifyAccount(UsernameLabel.Text, FirstNameTB.Text.Trim(), LastNameTB.Text.Trim(), EmailTB.Text.Trim(), int.Parse(CareSiteDDL.SelectedValue), userRole, AuthorizationLevelRolesRadioList.SelectedValue);
                                    if (newUserName != UsernameLabel.Text)
                                    {
                                        string resultMessage = string.Format("Update successful, new UserName is {0} ", newUserName);
                                        MessageUserControl.ShowSuccessMessage(resultMessage);
                                        UsernameLabel.Text = newUserName;
                                    }

                                    else
                                    {
                                        string resultMessage = string.Format("Update successful for user: {0}", UsernameLabel.Text);
                                        MessageUserControl.ShowSuccessMessage(resultMessage);
                                    }
                                }
                                catch (Exception ex)
                                {
                                    MessageUserControl.ShowErrorMessage("Update Failed. Please try again. If error persists, please contact your administrator. Error Message: " + ex.Message);
                                }
                            }
                        }
                        else
                        {
                            MessageUserControl.ShowInfoMessage("First Name and Last Name can only contain letters, dashes, apostrophes, grave accents, spaces and periods.");
                        }
                    }
                }
            }
        }
    }
        protected override void Seed(ApplicationDbContext context)
        {
            //Initialize Iendity(context);
            if (!context.Users.Any())
            {
                var roleStore   = new RoleStore <IdentityRole>(context);
                var roleManager = new RoleManager <IdentityRole>(new RoleStore <IdentityRole>(context));
                var userManager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(context));
                var userStore   = new UserStore <ApplicationUser>(context);
                //_________________________________________________________________________
                //populating the role table with the data in side of RoleName class using RoleManager.
                //Role Name class does not need to be created if simplly add "Administrator", "Dog_Owner", "Dog_Walker" string
                if (!roleManager.RoleExists(RoleName.ROLE_ADMINSTRATOR))
                {
                    var roleresult = roleManager.Create(new IdentityRole(RoleName.ROLE_ADMINSTRATOR));
                }
                if (!roleManager.RoleExists(RoleName.ROLE_USER))
                {
                    var roleresult = roleManager.Create(new IdentityRole(RoleName.ROLE_USER));
                }
                if (!roleManager.RoleExists(RoleName.ROLE_STAFF))
                {
                    var roleresult = roleManager.Create(new IdentityRole(RoleName.ROLE_STAFF));
                }

                //pupulating category table
                List <Category> categories = new List <Category>();

                categories.Add(new Category {
                    CategoryName = "Tax"
                });
                categories.Add(new Category {
                    CategoryName = "Audit"
                });
                categories.Add(new Category {
                    CategoryName = "General"
                });
                foreach (Category ctgy in categories)
                {
                    context.Categories.Add(ctgy);
                }
                context.SaveChanges();

                string userName1 = "*****@*****.**"; /*admin @admin2.com*/
                string password1 = "Password#2";
                // var passworddHash = new PasswordHasher(); if migration enable methods this code needs used
                //password = passwordHash.HashPassword(password);
                // Create Admin user and role

                var user = userManager.FindByName(userName1);
                if (user == null)
                {
                    var newUser = new ApplicationUser()
                    {
                        Companyname = "Alfa Accounting", Forename = "Administrator", Surname = "Admin", Street = "190 Catheral Street", Town = "Glasgow", Postcode = "2G1 3DF", PhoneNumber = "0141  43455", UserName = userName1, Email = userName1, EmailConfirmed = true, BacsApproved = false
                    };
                    userManager.Create(newUser, password1);
                    userManager.AddToRole(newUser.Id, RoleName.ROLE_ADMINSTRATOR);

                    var objBlog1 = new Blog()
                    {
                        BlogDate    = Convert.ToDateTime("27/10/2016"), BlogApproved = true, CategoryId = 1, Id = newUser.Id, BlogTitle = "Trump tax reforms - what they mean for the UK",
                        BlogContent = "It's no surprise Donald Trump's tax plans are generating international interest. The focal point is the cut in the rate of tax on business' profits from 35% to 15%. The repercussions will undoubtedly be felt in the UK. Tax changes by a leading economy often have a ripple effect.We have seen successive UK governments steadily cut the rate of corporation tax,which will fall to 17 % by 2020 exactly because a competitive tax rate helps signal an economy that is 'Open for Business'.But what happens when every country wants to be open for business? There are concerns about a 'race to the bottom' and particularly the impact this could have on developing countries who rely on profit tax receipts.According to the Oxford University Centre for Business Taxation, since the nineties, the average corporate statutory tax rate in the G20 has declined by 14.35 percentage points, from 41.48 % to 27.08 %.That said, whilst we have seen the UK rate come down we have also seen in a succession of Budgets introduce measures to widen the base upon which the tax is calculated.This results in a more complex tax regime.It's not just the tax rate that matters it's also how easy it is to meet the compliance burden that can make a big difference.Further, corporation tax, paid on the profits of a business. is just one type of tax that businesses bear.While profit taxes have been coming down, other taxes on business have been going up.PwC and WorldBank analysis of tax systems in 190 economies shows more countries are increasing the Total Tax Rate for business than cutting it.Likewise profit taxes and labour related taxes are increasing globally.Whether this trend continues remains to be seen.The UK currently has the lowest profit tax rate in the G20, but that won't be the case if the US rate comes down to 15%.In the meantime, the US has sent a signal worldwide that it will be more tax competitive than it has in the past.This could mark a change in the cost to businesses based or operating there - depending on how the rest of Trump's tax reforms play out. Will this trigger further cuts by the UK Government post Brexit, or indeed other countries world wide? Only time will tell."
                    };


                    var objCommnet1 = new Comment()
                    {
                        CommentedDate = Convert.ToDateTime("15/01/2017"), CommentTitle = "so be it", CommentBody = "Thanks to Mr Trump!!!!!", BlogId = 1, Id = newUser.Id
                    };
                    context.Blogs.Add(objBlog1);
                    context.Comments.Add(objCommnet1);
                    //userManager.Create(newUser, password);
                    //userManager.AddToRole(newUser,Role);

                    //userManager.SetLockourtEnabled(newUser.Id,false)

                    var newUser2 = new ApplicationUser()
                    {
                        Companyname = "Alfa Accounting", Forename = "Mie", Surname = "Tanaka", Street = "1 Glasgow Street", Town = "Glasgow", Postcode = "G1 5AA", PhoneNumber = "014112345", UserName = "******", Email = "*****@*****.**", EmailConfirmed = true, BacsApproved = false
                    };
                    userManager.Create(newUser2, "Password#2");
                    userManager.AddToRole(newUser2.Id, RoleName.ROLE_STAFF);

                    var objBlog2 = new Blog()
                    {
                        BlogDate    = Convert.ToDateTime("20/11/2016"), BlogApproved = true, CategoryId = 3, Id = newUser2.Id, BlogTitle = "The acceleration of the Finance Bill - more uncertainty for Business, not less",
                        BlogContent = "The Finance Bill often passes with relatively little fanfare.  It's when new tax measures often announced in a Budget become law.  The legislation has usually been in draft form for a good few months, and niggles hopefully ironed out.But while the Bill is typically passed in July, the Government has accelerated things - as is usually the case before a General Election.  The Bill will receive Royal Assent on Thursday.So as not to rush legislation through without due care and scrutiny, many measures have been left out. This is good news and bad news. On the plus side, there's more time to ensure the legislation is effective.  On the downside, people and businesses won't be sure if the measures left out will ever come into force.Take the Substantial Shareholding Exemption rules. These exempt the disposal of certain shares in subsidiaries from corporation tax on any capital gain. The rules theoretically came into effect on 1 April, so a business making a relevant disposal after that date would have thought they'd benefit from the exemption.  Now they can no longer be sure. While the key driver of the uncertainty is the impending Election, even if the same Government remains in power, there's more likelihood that the rules will evolve given the time lag. It will be important the Government post 8th June sets out its stall quickly on the measures held in limbo - both in terms of scope and timing. Businesses loathe uncertainty (especially in already uncertain times) but it would definitely be worse if poor legislation was rushed through.  Taxpayers could end up able to apply the rules or could even find themselves the wrong side of the law.UK tax code needs a good spring clean - less is definitely more at present.Let's use the time wisely to get rules that work and not create a period of wasted hiatus."
                    };
                    context.Blogs.Add(objBlog2);

                    var objBlog3 = new Blog()
                    {
                        BlogDate     = Convert.ToDateTime("20/02/2017"), BlogTitle = "Spring Budget 2017 – Is the Chancellor building for the future?",
                        BlogApproved = false, CategoryId = 3, Id = newUser2.Id,
                        BlogContent  = "The forthcoming Budget should give more flavour of the Government’s vision for post Brexit Britain. The recent industrial strategy paper, emphasised a broad approach - creating conditions for businesses of all sizes and across all sectors to thrive. But the language gave clues as to priorities - with an emphasis on industries and services of the future. Whilst the Chancellor has indicated a fairly quiet Budget is on the cards we will at least get more indication of the role tax policy will play in our future.There was almost no mention of tax in the Industrial Strategy paper but tax policy will be crucial in helping achieve the stated objectives,such as helping businesses to scale up.So, in this the first of two Budgets this year we can expect to hear more on the public spending and the tax measures to underpin his plan...and indeed we will see what kind of Chancellor Mr Hammond wants to be."
                    };
                    context.Blogs.Add(objBlog3);

                    var objComment2 = new Comment()
                    {
                        CommentedDate = Convert.ToDateTime("26/01/2017"), CommentTitle = "tough", CommentBody = " Thanks to brexit!!!", BlogId = 3, Id = newUser2.Id
                    };
                    context.Comments.Add(objComment2);

                    var objComment3 = new Comment()
                    {
                        CommentedDate = Convert.ToDateTime("27/01/2017"), CommentTitle = "ok", CommentBody = " lets see what happens", BlogId = 2, Id = newUser2.Id
                    };
                    context.Comments.Add(objComment2);

                    //populating Unit Price table
                    //List<UnitPrice> UnitPrices = new List<UnitPrice>();
                    UnitPrice objUnitPrice1 = new UnitPrice()
                    {
                        UnitPriceId = 1, UnitPriceValue = 100, UnitPriceDescription = "Standard"
                    };
                    context.UnitPrices.Add(objUnitPrice1);
                    UnitPrice objUnitPrice2 = new UnitPrice()
                    {
                        UnitPriceId = 2, UnitPriceValue = 90, UnitPriceDescription = "Discount90"
                    };
                    context.UnitPrices.Add(objUnitPrice2);
                    UnitPrice objUnitPrice3 = new UnitPrice()
                    {
                        UnitPriceId = 3, UnitPriceValue = 80, UnitPriceDescription = "Discount80"
                    };
                    context.UnitPrices.Add(objUnitPrice3);
                    UnitPrice objUnitPrice4 = new UnitPrice()
                    {
                        UnitPriceId = 4, UnitPriceValue = 70, UnitPriceDescription = "Discount70"
                    };
                    context.UnitPrices.Add(objUnitPrice4);
                    //UnitPrices.Add(objUnitPrice4);
                    context.SaveChanges();

                    DepositRate objDepositRate = new DepositRate()
                    {
                        DepositRateValue = 0.10f
                    };
                    context.DepositRates.Add(objDepositRate);
                    context.SaveChanges();

                    InvoiceToBeSentDate objIInvoiceToBeSentDate = new InvoiceToBeSentDate()
                    {
                        DateInvoiceToBeSentId = 1, DateOftheMonth = new DateTime(2017, 01, 28)
                    };
                    context.InvoiceToBeSentDates.Add(objIInvoiceToBeSentDate);
                    context.SaveChanges();

                    var newUser3 = new ApplicationUser()/*[email protected]*/
                    {
                        Companyname = "Pizza Italia", Forename = "Jovanni", Surname = "Bianchi", Street = "1 St Georges Street", Town = "Glasgow", Postcode = "G1 5AB", PhoneNumber = "07810197579", UserName = "******", Email = "*****@*****.**", EmailConfirmed = true, BacsApproved = true
                    };
                    userManager.Create(newUser3, "Password#2");
                    userManager.AddToRole(newUser3.Id, RoleName.ROLE_USER);
                    userManager.SetLockoutEnabled(newUser3.Id, true);

                    ///1 booking with 1 invoice already both deposit and remaininging paid data set
                    var objBooking1 = new Booking()
                    {
                        BookedDate = new DateTime(2017, 04, 30, 9, 30, 0), BookingStartDateTime = new DateTime(2017, 05, 5, 9, 30, 0), BookingEndDateTime = new DateTime(2017, 05, 5, 12, 30, 0), BookingStatus = BookingStatus.Visited, BookingAdjustmentHrs = 0f, Id = newUser3.Id, UnitPriceId = objUnitPrice1.UnitPriceId,
                    };
                    objBooking1.Subtotal              = objUnitPrice1.UnitPriceValue * (float)(objBooking1.BookingEndDateTime - objBooking1.BookingStartDateTime).TotalMinutes / 60;
                    objBooking1.BookingDeposit        = objBooking1.Subtotal * objDepositRate.DepositRateValue;
                    objBooking1.ItemDescription       = objBooking1.BookingStartDateTime.Date.ToString("d") + " From " + objBooking1.BookingStartDateTime.Hour + ":" + objBooking1.BookingStartDateTime.Minute + " to " + objBooking1.BookingEndDateTime.Hour + ":" + objBooking1.BookingEndDateTime.Minute + " " + (objBooking1.BookingEndDateTime - objBooking1.BookingStartDateTime).Hours + "hr" + (objBooking1.BookingEndDateTime - objBooking1.BookingStartDateTime).Minutes + "min";
                    objBooking1.VisitConfirmationSent = true;
                    context.Bookings.Add(objBooking1);

                    var objInvoice1 = new Invoice()
                    {
                        InvoiceIssueDate = objBooking1.BookedDate, ReceivableRemainingAmount = 0f, ReceivableDepositAmount = objBooking1.Subtotal * objDepositRate.DepositRateValue, PayableAmount = 0f, PayableDepositAmount = 0f, Id = newUser3.Id
                    };
                    objInvoice1.Bookings.Add(objBooking1);
                    objBooking1.InvoiceId = objInvoice1.InvoiceId;
                    context.Invoices.Add(objInvoice1);

                    objInvoice1.ReceivableRemainingAmount = objBooking1.Subtotal - objInvoice1.ReceivableDepositAmount;

                    var objPayment1 = new Payment()
                    {
                        PaymentDateTime = objBooking1.BookedDate, CreditDepositAmount = objInvoice1.ReceivableDepositAmount, DebitDepositAmount = objInvoice1.PayableDepositAmount, InvoiceId = objInvoice1.InvoiceId, Id = newUser3.Id, PaymentType = "Deposit", TransactionId = "byfzff5m"
                    };
                    context.Payments.Add(objPayment1);
                    context.SaveChanges();

                    var objPaymentHistory1 = new PaymentHistory()
                    {
                        PaymentDateTime = objBooking1.BookingStartDateTime, CreditAmount = objPayment1.CreditDepositAmount, DebitAmount = objPayment1.DebitDepositAmount, PaymentId = objPayment1.PaymentId, InvoiceId = objInvoice1.InvoiceId, Id = newUser3.Id, PaymentType = PaymentType.Deposit, TransactionId = "byfzff5m"
                    };
                    context.PaymentHistories.Add(objPaymentHistory1);
                    objPayment1.PaymentHistories.Add(objPaymentHistory1);
                    context.SaveChanges();

                    objPayment1.CreditRemainingAmount = objInvoice1.ReceivableRemainingAmount;
                    objPayment1.PaymentType           = "Remaining";
                    context.SaveChanges();

                    var objPaymentHistory2 = new PaymentHistory()
                    {
                        PaymentDateTime = objBooking1.BookingStartDateTime, CreditAmount = objPayment1.CreditRemainingAmount, DebitAmount = objPayment1.DebitRemainingAmount, PaymentId = objPayment1.PaymentId, InvoiceId = objInvoice1.InvoiceId, Id = newUser3.Id, PaymentType = PaymentType.Remaining, TransactionId = "byfzff5m"
                    };
                    context.PaymentHistories.Add(objPaymentHistory2);
                    objPayment1.PaymentHistories.Add(objPaymentHistory2);
                    context.SaveChanges();

                    ///another set of 3bookings only deposit paid data set one of the day is in the past and visit status needs updated
                    var objBookingJB2 = new Booking()
                    {
                        BookedDate = new DateTime(2017, 05, 14, 9, 30, 0), BookingStartDateTime = new DateTime(2017, 05, 15, 15, 0, 0), BookingEndDateTime = new DateTime(2017, 05, 15, 16, 30, 0), BookingStatus = BookingStatus.Booked, BookingAdjustmentHrs = 0f, Id = newUser3.Id, UnitPriceId = objUnitPrice1.UnitPriceId,
                    };
                    objBookingJB2.Subtotal        = objUnitPrice1.UnitPriceValue * (float)(objBookingJB2.BookingEndDateTime - objBookingJB2.BookingStartDateTime).TotalMinutes / 60;
                    objBookingJB2.BookingDeposit  = objBookingJB2.Subtotal * objDepositRate.DepositRateValue;
                    objBookingJB2.ItemDescription = objBookingJB2.BookingStartDateTime.Date.ToString("d") + " From " + objBookingJB2.BookingStartDateTime.Hour + ":" + objBookingJB2.BookingStartDateTime.Minute + " to " + objBookingJB2.BookingEndDateTime.Hour + ":" + objBookingJB2.BookingEndDateTime.Minute + " " + (objBookingJB2.BookingEndDateTime - objBookingJB2.BookingStartDateTime).Hours + "hr" + (objBookingJB2.BookingEndDateTime - objBookingJB2.BookingStartDateTime).Minutes + "min";
                    context.Bookings.Add(objBookingJB2);

                    var objBookingJB3 = new Booking()
                    {
                        BookedDate = new DateTime(2017, 05, 14, 9, 30, 0), BookingStartDateTime = new DateTime(2017, 05, 26, 15, 0, 0), BookingEndDateTime = new DateTime(2017, 05, 26, 16, 30, 0), BookingStatus = BookingStatus.Booked, BookingAdjustmentHrs = 0f, Id = newUser3.Id, UnitPriceId = objUnitPrice1.UnitPriceId,
                    };
                    objBookingJB3.Subtotal        = objUnitPrice1.UnitPriceValue * (float)(objBookingJB3.BookingEndDateTime - objBookingJB3.BookingStartDateTime).TotalMinutes / 60;
                    objBookingJB3.BookingDeposit  = objBookingJB3.Subtotal * objDepositRate.DepositRateValue;
                    objBookingJB3.ItemDescription = objBookingJB3.BookingStartDateTime.Date.ToString("d") + " From " + objBookingJB3.BookingStartDateTime.Hour + ":" + objBookingJB3.BookingStartDateTime.Minute + " to " + objBookingJB3.BookingEndDateTime.Hour + ":" + objBookingJB3.BookingEndDateTime.Minute + " " + (objBookingJB3.BookingEndDateTime - objBookingJB3.BookingStartDateTime).Hours + "hr" + (objBookingJB3.BookingEndDateTime - objBookingJB3.BookingStartDateTime).Minutes + "min";
                    context.Bookings.Add(objBookingJB3);

                    var objBookingJB4 = new Booking()
                    {
                        BookedDate = new DateTime(2017, 05, 14, 9, 30, 0), BookingStartDateTime = new DateTime(2017, 06, 02, 15, 0, 0), BookingEndDateTime = new DateTime(2017, 06, 02, 16, 30, 0), BookingStatus = BookingStatus.Booked, BookingAdjustmentHrs = 0f, Id = newUser3.Id, UnitPriceId = objUnitPrice1.UnitPriceId,
                    };
                    objBookingJB4.Subtotal        = objUnitPrice1.UnitPriceValue * (float)(objBookingJB4.BookingEndDateTime - objBookingJB4.BookingStartDateTime).TotalMinutes / 60;
                    objBookingJB4.BookingDeposit  = objBookingJB4.Subtotal * objDepositRate.DepositRateValue;
                    objBookingJB4.ItemDescription = objBookingJB4.BookingStartDateTime.Date.ToString("d") + " From " + objBookingJB4.BookingStartDateTime.Hour + ":" + objBookingJB4.BookingStartDateTime.Minute + " to " + objBookingJB4.BookingEndDateTime.Hour + ":" + objBookingJB4.BookingEndDateTime.Minute + " " + (objBookingJB4.BookingEndDateTime - objBookingJB4.BookingStartDateTime).Hours + "hr" + (objBookingJB4.BookingEndDateTime - objBookingJB4.BookingStartDateTime).Minutes + "min";
                    context.Bookings.Add(objBookingJB4);

                    var objInvoiceJB2 = new Invoice()
                    {
                        InvoiceIssueDate = objBookingJB2.BookedDate, ReceivableRemainingAmount = 0f, ReceivableDepositAmount = (objBookingJB2.Subtotal + objBookingJB3.Subtotal + objBookingJB4.Subtotal) * objDepositRate.DepositRateValue, PayableAmount = 0f, PayableDepositAmount = 0f, Id = newUser3.Id
                    };
                    objInvoiceJB2.Bookings.Add(objBookingJB2);
                    objInvoiceJB2.Bookings.Add(objBookingJB3);
                    objInvoiceJB2.Bookings.Add(objBookingJB4);
                    objBookingJB2.InvoiceId = objInvoiceJB2.InvoiceId;
                    objBookingJB3.InvoiceId = objInvoiceJB2.InvoiceId;
                    objBookingJB4.InvoiceId = objInvoiceJB2.InvoiceId;
                    context.Invoices.Add(objInvoiceJB2);

                    //remaining invoice not issued

                    var objPaymentJB2 = new Payment()
                    {
                        PaymentDateTime = objBookingJB2.BookedDate, CreditDepositAmount = objInvoiceJB2.ReceivableDepositAmount, DebitDepositAmount = objInvoiceJB2.PayableDepositAmount, InvoiceId = objInvoiceJB2.InvoiceId, Id = newUser3.Id, PaymentType = "Deposit", TransactionId = "byfzff5m"
                    };
                    context.Payments.Add(objPaymentJB2);
                    context.SaveChanges();
                    //remaining invoice payment not issued

                    var objPaymentHistoryJB2 = new PaymentHistory()
                    {
                        PaymentDateTime = objBookingJB2.BookingStartDateTime, CreditAmount = objPaymentJB2.CreditDepositAmount, DebitAmount = objPaymentJB2.DebitDepositAmount, PaymentId = objPaymentJB2.PaymentId, InvoiceId = objInvoiceJB2.InvoiceId, Id = newUser3.Id, PaymentType = PaymentType.Deposit, TransactionId = "byfzff5m"
                    };
                    context.PaymentHistories.Add(objPaymentHistoryJB2);
                    objPaymentJB2.PaymentHistories.Add(objPaymentHistoryJB2);
                    context.SaveChanges();

                    //Remaining Invoice's pay history not issued

                    ///another 1 booking with 1 invoice records only deposit paid it is past records visit status needs updated to issue invoice
                    var objBookingJB5 = new Booking()
                    {
                        BookedDate = new DateTime(2017, 05, 1, 15, 0, 0), BookingStartDateTime = new DateTime(2017, 05, 10, 13, 0, 0), BookingEndDateTime = new DateTime(2017, 05, 10, 17, 0, 0), BookingStatus = BookingStatus.Booked, BookingAdjustmentHrs = 0f, Id = newUser3.Id, UnitPriceId = objUnitPrice1.UnitPriceId,
                    };
                    objBookingJB5.Subtotal              = objUnitPrice1.UnitPriceValue * (float)(objBookingJB5.BookingEndDateTime - objBookingJB5.BookingStartDateTime).TotalMinutes / 60;
                    objBookingJB5.BookingDeposit        = objBookingJB5.Subtotal * objDepositRate.DepositRateValue;
                    objBookingJB5.ItemDescription       = objBookingJB5.BookingStartDateTime.Date.ToString("d") + " From " + objBookingJB5.BookingStartDateTime.Hour + ":" + objBookingJB5.BookingStartDateTime.Minute + " to " + objBookingJB5.BookingEndDateTime.Hour + ":" + objBookingJB5.BookingEndDateTime.Minute + " " + (objBookingJB5.BookingEndDateTime - objBookingJB5.BookingStartDateTime).Hours + "hr" + (objBookingJB5.BookingEndDateTime - objBookingJB5.BookingStartDateTime).Minutes + "min";
                    objBookingJB5.VisitConfirmationSent = true;
                    context.Bookings.Add(objBookingJB5);

                    var objBookingJB6 = new Booking()
                    {
                        BookedDate = new DateTime(2017, 05, 1, 10, 0, 0), BookingStartDateTime = new DateTime(2017, 05, 16, 13, 0, 0), BookingEndDateTime = new DateTime(2017, 05, 16, 17, 0, 0), BookingStatus = BookingStatus.Booked, BookingAdjustmentHrs = 0f, Id = newUser3.Id, UnitPriceId = objUnitPrice1.UnitPriceId,
                    };
                    objBookingJB6.Subtotal              = objUnitPrice1.UnitPriceValue * (float)(objBookingJB6.BookingEndDateTime - objBookingJB6.BookingStartDateTime).TotalMinutes / 60;
                    objBookingJB6.BookingDeposit        = objBookingJB6.Subtotal * objDepositRate.DepositRateValue;
                    objBookingJB6.ItemDescription       = objBookingJB6.BookingStartDateTime.Date.ToString("d") + " From " + objBookingJB6.BookingStartDateTime.Hour + ":" + objBookingJB6.BookingStartDateTime.Minute + " to " + objBookingJB6.BookingEndDateTime.Hour + ":" + objBookingJB6.BookingEndDateTime.Minute + " " + (objBookingJB6.BookingEndDateTime - objBookingJB6.BookingStartDateTime).Hours + "hr" + (objBookingJB6.BookingEndDateTime - objBookingJB6.BookingStartDateTime).Minutes + "min";
                    objBookingJB6.VisitConfirmationSent = true;
                    context.Bookings.Add(objBookingJB6);

                    var objInvoiceJB3 = new Invoice()
                    {
                        InvoiceIssueDate = objBookingJB5.BookedDate, ReceivableRemainingAmount = 0f, ReceivableDepositAmount = (objBookingJB5.Subtotal + objBookingJB6.Subtotal) * objDepositRate.DepositRateValue, PayableAmount = 0f, PayableDepositAmount = 0f, Id = newUser3.Id
                    };
                    objInvoiceJB3.Bookings.Add(objBookingJB5);
                    objInvoiceJB3.Bookings.Add(objBookingJB6);
                    objBookingJB5.InvoiceId = objInvoiceJB3.InvoiceId;
                    objBookingJB6.InvoiceId = objInvoiceJB3.InvoiceId;
                    context.Invoices.Add(objInvoiceJB3);


                    //remaining invoice not issued

                    var objPaymentJB3 = new Payment()
                    {
                        PaymentDateTime = objBookingJB5.BookedDate, CreditDepositAmount = objInvoiceJB3.ReceivableDepositAmount, DebitDepositAmount = objInvoiceJB3.PayableDepositAmount, InvoiceId = objInvoiceJB3.InvoiceId, Id = newUser3.Id, PaymentType = "Deposit", TransactionId = "byfzff5m"
                    };
                    context.Payments.Add(objPaymentJB3);
                    context.SaveChanges();

                    //remaining invoice payment not issued

                    var objPaymentHistoryJB3 = new PaymentHistory()
                    {
                        PaymentDateTime = objBookingJB5.BookingStartDateTime, CreditAmount = objPaymentJB3.CreditDepositAmount, DebitAmount = objPaymentJB3.DebitDepositAmount, PaymentId = objPaymentJB3.PaymentId, InvoiceId = objInvoiceJB3.InvoiceId, Id = newUser3.Id, PaymentType = PaymentType.Deposit, TransactionId = "byfzff5m"
                    };
                    context.PaymentHistories.Add(objPaymentHistoryJB3);
                    objPaymentJB3.PaymentHistories.Add(objPaymentHistoryJB3);
                    context.SaveChanges();

                    //Remaining Invoice's payment history notissued
                    var newUser4 = new ApplicationUser() /*JoannaGoodie @AppleCafe.com*/
                    {
                        Companyname = "Apple Cafe", Forename = "Joanna", Surname = "Goodie", Street = "32 Angus Road", Town = "Glasgow", Postcode = "G2 5CC", PhoneNumber = "07810197579", UserName = "******", Email = "*****@*****.**", EmailConfirmed = true, BacsApproved = true
                    };
                    userManager.Create(newUser4, "Password#2");
                    userManager.AddToRole(newUser4.Id, RoleName.ROLE_USER);
                    userManager.SetLockoutEnabled(newUser4.Id, true);
                    context.SaveChanges();

                    var objBooking2 = new Booking()
                    {
                        BookedDate = new DateTime(2017, 05, 10, 9, 30, 0), BookingStartDateTime = new DateTime(2017, 05, 11, 9, 30, 0), BookingEndDateTime = new DateTime(2017, 05, 11, 12, 30, 0), BookingStatus = BookingStatus.Booked, BookingAdjustmentHrs = 0f, Id = newUser4.Id, UnitPriceId = 1,
                    };
                    //objBooking2.BookingDuration = objBooking2.BookingEndDateTime - objBooking2.BookingStartDateTime;
                    objBooking2.Subtotal              = objUnitPrice1.UnitPriceValue * (float)(objBooking2.BookingEndDateTime - objBooking2.BookingStartDateTime).TotalMinutes / 60;
                    objBooking2.BookingDeposit        = objBooking2.Subtotal * objDepositRate.DepositRateValue;
                    objBooking2.ItemDescription       = objBooking2.BookingStartDateTime.Date.ToString("d") + " From " + objBooking2.BookingStartDateTime.Hour + ":" + objBooking2.BookingStartDateTime.Minute + " to " + objBooking2.BookingEndDateTime.Hour + ":" + objBooking2.BookingEndDateTime.Minute + " " + (objBooking2.BookingEndDateTime - objBooking2.BookingStartDateTime).Hours + "hr" + (objBooking2.BookingEndDateTime - objBooking2.BookingStartDateTime).Minutes + "min";
                    objBooking2.VisitConfirmationSent = true;
                    context.Bookings.Add(objBooking2);
                    //mark as visited
                    objBooking2.BookingStatus = BookingStatus.Visited;
                    context.SaveChanges();

                    var objInvoice3 = new Invoice()
                    {
                        InvoiceIssueDate = objBooking2.BookedDate, ReceivableRemainingAmount = 0f, ReceivableDepositAmount = objBooking2.Subtotal * objDepositRate.DepositRateValue, PayableAmount = 0f, PayableDepositAmount = 0f, Id = newUser4.Id/*,.ReceivableDepositAmount = objBookingInvoiceLine1.Subtotal * objDepositRate.DepositRateValue,*/
                    };
                    objInvoice3.Bookings.Add(objBooking2);
                    objBooking2.InvoiceId = objInvoice3.InvoiceId;
                    context.Invoices.Add(objInvoice3);
                    //issue remaining invoice
                    objInvoice3.ReceivableRemainingAmount = objBooking2.Subtotal - objInvoice3.ReceivableDepositAmount;
                    context.SaveChanges();

                    //Remaining not paid
                    //objInvoice3.ReceivableRemainingAmount = objBooking2.Subtotal - objInvoice3.ReceivableDepositAmount;
                    //objBooking2.BookingStatus = BookingStatus.Visited;
                    //context.SaveChanges();

                    var objPayment3 = new Payment()
                    {
                        PaymentDateTime = objBooking2.BookedDate, CreditDepositAmount = objInvoice3.ReceivableDepositAmount, DebitDepositAmount = 0f, InvoiceId = objInvoice3.InvoiceId, Id = newUser4.Id, PaymentType = "Deposit", TransactionId = "8mh62qqc"
                    };
                    context.Payments.Add(objPayment3);
                    context.SaveChanges();

                    var objPaymentHistory3 = new PaymentHistory()
                    {
                        PaymentDateTime = objBooking2.BookingStartDateTime, CreditAmount = objPayment3.CreditDepositAmount, DebitAmount = objPayment3.DebitDepositAmount, PaymentId = objPayment3.PaymentId, InvoiceId = objInvoice3.InvoiceId, Id = newUser2.Id, PaymentType = PaymentType.Deposit, TransactionId = "byfzff5m"
                    };
                    context.PaymentHistories.Add(objPaymentHistory3);
                    context.SaveChanges();

                    //Remaining not paied
                    //objPayment3.CreditRemainingAmount = objInvoice3.ReceivableRemainingAmount;
                    //context.SaveChanges();

                    var objBooking3 = new Booking()
                    {
                        BookedDate = new DateTime(2017, 05, 1, 9, 30, 0), BookingStartDateTime = new DateTime(2017, 05, 27, 9, 30, 0), BookingEndDateTime = new DateTime(2017, 05, 27, 12, 30, 0), BookingStatus = BookingStatus.Booked, BookingAdjustmentHrs = 0f, Id = newUser4.Id, UnitPriceId = 1,
                    };
                    objBooking3.Subtotal        = objUnitPrice1.UnitPriceValue * (float)(objBooking3.BookingEndDateTime - objBooking3.BookingStartDateTime).TotalMinutes / 60;
                    objBooking3.BookingDeposit  = objBooking3.Subtotal * objDepositRate.DepositRateValue;
                    objBooking3.ItemDescription = objBooking3.BookingStartDateTime.Date.ToString("d") + " From " + objBooking3.BookingStartDateTime.Hour + ":" + objBooking3.BookingStartDateTime.Minute + " to " + objBooking3.BookingEndDateTime.Hour + ":" + objBooking3.BookingEndDateTime.Minute + " " + (objBooking3.BookingEndDateTime - objBooking3.BookingStartDateTime).Hours + "hr" + (objBooking3.BookingEndDateTime - objBooking3.BookingStartDateTime).Minutes + "min";
                    context.Bookings.Add(objBooking3);

                    var objBooking4 = new Booking()
                    {
                        BookedDate = new DateTime(2017, 05, 1, 9, 30, 0), BookingStartDateTime = new DateTime(2017, 05, 26, 9, 30, 0), BookingEndDateTime = new DateTime(2017, 05, 26, 10, 30, 0), BookingStatus = BookingStatus.Booked, BookingAdjustmentHrs = 0f, Id = newUser4.Id, UnitPriceId = 1,
                    };
                    objBooking4.Subtotal        = objUnitPrice1.UnitPriceValue * (float)(objBooking4.BookingEndDateTime - objBooking4.BookingStartDateTime).TotalMinutes / 60;
                    objBooking4.BookingDeposit  = objBooking4.Subtotal * objDepositRate.DepositRateValue;
                    objBooking4.ItemDescription = objBooking4.BookingStartDateTime.Date.ToString("d") + " From " + objBooking4.BookingStartDateTime.Hour + ":" + objBooking4.BookingStartDateTime.Minute + " to " + objBooking4.BookingEndDateTime.Hour + ":" + objBooking4.BookingEndDateTime.Minute + " " + (objBooking4.BookingEndDateTime - objBooking4.BookingStartDateTime).Hours + "hr" + (objBooking4.BookingEndDateTime - objBooking4.BookingStartDateTime).Minutes + "min";
                    context.Bookings.Add(objBooking4);

                    var objInvoice5 = new Invoice()
                    {
                        InvoiceIssueDate = objBooking3.BookedDate, ReceivableRemainingAmount = 0f, ReceivableDepositAmount = objBooking3.Subtotal * objDepositRate.DepositRateValue + objBooking4.Subtotal * objDepositRate.DepositRateValue, PayableAmount = 0f, PayableDepositAmount = 0f, Id = newUser4.Id/*,ReceivableDepositAmount = objBookingInvoiceLine1.Subtotal * objDepositRate.DepositRateValue,*/
                    };
                    objInvoice5.Bookings.Add(objBooking3);
                    objInvoice5.Bookings.Add(objBooking4);
                    objBooking3.InvoiceId = objInvoice5.InvoiceId;
                    objBooking4.InvoiceId = objInvoice5.InvoiceId;
                    context.Invoices.Add(objInvoice5);

                    var objPayment5 = new Payment()
                    {
                        PaymentDateTime = objBooking3.BookedDate, CreditDepositAmount = objInvoice5.ReceivableRemainingAmount + objInvoice5.ReceivableDepositAmount, DebitDepositAmount = objInvoice5.PayableAmount + objInvoice5.PayableDepositAmount, InvoiceId = objInvoice5.InvoiceId, Id = newUser4.Id, PaymentType = "Deposit", TransactionId = "byfzff5m"
                    };
                    context.Payments.Add(objPayment5);

                    var objPaymentHistory5 = new PaymentHistory()
                    {
                        PaymentDateTime = objBooking1.BookingStartDateTime, CreditAmount = objPayment5.CreditDepositAmount, DebitAmount = objPayment5.DebitDepositAmount, PaymentId = objPayment5.PaymentId, InvoiceId = objInvoice5.InvoiceId, Id = newUser4.Id, PaymentType = PaymentType.Deposit, TransactionId = "byfzff5m"
                    };
                    context.PaymentHistories.Add(objPaymentHistory5);
                    context.SaveChanges();
                }
            }
            base.Seed(context);
            context.SaveChanges();
        }
        public ApplicationUser GetUserByUserName(string userName)
        {
            ApplicationUser user = _userManager.FindByName(userName);

            return(user);
        }
        private async Task BuildForInternalAsync(Tenant tenant)
        {
            //Create Organization Units

            var organizationUnits = new List <OrganizationUnit>();

            var producing = await CreateAndSaveOrganizationUnit(organizationUnits, tenant, "Producing");

            var researchAndDevelopment = await CreateAndSaveOrganizationUnit(organizationUnits, tenant, "Research & Development", producing);

            var ivrProducts = await CreateAndSaveOrganizationUnit(organizationUnits, tenant, "IVR Related Products", researchAndDevelopment);

            var voiceTech = await CreateAndSaveOrganizationUnit(organizationUnits, tenant, "Voice Technologies", researchAndDevelopment);

            var inhouseProjects = await CreateAndSaveOrganizationUnit(organizationUnits, tenant, "Inhouse Projects", researchAndDevelopment);

            var qualityManagement = await CreateAndSaveOrganizationUnit(organizationUnits, tenant, "Quality Management", producing);

            var testing = await CreateAndSaveOrganizationUnit(organizationUnits, tenant, "Testing", producing);

            var selling = await CreateAndSaveOrganizationUnit(organizationUnits, tenant, "Selling");

            var marketing = await CreateAndSaveOrganizationUnit(organizationUnits, tenant, "Marketing", selling);

            var sales = await CreateAndSaveOrganizationUnit(organizationUnits, tenant, "Sales", selling);

            var custRelations = await CreateAndSaveOrganizationUnit(organizationUnits, tenant, "Customer Relations", selling);

            var supporting = await CreateAndSaveOrganizationUnit(organizationUnits, tenant, "Supporting");

            var buying = await CreateAndSaveOrganizationUnit(organizationUnits, tenant, "Buying", supporting);

            var humanResources = await CreateAndSaveOrganizationUnit(organizationUnits, tenant, "Human Resources", supporting);

            //Create users

            var users = _randomUserGenerator.GetRandomUsers(RandomHelper.GetRandom(12, 26), tenant.Id);

            foreach (var user in users)
            {
                //Create the user
                await _userManager.CreateAsync(user);

                await CurrentUnitOfWork.SaveChangesAsync();

                //Add to roles
                _userManager.AddToRole(user.Id, StaticRoleNames.Tenants.User);

                //Add to OUs
                var randomOus = MyRandomHelper.GenerateRandomizedList(organizationUnits).Take(RandomHelper.GetRandom(0, 3));
                foreach (var ou in randomOus)
                {
                    await _userManager.AddToOrganizationUnitAsync(user, ou);
                }

                //Set profile picture
                if (RandomHelper.GetRandom(100) < 70) //A user will have a profile picture in 70% probability.
                {
                    await SetRandomProfilePictureAsync(user);
                }
            }

            //Set a picture to admin!
            var admin = _userManager.FindByName(User.AdminUserName);

            await SetRandomProfilePictureAsync(admin);
        }
        //Create [email protected] with password=Admin@123456 in the Admin role
        public static void InitializeIdentity(ClaimRequestDbContext db)
        {
            var userManager = new UserManager <Staff>(new UserStore <Staff>(db));
            var roleManager = new RoleManager <IdentityRole>(new RoleStore <IdentityRole>(db));
            //const string name = "*****@*****.**";
            //const string roleName = "Admin";

            const string password       = "******";
            var          departmentDemo = db.Departments.FirstOrDefault();

            string[] roles = new string[] { "Administrator", "Finance", "Approver", "Claimer" };

            //Create Role Admin if it does not exist
            foreach (var item in roles)
            {
                var role = roleManager.FindByName(item);
                if (role == null)
                {
                    role = new IdentityRole(item);
                    var roleResult = roleManager.Create(role);
                }
            }

            var admins = new[]
            {
                new { name = "vutv1_admin", email = "*****@*****.**" },
                new { name = "vutv2_admin", email = "*****@*****.**" },
                new { name = "vutv3_admin", email = "*****@*****.**" }
            };
            var finances = new[]
            {
                new { name = "vutv1_finance", email = "*****@*****.**" },
                new { name = "vutv2_finance", email = "*****@*****.**" },
                new { name = "vutv3_finance", email = "*****@*****.**" }
            };
            var appovers = new[]
            {
                new { name = "vutv1_appover", email = "*****@*****.**" },
                new { name = "vutv2_appover", email = "*****@*****.**" },
                new { name = "vutv3_appover", email = "*****@*****.**" }
            };
            var claimer = new[]
            {
                new { name = "vutv1_BA", email = "*****@*****.**", jobRank = (int)JobRank.BA },
                new { name = "vutv2_BA", email = "*****@*****.**", jobRank = (int)JobRank.BA },

                new { name = "vutv1_QA", email = "*****@*****.**", jobRank = (int)JobRank.QA },
                new { name = "vutv2_QA", email = "*****@*****.**", jobRank = (int)JobRank.QA },

                new { name = "vutv1_Develope", email = "*****@*****.**", jobRank = (int)JobRank.Developers },
                new { name = "vutv2_Develope", email = "*****@*****.**", jobRank = (int)JobRank.Developers },

                new { name = "vutv1_Tester", email = "*****@*****.**", jobRank = (int)JobRank.Testers },
                new { name = "vutv2_Tester", email = "*****@*****.**", jobRank = (int)JobRank.Testers },

                new { name = "vutv1_TechnicalConsultancy", email = "*****@*****.**", jobRank = (int)JobRank.TechnicalConsultancy },
                new { name = "vutv2_TechnicalConsultancy", email = "*****@*****.**", jobRank = (int)JobRank.TechnicalConsultancy },

                new { name = "vutv1_TechnicalLead", email = "*****@*****.**", jobRank = (int)JobRank.TechnicalLead },
                new { name = "vutv2_TechnicalLead", email = "*****@*****.**", jobRank = (int)JobRank.TechnicalLead },
            };

            // add user with role admin
            foreach (var item in admins)
            {
                var user = userManager.FindByName(item.email);
                if (user == null)
                {
                    user = new Staff {
                        UserName = item.email, Email = item.email, StaffName = item.name, JobRank = (int)JobRank.None, Department = departmentDemo, Salary = 500000
                    };
                    var result = userManager.Create(user, password);
                    result = userManager.SetLockoutEnabled(user.Id, false);
                }
                // Add user admin to Role Admin if not already added
                var rolesForUser = userManager.GetRoles(user.Id);
                if (!rolesForUser.Contains("Administrator"))
                {
                    var result = userManager.AddToRole(user.Id, "Administrator");
                }
            }

            //add user with role finance
            foreach (var item in finances)
            {
                var user = userManager.FindByName(item.email);
                if (user == null)
                {
                    user = new Staff {
                        UserName = item.email, Email = item.email, StaffName = item.name, JobRank = (int)JobRank.None, Department = departmentDemo, Salary = 20000000
                    };
                    var result = userManager.Create(user, password);
                    result = userManager.SetLockoutEnabled(user.Id, false);
                }
                //add user finance to role finance if not added
                var rolesForUser = userManager.GetRoles(user.Id);
                if (!rolesForUser.Contains("Finance"))
                {
                    var result = userManager.AddToRole(user.Id, "Finance");
                }
            }
            //add user with role approver
            foreach (var item in appovers)
            {
                var user = userManager.FindByName(item.email);
                if (user == null)
                {
                    user = new Staff {
                        UserName = item.email, Email = item.email, StaffName = item.name, JobRank = (int)JobRank.PM, Department = departmentDemo, Salary = 20000000
                    };
                    var result = userManager.Create(user, password);
                    result = userManager.SetLockoutEnabled(user.Id, false);
                }
                //add user approver to role approver if not added
                var rolesForUser = userManager.GetRoles(user.Id);
                if (!rolesForUser.Contains("Approver"))
                {
                    var result = userManager.AddToRole(user.Id, "Approver");
                }
            }

            //add claimer with role claimer
            foreach (var item in claimer)
            {
                var user = userManager.FindByName(item.email);
                if (user == null)
                {
                    user = new Staff {
                        UserName = item.email, Email = item.email, StaffName = item.name, JobRank = item.jobRank, Department = departmentDemo, Salary = 20000000
                    };
                    var result = userManager.Create(user, password);
                    result = userManager.SetLockoutEnabled(user.Id, false);
                }
                //add user claimer to role claimer if not added
                var rolesForUser = userManager.GetRoles(user.Id);
                if (!rolesForUser.Contains("Claimer"))
                {
                    var result = userManager.AddToRole(user.Id, "Claimer");
                }
            }
        }
示例#46
0
        private bool HasPassword()
        {
            var user = UserManager.FindByName(User.Identity.GetUserName());

            return(user?.PasswordHash != null);
        }
示例#47
0
        public async Task <ActionResult> Register(RegisterViewModel model)
        {
            if (ModelState.IsValid)
            {
                var permissoes  = new Permissoes();
                var userManager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(db));
                var roleManager = new RoleManager <IdentityRole>(new RoleStore <IdentityRole>(db));



                var roleId = Request["RoleId"];
                if (string.IsNullOrEmpty(roleId))
                {
                    var list = roleManager.Roles.ToList();
                    list.Add(new IdentityRole {
                        Id = "", Name = "[Selecione uma Permissão!]"
                    });
                    list           = list.OrderBy(c => c.Name).ToList();
                    ViewBag.RoleId = new SelectList(list, "Id", "Name");

                    ViewBag.Error = "Você precisa selecionar uma permissão!!";
                    return(View("errouser"));
                }


                var usuario = userManager.FindByName(model.Nome);
                var user    = new ApplicationUser {
                    Nome = model.Nome, UserName = model.Email, Email = model.Email
                };
                var users = userManager.Users.ToList();

                var recebeuser = users.Find(u => u.Id == user.Id);
                var userView   = new Usuario
                {
                    Email = user.Email,
                    Nome  = user.UserName,

                    UserId = user.Id
                };
                var roles = roleManager.Roles.ToList();
                var role  = roles.Find(r => r.Id == roleId);

                var result = await UserManager.CreateAsync(user, model.Password);

                userManager.AddToRole(user.Id, role.Name);



                //    var result = await userManager.CreateAsync(user, model.Password);
                if (result.Succeeded)
                {
                    return(RedirectToAction("Index", "Home"));
                    // Para obter mais informações sobre como habilitar a confirmação da conta e redefinição de senha, visite https://go.microsoft.com/fwlink/?LinkID=320771
                    // Enviar um email com este 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, "Confirmar sua conta", "Confirme sua conta clicando <a href=\"" + callbackUrl + "\">aqui</a>");
                }
                AddErrors(result);
            }

            // Se chegamos até aqui e houver alguma falha, exiba novamente o formulário
            return(View(model));
        }
        public static void InitializeIdentityForEF()
        {
            ApplicationDbContext context = new ApplicationDbContext();

            var UserManager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(context));
            var RoleManager = new RoleManager <IdentityRole>(new RoleStore <IdentityRole>(context));

            string adminName = "*****@*****.**";

            //System's profiles
            var AdministradorSistema = "Administrador";
            var Contabilidad         = "Contabilidad";

            //Create Role Admin if it does not exist
            if (!RoleManager.RoleExists(AdministradorSistema))
            {
                var roleresult = RoleManager.Create(new IdentityRole(AdministradorSistema));
            }

            if (!RoleManager.RoleExists(Contabilidad))
            {
                var roleresult = RoleManager.Create(new IdentityRole(Contabilidad));
            }

            //Create User Admin
            if (UserManager.FindByName(adminName) == null)
            {
                var user = new ApplicationUser();
                user.UserName = adminName;
                user.Email    = "*****@*****.**";
                var adminresult = UserManager.Create(user, "Corepro1");

                using (ExampleSecurityEntities db = new ExampleSecurityEntities())
                {
                    db.Database.ExecuteSqlCommand("INSERT INTO [CAT_USUARIOS] ([NOMBRE], [APPELIDO_PATERNO], [APELLIDO_MATERNO], [USUARIO], [ROL], [CORREO]) VALUES('Admin', 'Admin', 'Admin', 'admin', 'Administrador', '*****@*****.**')");
                }

                //Add User Admin to Role Admin
                if (adminresult.Succeeded)
                {
                    var result = UserManager.AddToRole(user.Id, AdministradorSistema);
                }
            }

            //Create Another user
            if (UserManager.FindByName("lmartinez") == null)
            {
                var user = new ApplicationUser();
                user.UserName = "******";
                user.Email    = "*****@*****.**";
                var adminresult = UserManager.Create(user, "Corepro1");

                using (ExampleSecurityEntities db = new ExampleSecurityEntities())
                {
                    db.Database.ExecuteSqlCommand("INSERT INTO [CAT_USUARIOS] ([NOMBRE], [APPELIDO_PATERNO], [APELLIDO_MATERNO], [USUARIO], [ROL], [CORREO]) VALUES('Luis', 'Martinez', 'Candelero', 'lmartinez', 'Contabilidad', '*****@*****.**')");
                }

                //Add User Admin to Role Admin
                if (adminresult.Succeeded)
                {
                    var result = UserManager.AddToRole(user.Id, Contabilidad);
                }
            }
        }
示例#49
0
        public ApplicationUser FindUser(string userName)
        {
            var user = _userManager.FindByName(userName);

            return(user);
        }
示例#50
0
        internal static void PopulateDatabase(DatabaseContext context)
        {
            var applicationUserManager = new UserManager <ApplicationUser, Guid>(new IdentityUserStore(context));
            var applicationRoleManager = new RoleManager <ApplicationRole, Guid>(new IdentityRoleStore(context));

            // seed the data

            if (!applicationRoleManager.Roles.Any(x => x.Name == Roles.SuperAdmin))
            {
                applicationRoleManager.Create(new ApplicationRole(Roles.SuperAdmin)
                {
                    Id = Guid.Parse(SuperAdminId),
                    RoleDescription = Roles.SuperAdminDescription
                });
            }

            if (!applicationRoleManager.Roles.Any(x => x.Name == Roles.Admin))
            {
                applicationRoleManager.Create(new ApplicationRole(Roles.Admin)
                {
                    Id = Guid.Parse(AdminId),
                    RoleDescription = Roles.AdminDescription
                });
            }

            if (!applicationRoleManager.Roles.Any(x => x.Name == Roles.User))
            {
                applicationRoleManager.Create(new ApplicationRole(Roles.User)
                {
                    Id = Guid.Parse(UserId),
                    RoleDescription = Roles.UserDescription
                });
            }

            context.SaveChanges();

            var toAddUser = applicationUserManager.FindByName("doruc");

            if (toAddUser == null)
            {
                toAddUser = new ApplicationUser
                {
                    Id             = Guid.Parse(DoruCUserId),
                    UserName       = "******",
                    Email          = "*****@*****.**",
                    EmailConfirmed = true,
                    ProfileInfo    = new UserProfile
                    {
                        FullName    = "Cioclea Doru",
                        Description = "Corebuild employee",
                        JoinDate    = DateTime.UtcNow,
                    }
                };

                applicationUserManager.Create(toAddUser, Secret);
                applicationUserManager.SetLockoutEnabled(toAddUser.Id, false);
                applicationUserManager.AddToRoles(toAddUser.Id, Roles.SuperAdmin, Roles.Admin, Roles.User);
            }

            var adamUser = applicationUserManager.FindByName("adam");

            if (adamUser == null)
            {
                adamUser = new ApplicationUser
                {
                    Id             = Guid.Parse(AdamUserId),
                    UserName       = "******",
                    Email          = "*****@*****.**",
                    EmailConfirmed = true,
                    ProfileInfo    = new UserProfile
                    {
                        FullName    = "Adam",
                        Description = "Just adam",
                        JoinDate    = DateTime.UtcNow,
                    }
                };

                applicationUserManager.Create(adamUser, Secret);
                applicationUserManager.SetLockoutEnabled(adamUser.Id, false);
                applicationUserManager.AddToRoles(adamUser.Id, Roles.User);
            }

            // ReSharper disable once InvertIf
            if (!context.Clients.Any())
            {
                foreach (var item in BuildClientList())
                {
                    if (!context.Clients.Any(x => x.Id == item.Id))
                    {
                        context.Clients.Add(item);
                    }
                }
            }

            context.SaveChanges();
        }
示例#51
0
        public virtual AppUser FindByName(string userName)
        {
            var user = _userManager.FindByName(userName);

            return(user.ToAppUser());
        }
示例#52
0
        protected override void Seed(TechMarket.DAL.StoreContext context)
        {
            //  This method will be called after migrating to the latest version.

            //  You can use the DbSet<T>.AddOrUpdate() helper extension method
            //  to avoid creating duplicate seed data.
            var products = new List <Product>
            {
                new Product {
                    productbrand = "Samsung", productmodel = "Galaxy Note 20", category = 2, price = 3849, stock = 10
                },
                new Product {
                    productbrand = "Samsung", productmodel = "Galaxy S20+", category = 2, price = 3599, stock = 10
                },
                new Product {
                    productbrand = "Samsung", productmodel = "Galaxy M21", category = 2, price = 999, stock = 10
                },
                new Product {
                    productbrand = "Xiaomi", productmodel = "Redmi 9", category = 2, price = 599, stock = 10
                },
                new Product {
                    productbrand = "Xiaomi", productmodel = "Redmi Note 9 Pro", category = 2, price = 999, stock = 10
                },
                new Product {
                    productbrand = "Huawei", productmodel = "P smart 2021", category = 2, price = 799, stock = 10
                },
                new Product {
                    productbrand = "Huawei", productmodel = "Y5 2019", category = 2, price = 369, stock = 10
                },
                new Product {
                    productbrand = "Apple", productmodel = "iPhone 11", category = 2, price = 3399, stock = 10
                },
                new Product {
                    productbrand = "Apple", productmodel = "iPhone 12 Pro Max", category = 2, price = 5758, stock = 10
                },

                new Product {
                    productbrand = "Apple", productmodel = "MacBook Pro MYD82ZE/A", category = 1, price = 6199, stock = 10
                },
                new Product {
                    productbrand = "Apple", productmodel = "MacBook Pro MYD92ZE/A", category = 1, price = 7199, stock = 10
                },
                new Product {
                    productbrand = "HP", productmodel = "Pavilion 16-a0019nw", category = 1, price = 4899, stock = 10
                },
                new Product {
                    productbrand = "Huawei", productmodel = "MateBook 14", category = 1, price = 3999, stock = 10
                },
                new Product {
                    productbrand = "Asus", productmodel = "TUF F15 FX506LI-HNO12T", category = 1, price = 4199, stock = 10
                },
                new Product {
                    productbrand = "Asus", productmodel = "VivoBook 14 F413DA-EKO51T", category = 1, price = 2549, stock = 10
                }
            };

            var categories = new List <Category>
            {
                new Category {
                    categoryname = "Laptop"
                },
                new Category {
                    categoryname = "Phone"
                }
            };

            products.ForEach(product => context.products.AddOrUpdate(obj => obj.productmodel, product));
            context.SaveChanges();
            categories.ForEach(category => context.categories.AddOrUpdate(obj => obj.categoryname, category));
            context.SaveChanges();

            var roleManager = new RoleManager <IdentityRole>(new RoleStore <IdentityRole>(context));
            var UserManager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(context));

            if (!roleManager.RoleExists("Admin"))
            {
                roleManager.Create(new IdentityRole("Admin"));
            }
            if (!roleManager.RoleExists("Customer"))
            {
                roleManager.Create(new IdentityRole("Customer"));
            }

            var customers = new List <ApplicationUser>
            {
                new ApplicationUser {
                    UserName = "******", Email = "*****@*****.**",
                    Customer = new Customer {
                        ID = 1, FirstName = "Johnny", LastName = "Silverhand", Birthday = DateTime.Parse("2005-09-01")
                    }
                },
                new ApplicationUser {
                    UserName = "******", Email = "*****@*****.**",
                    Customer = new Customer {
                        ID = 2, FirstName = "Panam", LastName = "Palmer", Birthday = DateTime.Parse("2002-09-01")
                    }
                },
                new ApplicationUser {
                    UserName = "******", Email = "*****@*****.**",
                    Customer = new Customer {
                        ID = 3, FirstName = "Judy", LastName = "Alvarez", Birthday = DateTime.Parse("2003-09-01")
                    }
                },
            };
            string defaultPassword = "******";

            foreach (var customer in customers)
            {
                if (UserManager.FindByName(customer.UserName) == null)
                {
                    UserManager.Create(customer, defaultPassword);
                    UserManager.AddToRole(customer.Id, "Customer");
                }
            }



            var admins = new List <ApplicationUser>
            {
                new ApplicationUser {
                    UserName = "******", Email = "*****@*****.**",
                    Admin    = new Admin {
                        ID = 1, FirstName = "Super", LastName = "Admin", HireDate = DateTime.Parse("1970-01-01")
                    }
                },
            };

            foreach (var admin in admins)
            {
                if (UserManager.FindByName(admin.UserName) == null)
                {
                    UserManager.Create(admin, defaultPassword);
                    UserManager.AddToRole(admin.Id, "Admin");
                }
            }
        }
        protected override void Seed(ApplicationDbContext context)
        {
            var userManager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(new ApplicationDbContext()));

            userManager.UserValidator = new UserValidator <ApplicationUser>(userManager)
            {
                AllowOnlyAlphanumericUserNames = false
            };
            var    roleManager = new RoleManager <ApplicationRole>(new RoleStore <ApplicationRole>(new ApplicationDbContext()));
            string name        = "*****@*****.**";
            string password    = "******";
            string firstName   = "Admin";
            string roleName    = "Admin";

            var role = roleManager.FindByName(roleName);

            if (role == null)
            {
                role = new ApplicationRole(roleName);
                var roleResult = roleManager.Create(role);
            }

            var user = userManager.FindByName(name);

            if (user == null)
            {
                user = new ApplicationUser
                {
                    UserName  = name,
                    Email     = name,
                    FirstName = firstName
                };

                var result = userManager.Create(user, password);
                result = userManager.SetLockoutEnabled(user.Id, false);
            }

            var rolesForUser = userManager.GetRoles(user.Id);

            if (!rolesForUser.Contains(role.Name))
            {
                var result = userManager.AddToRole(user.Id, role.Name);
            }

            ///////////////////////////////////////////////////

            string categoryName = "Housing";

            context.Categories.AddOrUpdate(
                c => c.CategoryName,
                new Category {
                CategoryName = categoryName
            });

            context.SaveChanges();

            Category category = context.Categories.First(c => c.CategoryName == categoryName);

            context.Categories.AddOrUpdate(
                c => c.CategoryName,
                new Category {
                CategoryName = "Furniture", ParentCategoryId = category.Id
            },
                new Category {
                CategoryName = "Fixtures", ParentCategoryId = category.Id
            },
                new Category {
                CategoryName = "Building Materials", ParentCategoryId = category.Id
            }
                );

            categoryName = "Learning Materials";

            context.Categories.AddOrUpdate(
                c => c.CategoryName,
                new Category {
                CategoryName = categoryName
            });

            context.SaveChanges();

            category = context.Categories.First(c => c.CategoryName == categoryName);

            context.Categories.AddOrUpdate(
                c => c.CategoryName,
                new Category {
                CategoryName = "Books", ParentCategoryId = category.Id
            },
                new Category {
                CategoryName = "Supplies", ParentCategoryId = category.Id
            }
                );

            context.Categories.AddOrUpdate(
                c => c.CategoryName,
                new Category {
                CategoryName = "Food and Water"
            });

            context.SaveChanges();

            category = context.Categories.First(c => c.CategoryName == "Housing");

            context.InventoryItems.AddOrUpdate(
                ii => ii.InventoryItemName,
                new InventoryItem {
                CategoryId = category.Id, InventoryItemCode = "CLASSROOM", InventoryItemName = "Pre-Fabricated Classroom", UnitPrice = 10000m
            }
                );

            category = context.Categories.First(c => c.CategoryName == "Fixtures");

            context.InventoryItems.AddOrUpdate(
                ii => ii.InventoryItemName,
                new InventoryItem {
                CategoryId = category.Id, InventoryItemCode = "WHITEBOARD", InventoryItemName = "Whiteboard", UnitPrice = 324.50m
            },
                new InventoryItem {
                CategoryId = category.Id, InventoryItemCode = "ARMOR", InventoryItemName = "Armor Plating Kit", UnitPrice = 1225m
            }
                );

            category = context.Categories.First(c => c.CategoryName == "Building Materials");

            context.InventoryItems.AddOrUpdate(
                ii => ii.InventoryItemName,
                new InventoryItem {
                CategoryId = category.Id, InventoryItemCode = "CONCRETE", InventoryItemName = "Concrete, 50 lbs.", UnitPrice = 12.05m
            },
                new InventoryItem {
                CategoryId = category.Id, InventoryItemCode = "REBAR", InventoryItemName = "Rebar", UnitPrice = 3.50m
            }
                );

            category = context.Categories.First(c => c.CategoryName == "Furniture");

            context.InventoryItems.AddOrUpdate(
                ii => ii.InventoryItemName,
                new InventoryItem {
                CategoryId = category.Id, InventoryItemCode = "STUDENTDESK", InventoryItemName = "Student Desk", UnitPrice = 18.75m
            },
                new InventoryItem {
                CategoryId = category.Id, InventoryItemCode = "TEACHERDESK", InventoryItemName = "Teacher Desk", UnitPrice = 60m
            },
                new InventoryItem {
                CategoryId = category.Id, InventoryItemCode = "CHAIR", InventoryItemName = "Chair", UnitPrice = 9.65m
            }
                );

            category = context.Categories.First(c => c.CategoryName == "Books");

            context.InventoryItems.AddOrUpdate(
                ii => ii.InventoryItemName,
                new InventoryItem {
                CategoryId = category.Id, InventoryItemCode = "SCIENCETEXT", InventoryItemName = "Science Textbook", UnitPrice = 30.25m
            },
                new InventoryItem {
                CategoryId = category.Id, InventoryItemCode = "ARTTEXT", InventoryItemName = "Art History Textbook", UnitPrice = 41m
            },
                new InventoryItem {
                CategoryId = category.Id, InventoryItemCode = "POETRYTEXT", InventoryItemName = "Greatest Poems of All Time", UnitPrice = 15.95m
            }
                );

            category = context.Categories.First(c => c.CategoryName == "Supplies");

            context.InventoryItems.AddOrUpdate(
                ii => ii.InventoryItemName,
                new InventoryItem {
                CategoryId = category.Id, InventoryItemCode = "STUDENTSUP", InventoryItemName = "Student School Supplies Kit", UnitPrice = 12m
            },
                new InventoryItem {
                CategoryId = category.Id, InventoryItemCode = "TEACHERSUP", InventoryItemName = "Teacher School Supplies Kit", UnitPrice = 35m
            }
                );

            context.ServiceItems.AddOrUpdate(
                si => si.ServiceItemName,
                new ServiceItem {
                ServiceItemCode = "FORMANDPOUR", ServiceItemName = "Form and Pour Foundation", Rate = 35.50m
            },
                new ServiceItem {
                ServiceItemCode = "ERECTPREFAB", ServiceItemName = "Erect Pre-Fabricated Classroom", Rate = 47m
            },
                new ServiceItem {
                ServiceItemCode = "DIGWELL", ServiceItemName = "Dig Well and Install Hand Pump", Rate = 30m
            },
                new ServiceItem {
                ServiceItemCode = "INSTALLARMOR", ServiceItemName = "Install Armor Plating", Rate = 63.75m
            }
                );

            context.Customers.AddOrUpdate(
                cu => cu.AccountNumber,
                new Customer {
                AccountNumber = "GSTEMS", CompanyName = "Girls STEM School", Address = "35 Achievement Way", City = "Detroit", State = "MI", ZipCode = "48223", Phone = "123-456-7890"
            },
                new Customer {
                AccountNumber = "YWLS", CompanyName = "Young Women's Literary Society", Address = "1523 Aruna Lane", City = "Milwaukee", State = "WI", ZipCode = "53202", Phone = "234-567-8901"
            },
                new Customer {
                AccountNumber = "TRS", CompanyName = "The Roosevelt School", Address = "731 Kramer Street", City = "Philadelphia", State = "PA", ZipCode = "19115", Phone = "345-678-9012"
            }
                );
        }
示例#54
0
        public static void SeedEmployees(AppDbContext db)
        {
            //create a user manager to add users to databases
            UserManager <AppUser> userManager = new UserManager <AppUser>(new UserStore <AppUser>(db));

            //create a role manager
            AppRoleManager roleManager = new AppRoleManager(new RoleStore <AppRole>(db));

            //create an admin role
            String roleName = "Manager";

            //check to see if the role exists
            if (roleManager.RoleExists(roleName) == false) //role doesn't exist
            {
                roleManager.Create(new AppRole(roleName));
            }



            // Check if Employee Role Exists
            if (roleManager.RoleExists("Employee") == false) //role doesn't exist
            {
                roleManager.Create(new AppRole("Employee"));
            }

            // Check if Fired Role Exists
            if (roleManager.RoleExists("Fired") == false)
            {
                roleManager.Create(new AppRole("Fired"));
            }


            AppUser b2 = new AppUser()
            {
                UserName = "******", Email = "*****@*****.**", FName = "Todd", LName = "Jacobs", MiddleInitial = Convert.ToChar("L"), StreetAddress = "4564 Elm St.", City = "Houston", State = "TX", Zip = "77003", PhoneNumber = "8176593544", SSN = "222222222", DOB = Convert.ToDateTime("1/1/1800")
            };


            AppUser userToAddb2 = userManager.FindByName("*****@*****.**");

            if (userToAddb2 == null)
            {
                userManager.Create(b2, "society");
                db.SaveChanges();
                userToAddb2 = userManager.FindByName("*****@*****.**");
                if (userManager.IsInRole(userToAddb2.Id, "Employee") == false)
                {
                    userManager.AddToRole(userToAddb2.Id, "Employee");
                }
            }

            AppUser b3 = new AppUser()
            {
                UserName = "******", Email = "*****@*****.**", FName = "Eryn", LName = "Rice", MiddleInitial = Convert.ToChar("M"), StreetAddress = "3405 Rio Grande", City = "Dallas", State = "TX", Zip = "75261", PhoneNumber = "2148475583", SSN = "111111111", DOB = Convert.ToDateTime("1/1/1800")
            };


            AppUser userToAddb3 = userManager.FindByName("*****@*****.**");

            if (userToAddb3 == null)
            {
                userManager.Create(b3, "ricearoni");
                db.SaveChanges();
                userToAddb3 = userManager.FindByName("*****@*****.**");
                if (userManager.IsInRole(userToAddb3.Id, "Employee") == false)
                {
                    userManager.AddToRole(userToAddb3.Id, "Employee");
                }
            }

            AppUser b4 = new AppUser()
            {
                UserName = "******", Email = "*****@*****.**", FName = "Brad", LName = "Ingram", MiddleInitial = Convert.ToChar("S"), StreetAddress = "6548 La Posada Ct.", City = "Austin", State = "TX", Zip = "78705", PhoneNumber = "5126978613", SSN = "545454545", DOB = Convert.ToDateTime("1/1/1800")
            };


            AppUser userToAddb4 = userManager.FindByName("*****@*****.**");

            if (userToAddb4 == null)
            {
                userManager.Create(b4, "ingram45");
                db.SaveChanges();
                userToAddb4 = userManager.FindByName("*****@*****.**");
                if (userManager.IsInRole(userToAddb4.Id, "Employee") == false)
                {
                    userManager.AddToRole(userToAddb4.Id, "Employee");
                }
            }

            AppUser b5 = new AppUser()
            {
                UserName = "******", Email = "*****@*****.**", FName = "Allison", LName = "Taylor", MiddleInitial = Convert.ToChar("R"), StreetAddress = "467 Nueces St.", City = "Dallas", State = "TX", Zip = "75237", PhoneNumber = "2148965621", SSN = "645889563", DOB = Convert.ToDateTime("1/1/1800")
            };


            AppUser userToAddb5 = userManager.FindByName("*****@*****.**");

            if (userToAddb5 == null)
            {
                userManager.Create(b5, "nostalgic");
                db.SaveChanges();
                userToAddb5 = userManager.FindByName("*****@*****.**");
                if (userManager.IsInRole(userToAddb5.Id, "Manager") == false)
                {
                    userManager.AddToRole(userToAddb5.Id, "Manager");
                }
            }

            AppUser b6 = new AppUser()
            {
                UserName = "******", Email = "*****@*****.**", FName = "Gregory", LName = "Martinez", MiddleInitial = Convert.ToChar("R"), StreetAddress = "8295 Sunset Blvd.", City = "San Antonio", State = "TX", Zip = "78239", PhoneNumber = "2105788965", SSN = "574677829", DOB = Convert.ToDateTime("1/1/1800")
            };


            AppUser userToAddb6 = userManager.FindByName("*****@*****.**");

            if (userToAddb6 == null)
            {
                userManager.Create(b6, "fungus");
                db.SaveChanges();
                userToAddb6 = userManager.FindByName("*****@*****.**");
                if (userManager.IsInRole(userToAddb6.Id, "Employee") == false)
                {
                    userManager.AddToRole(userToAddb6.Id, "Employee");
                }
            }

            AppUser b7 = new AppUser()
            {
                UserName = "******", Email = "*****@*****.**", FName = "Martin", LName = "Sheffield", MiddleInitial = Convert.ToChar("J"), StreetAddress = "3886 Avenue A", City = "Austin", State = "TX", Zip = "78736", PhoneNumber = "5124678821", SSN = "334557278", DOB = Convert.ToDateTime("1/1/1800")
            };


            AppUser userToAddb7 = userManager.FindByName("*****@*****.**");

            if (userToAddb7 == null)
            {
                userManager.Create(b7, "longhorns");
                db.SaveChanges();
                userToAddb7 = userManager.FindByName("*****@*****.**");
                if (userManager.IsInRole(userToAddb7.Id, "Manager") == false)
                {
                    userManager.AddToRole(userToAddb7.Id, "Manager");
                }
            }

            AppUser b8 = new AppUser()
            {
                UserName = "******", Email = "*****@*****.**", FName = "Jennifer", LName = "MacLeod", MiddleInitial = Convert.ToChar("D"), StreetAddress = "2504 Far West Blvd.", City = "Austin", State = "TX", Zip = "78731", PhoneNumber = "5124653365", SSN = "886719249", DOB = Convert.ToDateTime("1/1/1800")
            };


            AppUser userToAddb8 = userManager.FindByName("*****@*****.**");

            if (userToAddb8 == null)
            {
                userManager.Create(b8, "smitty");
                db.SaveChanges();
                userToAddb8 = userManager.FindByName("*****@*****.**");
                if (userManager.IsInRole(userToAddb8.Id, "Manager") == false)
                {
                    userManager.AddToRole(userToAddb8.Id, "Manager");
                }
            }

            AppUser b9 = new AppUser()
            {
                UserName = "******", Email = "*****@*****.**", FName = "Jeremy", LName = "Tanner", MiddleInitial = Convert.ToChar("S"), StreetAddress = "4347 Almstead", City = "Austin", State = "TX", Zip = "78761", PhoneNumber = "5129457399", SSN = "888887878", DOB = Convert.ToDateTime("1/1/1800")
            };


            AppUser userToAddb9 = userManager.FindByName("*****@*****.**");

            if (userToAddb9 == null)
            {
                userManager.Create(b9, "tanman");
                db.SaveChanges();
                userToAddb9 = userManager.FindByName("*****@*****.**");
                if (userManager.IsInRole(userToAddb9.Id, "Employee") == false)
                {
                    userManager.AddToRole(userToAddb9.Id, "Employee");
                }
            }

            AppUser b10 = new AppUser()
            {
                UserName = "******", Email = "*****@*****.**", FName = "Megan", LName = "Rhodes", MiddleInitial = Convert.ToChar("C"), StreetAddress = "4587 Enfield Rd.", City = "San Antonio", State = "TX", Zip = "78293", PhoneNumber = "2102449976", SSN = "999990909", DOB = Convert.ToDateTime("1/1/1800")
            };


            AppUser userToAddb10 = userManager.FindByName("*****@*****.**");

            if (userToAddb10 == null)
            {
                userManager.Create(b10, "countryrhodes");
                db.SaveChanges();
                userToAddb10 = userManager.FindByName("*****@*****.**");
                if (userManager.IsInRole(userToAddb10.Id, "Manager") == false)
                {
                    userManager.AddToRole(userToAddb10.Id, "Manager");
                }
            }

            AppUser b11 = new AppUser()
            {
                UserName = "******", Email = "*****@*****.**", FName = "Eric", LName = "Stuart", MiddleInitial = Convert.ToChar("F"), StreetAddress = "5576 Toro Ring", City = "San Antonio", State = "TX", Zip = "78279", PhoneNumber = "2105344627", SSN = "212121212", DOB = Convert.ToDateTime("1/1/1800")
            };


            AppUser userToAddb11 = userManager.FindByName("*****@*****.**");

            if (userToAddb11 == null)
            {
                userManager.Create(b11, "stewboy");
                db.SaveChanges();
                userToAddb11 = userManager.FindByName("*****@*****.**");
                if (userManager.IsInRole(userToAddb11.Id, "Manager") == false)
                {
                    userManager.AddToRole(userToAddb11.Id, "Manager");
                }
            }

            AppUser b12 = new AppUser()
            {
                UserName = "******", Email = "*****@*****.**", FName = "Lisa", LName = "Chung", MiddleInitial = Convert.ToChar("N"), StreetAddress = "234 RR 12", City = "San Antonio", State = "TX", Zip = "78268", PhoneNumber = "2106983548", SSN = "333333333", DOB = Convert.ToDateTime("1/1/1800")
            };


            AppUser userToAddb12 = userManager.FindByName("*****@*****.**");

            if (userToAddb12 == null)
            {
                userManager.Create(b12, "lisssa");
                db.SaveChanges();
                userToAddb12 = userManager.FindByName("*****@*****.**");
                if (userManager.IsInRole(userToAddb12.Id, "Employee") == false)
                {
                    userManager.AddToRole(userToAddb12.Id, "Employee");
                }
            }

            AppUser b13 = new AppUser()
            {
                UserName = "******", Email = "*****@*****.**", FName = "Leon", LName = "Swanson", MiddleInitial = Convert.ToChar(" "), StreetAddress = "245 River Rd", City = "Austin", State = "TX", Zip = "78731", PhoneNumber = "5124748138", SSN = "444444444", DOB = Convert.ToDateTime("1/1/1800")
            };


            AppUser userToAddb13 = userManager.FindByName("*****@*****.**");

            if (userToAddb13 == null)
            {
                userManager.Create(b13, "swansong");
                db.SaveChanges();
                userToAddb13 = userManager.FindByName("*****@*****.**");
                if (userManager.IsInRole(userToAddb13.Id, "Manager") == false)
                {
                    userManager.AddToRole(userToAddb13.Id, "Manager");
                }
            }

            AppUser b14 = new AppUser()
            {
                UserName = "******", Email = "*****@*****.**", FName = "Wanda", LName = "Loter", MiddleInitial = Convert.ToChar("K"), StreetAddress = "3453 RR 3235", City = "Austin", State = "TX", Zip = "78732", PhoneNumber = "5124579845", SSN = "555555555", DOB = Convert.ToDateTime("1/1/1800")
            };


            AppUser userToAddb14 = userManager.FindByName("*****@*****.**");

            if (userToAddb14 == null)
            {
                userManager.Create(b14, "lottery");
                db.SaveChanges();
                userToAddb14 = userManager.FindByName("*****@*****.**");
                if (userManager.IsInRole(userToAddb14.Id, "Employee") == false)
                {
                    userManager.AddToRole(userToAddb14.Id, "Employee");
                }
            }

            AppUser b15 = new AppUser()
            {
                UserName = "******", Email = "*****@*****.**", FName = "Jason", LName = "White", MiddleInitial = Convert.ToChar("M"), StreetAddress = "12 Valley View", City = "Houston", State = "TX", Zip = "77045", PhoneNumber = "8174955201", SSN = "666666666", DOB = Convert.ToDateTime("1/1/1800")
            };


            AppUser userToAddb15 = userManager.FindByName("*****@*****.**");

            if (userToAddb15 == null)
            {
                userManager.Create(b15, "evanescent");
                db.SaveChanges();
                userToAddb15 = userManager.FindByName("*****@*****.**");
                if (userManager.IsInRole(userToAddb15.Id, "Manager") == false)
                {
                    userManager.AddToRole(userToAddb15.Id, "Manager");
                }
            }

            AppUser b16 = new AppUser()
            {
                UserName = "******", Email = "*****@*****.**", FName = "Wilda", LName = "Montgomery", MiddleInitial = Convert.ToChar("K"), StreetAddress = "210 Blanco Dr", City = "Houston", State = "TX", Zip = "77030", PhoneNumber = "8178746718", SSN = "676767676", DOB = Convert.ToDateTime("1/1/1800")
            };


            AppUser userToAddb16 = userManager.FindByName("*****@*****.**");

            if (userToAddb16 == null)
            {
                userManager.Create(b16, "monty3");
                db.SaveChanges();
                userToAddb16 = userManager.FindByName("*****@*****.**");
                if (userManager.IsInRole(userToAddb16.Id, "Manager") == false)
                {
                    userManager.AddToRole(userToAddb16.Id, "Manager");
                }
            }

            AppUser b17 = new AppUser()
            {
                UserName = "******", Email = "*****@*****.**", FName = "Hector", LName = "Morales", MiddleInitial = Convert.ToChar("N"), StreetAddress = "4501 RR 140", City = "Houston", State = "TX", Zip = "77031", PhoneNumber = "8177458615", SSN = "898989898", DOB = Convert.ToDateTime("1/1/1800")
            };


            AppUser userToAddb17 = userManager.FindByName("*****@*****.**");

            if (userToAddb17 == null)
            {
                userManager.Create(b17, "hecktour");
                db.SaveChanges();
                userToAddb17 = userManager.FindByName("*****@*****.**");
                if (userManager.IsInRole(userToAddb17.Id, "Employee") == false)
                {
                    userManager.AddToRole(userToAddb17.Id, "Employee");
                }
            }

            AppUser b18 = new AppUser()
            {
                UserName = "******", Email = "*****@*****.**", FName = "Mary", LName = "Rankin", MiddleInitial = Convert.ToChar("T"), StreetAddress = "340 Second St", City = "Austin", State = "TX", Zip = "78703", PhoneNumber = "5122926966", SSN = "999888777", DOB = Convert.ToDateTime("1/1/1800")
            };


            AppUser userToAddb18 = userManager.FindByName("*****@*****.**");

            if (userToAddb18 == null)
            {
                userManager.Create(b18, "rankmary");
                db.SaveChanges();
                userToAddb18 = userManager.FindByName("*****@*****.**");
                if (userManager.IsInRole(userToAddb18.Id, "Employee") == false)
                {
                    userManager.AddToRole(userToAddb18.Id, "Employee");
                }
            }

            AppUser b19 = new AppUser()
            {
                UserName = "******", Email = "*****@*****.**", FName = "Larry", LName = "Walker", MiddleInitial = Convert.ToChar("G"), StreetAddress = "9 Bison Circle", City = "Dallas", State = "TX", Zip = "75238", PhoneNumber = "2143125897", SSN = "323232323", DOB = Convert.ToDateTime("1/1/1800")
            };


            AppUser userToAddb19 = userManager.FindByName("*****@*****.**");

            if (userToAddb19 == null)
            {
                userManager.Create(b19, "walkamile");
                db.SaveChanges();
                userToAddb19 = userManager.FindByName("*****@*****.**");
                if (userManager.IsInRole(userToAddb19.Id, "Manager") == false)
                {
                    userManager.AddToRole(userToAddb19.Id, "Manager");
                }
            }

            AppUser b20 = new AppUser()
            {
                UserName = "******", Email = "*****@*****.**", FName = "George", LName = "Chang", MiddleInitial = Convert.ToChar("M"), StreetAddress = "9003 Joshua St", City = "San Antonio", State = "TX", Zip = "78260", PhoneNumber = "2103450925", SSN = "111222233", DOB = Convert.ToDateTime("1/1/1800")
            };


            AppUser userToAddb20 = userManager.FindByName("*****@*****.**");

            if (userToAddb20 == null)
            {
                userManager.Create(b20, "changalang");
                db.SaveChanges();
                userToAddb20 = userManager.FindByName("*****@*****.**");
                if (userManager.IsInRole(userToAddb20.Id, "Manager") == false)
                {
                    userManager.AddToRole(userToAddb20.Id, "Manager");
                }
            }

            AppUser b21 = new AppUser()
            {
                UserName = "******", Email = "*****@*****.**", FName = "Gwen", LName = "Gonzalez", MiddleInitial = Convert.ToChar("J"), StreetAddress = "103 Manor Rd", City = "Dallas", State = "TX", Zip = "75260", PhoneNumber = "2142345566", SSN = "499551454", DOB = Convert.ToDateTime("1/1/1800")
            };


            AppUser userToAddb21 = userManager.FindByName("*****@*****.**");

            if (userToAddb21 == null)
            {
                userManager.Create(b21, "offbeat");
                db.SaveChanges();
                userToAddb21 = userManager.FindByName("*****@*****.**");
                if (userManager.IsInRole(userToAddb21.Id, "Employee") == false)
                {
                    userManager.AddToRole(userToAddb21.Id, "Employee");
                }
            }


            db.SaveChanges();
        }
示例#55
0
        protected void Seed(ApplicationDbContext context)
        {
            // make Mangers for Roles and User stuff
            var roleManager = new RoleManager <IdentityRole>(new RoleStore <IdentityRole>(context));
            var userManager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(context));

            // action to help Create Roles
            Action <string> SeedRole = role =>
            {
                if (!roleManager.RoleExists(role))
                {
                    roleManager.Create(new IdentityRole(role));
                }
            };



            // Create Roles
            SeedRole("Administrator");
            SeedRole("Developer");
            //SeedRole("default");


            // function to easily and safely seed users.
            Action <string, string, string, string> SeedUser = (name, role, email, pass) =>
            {
                // find the user.
                var user = userManager.FindByName(name);

                // if no user then make it.
                if (user == null)
                {
                    // create user
                    user = new ApplicationUser {
                        UserName = name, Email = email
                    };
                    var result = userManager.Create(user, pass);
                }

                // if user isn't in the given role(if a role is given at all), add him.
                if (role != "" && !userManager.IsInRole(user.Id, role))
                {
                    userManager.AddToRole(user.Id, role);
                }


                // --- now add them to user table if they arn't there ---
                var db      = new BugTrackerEntities();
                var bugUser = db.Users.SingleOrDefault(u => u.ASPUserName == user.UserName);

                if (bugUser == null)
                {
                    db.Users.Add(new User
                    {
                        ASPUserName = user.UserName,
                        Email       = user.Email,
                        FirstName   = user.UserName + "First",
                        LastName    = user.UserName + "Last"
                    });

                    db.SaveChanges();
                }
            };


            // seed an admin, developer and some users
            SeedUser("AdminUser", "Administrator", "*****@*****.**", "Password");
            SeedUser("DevUser1", "Developer", "*****@*****.**", "Password");
            SeedUser("DevUser2", "Developer", "*****@*****.**", "Password");
            SeedUser("User1", "", "*****@*****.**", "Password");
            SeedUser("User2", "", "*****@*****.**", "Password");
            SeedUser("User3", "", "*****@*****.**", "Password");
        }
        protected override void Seed(LSM.Models.ApplicationDbContext context)
        {
            var courses = new List <Course>
            {
                new Course {
                    Name      = "Java", Description = "Coding Java",
                    StartDate = DateTime.Parse("2010-09-01"), StopDate = DateTime.Parse("2010-09-01")
                },
                new Course {
                    Name      = "Python", Description = "Coding Pyhton",
                    StartDate = DateTime.Parse("2010-09-01"), StopDate = DateTime.Parse("2010-09-01")
                },
                new Course {
                    Name      = "C#", Description = "Coding C#",
                    StartDate = DateTime.Parse("2010-09-01"), StopDate = DateTime.Parse("2010-09-01")
                },
                new Course {
                    Name      = "Kurs med lång beskrivning", Description = "Proin tincidunt ullamcorper lectus, sit amet tempus neque maximus quis. Phasellus at lorem id nunc hendrerit congue quis eu odio. Praesent convallis vitae odio in posuere. Interdum et malesuada fames ac ante ipsum primis in faucibus. Proin blandit diam eu dignissim pharetra. In volutpat orci nec quam placerat, nec vehicula lacus vulputate. Nullam sagittis sollicitudin nisl, non blandit orci vestibulum at. Nullam leo est, finibus ut iaculis in, consectetur eu ligula. Integer nisi neque, tempus id orci ac, porttitor sodales nunc. Praesent pretium libero scelerisque, rhoncus purus in, consectetur risus. Praesent sollicitudin est nec lectus pretium, at bibendum purus volutpat. Quisque viverra imperdiet lacus, non volutpat metus porttitor eu. Praesent convallis neque odio, cursus pretium ipsum convallis eu. Vivamus ut metus id ante tristique fringilla id quis augue.Proin tincidunt ullamcorper lectus, sit amet tempus neque maximus quis. Phasellus at lorem id nunc hendrerit congue quis eu odio. Praesent convallis vitae odio in posuere. Interdum et malesuada fames ac ante ipsum primis in faucibus. Proin blandit diam eu dignissim pharetra. In volutpat orci nec quam placerat, nec vehicula lacus vulputate. Nullam sagittis sollicitudin nisl, non blandit orci vestibulum at. Nullam leo est, finibus ut iaculis in, consectetur eu ligula. Integer nisi neque, tempus id orci ac, porttitor sodales nunc. Praesent pretium libero scelerisque, rhoncus purus in, consectetur risus. Praesent sollicitudin est nec lectus pretium, at bibendum purus volutpat. Quisque viverra imperdiet lacus, non volutpat metus porttitor eu. Praesent convallis neque odio, cursus pretium ipsum convallis eu. Vivamus ut metus id ante tristique fringilla id quis augue.",
                    StartDate = DateTime.Parse("2010-09-01"), StopDate = DateTime.Parse("2010-09-01")
                },
                new Course {
                    Name      = "Kurs med många moduler, studenter och aktiviter", Description = "Kurs med många moduler, studenter och aktiviter",
                    StartDate = DateTime.Parse("2010-09-01"), StopDate = DateTime.Parse("2010-09-01")
                },
            };
            var date = DateTime.Now;

            //for (int index = 0; index < 15; index++)
            //{
            //    date.AddMonths(1);

            //    courses.Add(new Course
            //    {
            //        Name = "Kurs" + index,
            //        Description = "Qwerty 123",
            //        StartDate = date,
            //        StopDate = date
            //    });
            //}


            //Changed

            courses.ForEach(s => context.Courses.AddOrUpdate(p => p.Name, s));
            context.SaveChanges();

            var CourseMany   = context.Courses.Where(m => m.Name == "Kurs med många moduler, studenter och aktiviter").First();
            var CourseJava   = context.Courses.Where(m => m.Name == "Java").First();
            var CourseC      = context.Courses.Where(m => m.Name == "C#").First();
            var CoursePython = context.Courses.Where(m => m.Name == "Python").First();



            var roleStore   = new RoleStore <IdentityRole>(context);
            var roleManager = new RoleManager <IdentityRole>(roleStore);

            var roleNames = new[] { "Teacher", "Student" };       // A list of different roles...

            foreach (var roleName in roleNames)
            {
                if (context.Roles.Any(r => r.Name == roleName))
                {
                    continue;
                }

                // Create new role
                var role = new IdentityRole {
                    Name = roleName
                };
                var result2 = roleManager.Create(role);
                if (!result2.Succeeded)
                {
                    throw new Exception(string.Join("\n", result2.Errors));
                }
            }

            var userStore   = new UserStore <ApplicationUser>(context);
            var userManager = new UserManager <ApplicationUser>(userStore);

            var emails = new[] { "*****@*****.**", "*****@*****.**", "*****@*****.**", "*****@*****.**",
                                 "*****@*****.**", "*****@*****.**", "*****@*****.**" };
            var name = new[] { "Gandalf", "Galadriel", "Frodo", "Gimli",
                               "Knatte", "Fnatte", "Tjatte" };
            var lastname = new[] { "Gandalf", "Of the Forest", "Baggings", "Craftman",
                                   "Anka", "Anka", "Anka" };

            string emailname;

            for (int i = 0; i < emails.Length; i++)
            {
                emailname = emails[i]; //Must be set here not in the lamba expression
                if (context.Users.Any(u => u.UserName == emailname))
                {
                    continue;
                }

                // Create user, with username and pwd
                // Update with FirstName, LastName
                DateTime t1   = DateTime.Now;
                var      user = new ApplicationUser
                {
                    UserName  = emails[i],
                    Email     = emails[i],
                    FirstName = name[i],
                    LastName  = lastname[i],
                    CourseId  = CourseMany.Id
                };
                var result = userManager.Create(user, "Lsm123!");
                if (!result.Succeeded)
                {
                    throw new Exception(string.Join("\n", result.Errors));
                }
            }


            //int kingnumber = 1;
            //foreach (var email in emails)
            //{


            //    kingnumber++;
            //    if (context.Users.Any(u => u.UserName == emails[i])) continue;

            //    // Create user, with username and pwd
            //    // Update with FirstName, LastName
            //    DateTime t1 = DateTime.Now;
            //    var user = new ApplicationUser
            //    {

            //        UserName = email,
            //        Email = email,
            //        FirstName = "Karl",
            //        LastName = kingnumber.ToString(),
            //        CourseId = CourseMany.Id
            //    };
            //    var result = userManager.Create(user, "Lsm123!");
            //    if (!result.Succeeded)
            //    {
            //        throw new Exception(string.Join("\n", result.Errors));
            //    }
            //}



            var u1 = userManager.FindByName("*****@*****.**");

            userManager.AddToRole(u1.Id, "Student");


            var u2 = userManager.FindByName("*****@*****.**");

            userManager.AddToRole(u2.Id, "Student");


            var u3 = userManager.FindByName("*****@*****.**");

            userManager.AddToRoles(u3.Id, "Student");


            var u4 = userManager.FindByName("*****@*****.**");

            userManager.AddToRoles(u4.Id, "Student");


            var u5 = userManager.FindByName("*****@*****.**");

            userManager.AddToRoles(u5.Id, "Student");


            var u6 = userManager.FindByName("*****@*****.**");

            userManager.AddToRoles(u6.Id, "Student");


            var u7 = userManager.FindByName("*****@*****.**");

            userManager.AddToRoles(u7.Id, "Student");
            //Skippat från alla rader u7.CourseId = 5;


            //var JavaDude = new ApplicationUser
            //{
            //    UserName = "******",
            //    Email = "*****@*****.**",
            //    FirstName = "Java",
            //    LastName = "Dude",
            //    CourseId = CourseC.Id
            //};
            //userManager.Create(JavaDude, "Lsm123!");
            //var u8 = userManager.FindByName("*****@*****.**");

            //userManager.AddToRoles(u8.Id, "Student");

            var Teacher = new ApplicationUser
            {
                UserName  = "******",
                Email     = "*****@*****.**",
                FirstName = "Lärare",
                LastName  = "Lärare",
                CourseId  = null
            };

            userManager.Create(Teacher, "Lsm123!");
            var u9 = userManager.FindByName("*****@*****.**");

            userManager.AddToRoles(u9.Id, "Teacher");

            //var PythonDude = new ApplicationUser
            //{
            //    UserName = "******",
            //    Email = "*****@*****.**",
            //    FirstName = "Python",
            //    LastName = "Dude",
            //    CourseId = CoursePython.Id
            //};
            //userManager.Create(JavaDude, "Lsm123!");
            //var u10 = userManager.FindByName("*****@*****.**");

            //var CDude = new ApplicationUser
            //{
            //    UserName = "******",
            //    Email = "*****@*****.**",
            //    FirstName = "C#",
            //    LastName = "Dude",
            //    CourseId = CourseC.Id
            //};
            //userManager.Create(CDude, "Lsm123!");
            //var u11 = userManager.FindByName("*****@*****.**");

            var modules = new List <Module>

            {
                new Module {
                    Name      = "Manga Aktivititer", Description = "First introduction",
                    StartDate = DateTime.Parse("2010-09-01"), StopDate = DateTime.Parse("2010-09-01"), CourseId = CourseMany.Id
                },
                new Module {
                    Name      = "Part1", Description = "First introduction",
                    StartDate = DateTime.Parse("2010-09-01"), StopDate = DateTime.Parse("2010-09-01"), CourseId = CourseJava.Id
                },
                new Module {
                    Name      = "Part2", Description = "Going uphill",
                    StartDate = DateTime.Parse("2010-09-01"), StopDate = DateTime.Parse("2010-09-01"), CourseId = CourseJava.Id
                },
                new Module {
                    Name      = "Part3", Description = "Go downhill",
                    StartDate = DateTime.Parse("2010-09-01"), StopDate = DateTime.Parse("2010-09-01"), CourseId = CourseC.Id
                },
                new Module {
                    Name      = "Part4", Description = "Go forward",
                    StartDate = DateTime.Parse("2010-09-01"), StopDate = DateTime.Parse("2010-09-01"), CourseId = CourseC.Id
                },
                new Module {
                    Name      = "Part5", Description = "Run back",
                    StartDate = DateTime.Parse("2010-09-01"), StopDate = DateTime.Parse("2010-09-01"), CourseId = CoursePython.Id
                },
                new Module {
                    Name      = "Part6", Description = "Start flying",
                    StartDate = DateTime.Parse("2010-09-01"), StopDate = DateTime.Parse("2010-09-01"), CourseId = CoursePython.Id
                },
                new Module {
                    Name      = "Part7", Description = "Take a walk",
                    StartDate = DateTime.Parse("2010-09-01"), StopDate = DateTime.Parse("2010-09-01"), CourseId = CoursePython.Id
                }
            };


            var dateModule = DateTime.Now;

            for (int index = 0; index < 15; index++)
            {
                dateModule.AddMonths(1);

                modules.Add(new Module
                {
                    Name        = "Module" + index,
                    Description = "Qwerty 123",
                    StartDate   = date,
                    StopDate    = date,
                    CourseId    = CourseMany.Id
                });
            }



            modules.ForEach(s => context.Modules.AddOrUpdate(p => p.Name, s));
            context.SaveChanges();
            var ActivityMany = context.Modules.Where(m => m.Name == "Manga Aktivititer").First();



            var act = new List <Activity>
            {
                new Activity {
                    Name = "Act20", Description = "1",
                    Day  = DateTime.Parse("2010-09-01"), Pass = Epass.FMEM, ModuleId = 1
                },
                new Activity {
                    Name = "Act21", Description = "2",
                    Day  = DateTime.Parse("2010-09-01"), Pass = Epass.FMEM, ModuleId = 2
                },
                new Activity {
                    Name = "Act22", Description = "3",
                    Day  = DateTime.Parse("2010-09-01"), Pass = Epass.FMEM, ModuleId = 3
                },
                new Activity {
                    Name = "Act23", Description = "4",
                    Day  = DateTime.Parse("2010-09-01"), Pass = Epass.FMEM, ModuleId = 3
                },
                new Activity {
                    Name = "Act24", Description = "5",
                    Day  = DateTime.Parse("2010-09-01"), Pass = Epass.FMEM, ModuleId = 3
                }
            };

            for (int index = 0; index < 15; index++)
            {
                act.Add(new Activity
                {
                    Name        = "Activity" + index,
                    Description = "Qwerty 123",
                    Day         = date,
                    Pass        = Epass.FMEM,
                    ModuleId    = ActivityMany.Id
                });
            }

            act.ForEach(s => context.Activitys.AddOrUpdate(p => p.Name, s));
            context.SaveChanges();


            //context.Courses.Find(p => p.Name == "Tjoho");
        }
示例#57
0
        public async Task <IHttpActionResult> Register(RegisterPhoneModel model)
        {
            Trace.WriteLine("Receive Model:" + model);
            if (ModelState.IsValid)
            {
                var newUser = new ApplicationUser {
                    PhoneNumber = model.Phone, Email = model.Email, UserName = model.Phone
                };
                Trace.WriteLine("User:"******"Result:" + signUpResult);
                if (signUpResult.Succeeded)
                {
                    newUser = UserManager.FindByName(model.Phone);
                    Trace.WriteLine("Find user:"******"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
                                Trace.WriteLine("entity of type \"{0}\" in state \"{1}\" has the following validation errors:");
                                Trace.WriteLine(i.Entry.Entity.GetType().Name);
                                Trace.WriteLine(i.Entry.State);
                                foreach (var ve in i.ValidationErrors)
                                {
                                    Trace.WriteLine("- property: \"{0}\", error: \"{1}\"");
                                    Trace.WriteLine(ve.PropertyName);
                                    Trace.WriteLine(ve.PropertyName);
                                }
                                ;
                            }

                            throw;
                        }
                    });


                    return(Ok());
                }
                else
                {
                    Trace.WriteLine(signUpResult.Succeeded);
                    Trace.WriteLine("Register failed");
                    return(GetErrorResult(signUpResult));
                }
            }
            else
            {
                Trace.WriteLine("Invalid Model");
                Trace.WriteLine(ModelState);
                return(BadRequest(ModelState));
            }
        }
示例#58
0
        protected override void Seed(Apache.Models.ApplicationDbContext context)
        {
            //  This method will be called after migrating to the latest version.

            //  You can use the DbSet<T>.AddOrUpdate() helper extension method
            //  to avoid creating duplicate seed data. E.g.
            //
            //    context.People.AddOrUpdate(
            //      p => p.FullName,
            //      new Person { FullName = "Andrew Peters" },
            //      new Person { FullName = "Brice Lambson" },
            //      new Person { FullName = "Rowan Miller" }
            //    );
            //
            var Organizations = new List <Organization>                    //初始化组织机构

            {
                new Organization {
                    orgName = "榆林神华", orgCode = "", orgType = "根组织", orgNote = ""
                }
            };

            Organizations.ForEach(s => context.Organizations.AddOrUpdate(p => p.orgName, s));
            context.SaveChanges();

            var DataDicts = new List <DataDict>                    //初始化数据字典

            {
                new DataDict {
                    DataDictName = "根字典", DataDictCode = "", DataDictType = "根数据字典", DataDictNote = ""
                }
            };

            DataDicts.ForEach(s => context.DataDicts.AddOrUpdate(p => p.DataDictName, s));
            context.SaveChanges();


            if (UserManager.FindByName("admin") == null)       //初始化admin
            {
                var org = db.Organizations.Where(i => i.orgType == "根组织").FirstOrDefault();
                if (org != null)
                {
                    var user = new ApplicationUser()
                    {
                        UserName = "******"
                    };
                    user.TrueName       = "管理员";
                    user.Order          = 1000;
                    user.OrganizationID = org.ID;
                    var result = UserManager.Create(user, "admin888");
                }
            }



            var rootMenu = new List <Menu>                                            //增加根模块

            {
                new Menu {
                    menuName = "根模块", menuType = "根模块", menuOrder = 0, parentId = 0, isSysMenu = "1"
                }
            };

            rootMenu.ForEach(s => context.Menus.AddOrUpdate(p => p.menuName, s));
            context.SaveChanges();
            var rootMenuList = db.Menus.Where(i => i.menuName == "根模块").FirstOrDefault();

            if (rootMenuList != null)                                                            //增加系统管理目录模块
            {
                var catalogMenus = new List <Menu>
                {
                    new Menu {
                        menuName = "系统管理", menuType = "模块目录", menuOrder = 1, isMenu = "是", menuIcon = "icon-sys-manage", parentId = rootMenuList.ID, isSysMenu = "1"
                    }
                };
                catalogMenus.ForEach(s => context.Menus.AddOrUpdate(p => p.menuName, s));
                context.SaveChanges();
            }


            var catalogMenuList = db.Menus.Where(i => i.menuName == "系统管理").FirstOrDefault();

            if (catalogMenuList != null)                                                            //增加系统管理模块
            {
                var Menus = new List <Menu>
                {
                    new Menu {
                        menuName = "组织机构管理", menuType = "模块", menuController = "Organization", menuAction = "Index", menuOrder = 10000, menuIcon = "icon-sys-organization", parentId = catalogMenuList.ID, isSysMenu = "1"
                    },
                    new Menu {
                        menuName = "用户管理", menuType = "模块", menuController = "Account", menuAction = "Users", menuOrder = 9000, menuIcon = "icon-sys-user", parentId = catalogMenuList.ID, isSysMenu = "1"
                    },
                    new Menu {
                        menuName = "模块管理", menuType = "模块", menuController = "Menu", menuAction = "Index", menuOrder = 8000, menuIcon = "icon-sys-model", parentId = catalogMenuList.ID, isSysMenu = "1"
                    },
                    new Menu {
                        menuName = "角色管理", menuType = "模块", menuController = "Account", menuAction = "Roles", menuOrder = 7000, menuIcon = "icon-sys-role", parentId = catalogMenuList.ID, isSysMenu = "1"
                    },
                    new Menu {
                        menuName = "日志管理", menuType = "模块", menuController = "Logging", menuAction = "Index", menuOrder = 6000, menuIcon = "icon-sys-log", parentId = catalogMenuList.ID, isSysMenu = "1"
                    },
                    new Menu {
                        menuName = "数据字典管理", menuType = "模块", menuController = "DataDict", menuAction = "Index", menuOrder = 5000, menuIcon = "icon-sys-datadict", parentId = catalogMenuList.ID, isSysMenu = "1"
                    }
                };
                Menus.ForEach(s => context.Menus.AddOrUpdate(p => p.menuName, s));
                context.SaveChanges();
            }

            var orgMenuList = db.Menus.Where(i => i.menuName == "组织机构管理").FirstOrDefault();                   //增加组织机构管理系统功能模块

            if (orgMenuList != null)
            {
                var Menus = new List <Menu>
                {
                    new Menu {
                        menuName = "添加组织机构", menuType = "功能", menuController = "Organization", menuAction = "CreateOrg", menuOrder = 1000, menuIcon = "", parentId = orgMenuList.ID, isSysMenu = "1"
                    },
                    new Menu {
                        menuName = "修改组织机构", menuType = "功能", menuController = "Organization", menuAction = "EditOrg", menuOrder = 1000, menuIcon = "", parentId = orgMenuList.ID, isSysMenu = "1"
                    },
                    new Menu {
                        menuName = "删除组织机构", menuType = "功能", menuController = "Organization", menuAction = "DelOrg", menuOrder = 1000, menuIcon = "", parentId = orgMenuList.ID, isSysMenu = "1"
                    },
                    new Menu {
                        menuName = "显示组织机构列表", menuType = "功能", menuController = "Organization", menuAction = "orgList", menuOrder = 1000, menuIcon = "", parentId = orgMenuList.ID, isSysMenu = "1"
                    }
                };
                Menus.ForEach(s => context.Menus.AddOrUpdate(p => p.menuName, s));
                context.SaveChanges();
            }


            var datadictMenuList = db.Menus.Where(i => i.menuName == "数据字典管理").FirstOrDefault();                   //增加数据字典管理系统功能模块

            if (datadictMenuList != null)
            {
                var Menus = new List <Menu>
                {
                    new Menu {
                        menuName = "添加数据字典", menuType = "功能", menuController = "DataDict", menuAction = "CreateDataDict", menuOrder = 1000, menuIcon = "", parentId = datadictMenuList.ID, isSysMenu = "1"
                    },
                    new Menu {
                        menuName = "修改数据字典", menuType = "功能", menuController = "DataDict", menuAction = "EditDataDict", menuOrder = 1000, menuIcon = "", parentId = datadictMenuList.ID, isSysMenu = "1"
                    },
                    new Menu {
                        menuName = "删除数据字典", menuType = "功能", menuController = "DataDict", menuAction = "DelDataDict", menuOrder = 1000, menuIcon = "", parentId = datadictMenuList.ID, isSysMenu = "1"
                    },
                    new Menu {
                        menuName = "显示数据字典列表", menuType = "功能", menuController = "DataDict", menuAction = "DataDictList", menuOrder = 1000, menuIcon = "", parentId = datadictMenuList.ID, isSysMenu = "1"
                    }
                };
                Menus.ForEach(s => context.Menus.AddOrUpdate(p => p.menuName, s));
                context.SaveChanges();
            }



            var userMenuList = db.Menus.Where(i => i.menuName == "用户管理").FirstOrDefault();                   //增加用户管理系统功能模块

            if (userMenuList != null)
            {
                var Menus = new List <Menu>
                {
                    new Menu {
                        menuName = "添加用户", menuType = "功能", menuController = "Account", menuAction = "Register", menuOrder = 1000, menuIcon = "", parentId = userMenuList.ID, isSysMenu = "1"
                    },
                    new Menu {
                        menuName = "修改用户", menuType = "功能", menuController = "Account", menuAction = "EditUser", menuOrder = 1000, menuIcon = "", parentId = userMenuList.ID, isSysMenu = "1"
                    },
                    new Menu {
                        menuName = "删除用户", menuType = "功能", menuController = "Account", menuAction = "DelUser", menuOrder = 1000, menuIcon = "", parentId = userMenuList.ID, isSysMenu = "1"
                    },
                    new Menu {
                        menuName = "重置用户密码", menuType = "功能", menuController = "Account", menuAction = "ResetPassword", menuOrder = 1000, menuIcon = "", parentId = userMenuList.ID, isSysMenu = "1"
                    },
                    new Menu {
                        menuName = "显示人员列表", menuType = "功能", menuController = "Account", menuAction = "UserList", menuOrder = 1000, menuIcon = "", parentId = userMenuList.ID, isSysMenu = "1"
                    },
                    new Menu {
                        menuName = "左侧显示组织机构列表", menuType = "功能", menuController = "Account", menuAction = "orgTree", menuOrder = 1000, menuIcon = "", parentId = userMenuList.ID, isSysMenu = "1"
                    },
                    new Menu {
                        menuName = "设置用户角色", menuType = "功能", menuController = "Account", menuAction = "UsersOfRole", menuOrder = 1000, menuIcon = "", parentId = userMenuList.ID, isSysMenu = "1"
                    },
                    new Menu {
                        menuName = "显示所有角色列表", menuType = "功能", menuController = "Account", menuAction = "RoleList", menuOrder = 1000, menuIcon = "", parentId = userMenuList.ID, isSysMenu = "1"
                    },
                    new Menu {
                        menuName = "显示用户拥有的角色列表", menuType = "功能", menuController = "Account", menuAction = "UserRoleList", menuOrder = 1000, menuIcon = "", parentId = userMenuList.ID, isSysMenu = "1"
                    }
                };
                Menus.ForEach(s => context.Menus.AddOrUpdate(p => p.menuName, s));
                context.SaveChanges();
            }

            var memuMenuList = db.Menus.Where(i => i.menuName == "模块管理").FirstOrDefault();                   //增加模块管理系统功能模块

            if (memuMenuList != null)
            {
                var Menus = new List <Menu>
                {
                    new Menu {
                        menuName = "添加模块", menuType = "功能", menuController = "Menu", menuAction = "CreateMenu", menuOrder = 1000, menuIcon = "", parentId = memuMenuList.ID, isSysMenu = "1"
                    },
                    new Menu {
                        menuName = "修改模块", menuType = "功能", menuController = "Menu", menuAction = "EditMenu", menuOrder = 1000, menuIcon = "", parentId = memuMenuList.ID, isSysMenu = "1"
                    },
                    new Menu {
                        menuName = "删除模块", menuType = "功能", menuController = "Menu", menuAction = "DelMenu", menuOrder = 1000, menuIcon = "", parentId = memuMenuList.ID, isSysMenu = "1"
                    },
                    new Menu {
                        menuName = "显示模块列表", menuType = "功能", menuController = "Menu", menuAction = "menuList", menuOrder = 1000, menuIcon = "", parentId = memuMenuList.ID, isSysMenu = "1"
                    }
                };
                Menus.ForEach(s => context.Menus.AddOrUpdate(p => p.menuName, s));
                context.SaveChanges();
            }

            var roleMenuList = db.Menus.Where(i => i.menuName == "角色管理").FirstOrDefault();                   //增加模块管理系统功能模块

            if (roleMenuList != null)
            {
                var Menus = new List <Menu>
                {
                    new Menu {
                        menuName = "添加角色", menuType = "功能", menuController = "Account", menuAction = "CreateRole", menuOrder = 1000, menuIcon = "", parentId = roleMenuList.ID, isSysMenu = "1"
                    },
                    new Menu {
                        menuName = "修改角色", menuType = "功能", menuController = "Account", menuAction = "EditRole", menuOrder = 1000, menuIcon = "", parentId = roleMenuList.ID, isSysMenu = "1"
                    },
                    new Menu {
                        menuName = "删除角色", menuType = "功能", menuController = "Account", menuAction = "DelRole", menuOrder = 1000, menuIcon = "", parentId = roleMenuList.ID, isSysMenu = "1"
                    },
                    new Menu {
                        menuName = "显示角色列表", menuType = "功能", menuController = "Account", menuAction = "RoleList", menuOrder = 1000, menuIcon = "", parentId = roleMenuList.ID, isSysMenu = "1"
                    },
                    new Menu {
                        menuName = "显示系统组织机构", menuType = "功能", menuController = "Account", menuAction = "orgTree", menuOrder = 1000, menuIcon = "", parentId = roleMenuList.ID, isSysMenu = "1"
                    },
                    new Menu {
                        menuName = "显示系统所有用户", menuType = "功能", menuController = "Account", menuAction = "UserListForRoleManage", menuOrder = 1000, menuIcon = "", parentId = roleMenuList.ID, isSysMenu = "1"
                    },
                    new Menu {
                        menuName = "显示角色拥有的用户", menuType = "功能", menuController = "Account", menuAction = "RoleUserList", menuOrder = 1000, menuIcon = "", parentId = roleMenuList.ID, isSysMenu = "1"
                    },
                    new Menu {
                        menuName = "显示系统的所有功能模块", menuType = "功能", menuController = "Account", menuAction = "menuTree", menuOrder = 1000, menuIcon = "", parentId = roleMenuList.ID, isSysMenu = "1"
                    },
                    new Menu {
                        menuName = "显示角色拥有的功能模块", menuType = "功能", menuController = "Account", menuAction = "MenuToRoleList", menuOrder = 1000, menuIcon = "", parentId = roleMenuList.ID, isSysMenu = "1"
                    },
                    new Menu {
                        menuName = "保存用户到角色", menuType = "功能", menuController = "Account", menuAction = "UsersToRole", menuOrder = 1000, menuIcon = "", parentId = roleMenuList.ID, isSysMenu = "1"
                    },
                    new Menu {
                        menuName = "保存模块到角色", menuType = "功能", menuController = "Account", menuAction = "MenusToRole", menuOrder = 1000, menuIcon = "", parentId = roleMenuList.ID, isSysMenu = "1"
                    }
                };
                Menus.ForEach(s => context.Menus.AddOrUpdate(p => p.menuName, s));
                context.SaveChanges();
            }


            var logMenuList = db.Menus.Where(i => i.menuName == "日志管理").FirstOrDefault();                   //增加组织机构管理系统功能模块

            if (orgMenuList != null)
            {
                var Menus = new List <Menu>
                {
                    new Menu {
                        menuName = "查看日志列表", menuType = "功能", menuController = "Logging", menuAction = "LogList", menuOrder = 1000, menuIcon = "", parentId = logMenuList.ID, isSysMenu = "1"
                    }
                };
                Menus.ForEach(s => context.Menus.AddOrUpdate(p => p.menuName, s));
                context.SaveChanges();
            }
        }
示例#59
0
        private bool HasPhoneNumber()
        {
            var user = UserManager.FindByName(User.Identity.GetUserName());

            return(user?.PhoneNumber != null);
        }
示例#60
0
        public async Task <IHttpActionResult> Register(RegisterBindingModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var user = new ApplicationUser()
            {
                UserName   = model.UserName,
                Email      = model.Email,
                RoleOfUser = model.RoleOfUser,
                Name       = model.Name,
                Surname    = model.Surname,
                Contract   = model.Contract,
                License    = model.License,
                PESEL      = model.PESEL
            };
            //var currentUserId = User.Identity.GetUserId();
            //var manager = new UserManager<MyUser>(new UserStore<MyUser>(new MyDbContext()));

            Regex regex = new Regex(@"\d+");

            // Walidacja
            if (user.UserName == "")
            {
                return(BadRequest("Użytkownik nie ma podanej nazwy!"));
            }

            if (!IsValid(user.Email))
            {
                return(BadRequest("Błąd adresu email! użytkownika!"));
            }

            if (user.RoleOfUser == "" || regex.IsMatch(user.RoleOfUser))
            {
                return(BadRequest("Błąd roli użytkownika!"));
            }

            if (user.Name == "" || regex.IsMatch(user.Name))
            {
                return(BadRequest("Błąd imienia użytkownika!"));
            }

            if (user.Surname == "" || regex.IsMatch(user.Surname))
            {
                return(BadRequest("Błąd nazwiska użytkownika!"));
            }

            if (user.Contract == "")
            {
                return(BadRequest("Użytkownik nie ma podanego numeru kontraktu!"));
            }

            if ((user.RoleOfUser == "Lekarz" || user.RoleOfUser == "Ordynator") && user.License == "")
            {
                return(BadRequest("Użytkownik nie ma podanego numeru licencji!"));
            }

            if (user.PESEL == "" || Regex.IsMatch(user.PESEL, @"^[0-9]{2}\-[0-9]{3}$"))
            {
                return(BadRequest("Użytkownik nie ma podanego numeru PESEL!"));
            }
            // Koniec walidacji


            IdentityResult result = await UserManager.CreateAsync(user, model.Password);

            if (!result.Succeeded)
            {
                return(GetErrorResult(result));
            }
            else
            {
                var currentUser = UserManager.FindByName(user.UserName);
                var role        = model.Role;
                var roleresult  = UserManager.AddToRole(currentUser.Id, role);
            }
            return(Ok());
        }