Summary description for AppUser
コード例 #1
0
 public static void SignIn(ApplicationUserManager manager, AppUser user, bool isPersistent)
 {
     IAuthenticationManager authenticationManager = HttpContext.Current.GetOwinContext().Authentication;
     authenticationManager.SignOut(DefaultAuthenticationTypes.ExternalCookie);
     var identity = manager.CreateIdentity(user, DefaultAuthenticationTypes.ApplicationCookie);
     authenticationManager.SignIn(new AuthenticationProperties() { IsPersistent = isPersistent }, identity);
 }
コード例 #2
0
ファイル: AuthController.cs プロジェクト: jy14898/UserTest
        public async Task<ActionResult> Register(RegisterModel model)
        {
            if (!ModelState.IsValid)
            {
                return View();
            }

            var user = new AppUser
            {
                UserName = model.Email,
                Country = model.Country
            };

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

            if (result.Succeeded)
            {
                await SignIn(user);
                return RedirectToAction("index", "home");
            }

            foreach (var error in result.Errors)
            {
                ModelState.AddModelError("", error);
            }

            return View();
        }
コード例 #3
0
ファイル: AuthController.cs プロジェクト: jy14898/UserTest
 private async Task SignIn(AppUser user)
 {
     var identity = await userManager.CreateIdentityAsync(
         user, DefaultAuthenticationTypes.ApplicationCookie);
    
     Request.GetOwinContext().Authentication.SignIn(identity);
 }
コード例 #4
0
ファイル: Login.aspx.cs プロジェクト: nkasozi/Soma
    protected void LogIn(object sender, EventArgs e)
    {
        try
            {
                AppUser user = new AppUser();
                user.AppUserId = txtUserName.Text.Trim();
                user.AppUserPassword = txtPassword.Text.Trim();

                if (user.UserCredentialsAreValid())
                {
                    Session["AppUser"] = user;
                    Response.Redirect("../Default.aspx");
                }
                else
                {
                    titleLabel.Visible = true;
                    titleLabel.InnerText = user.StatusDescription;
                }
            }
            catch (Exception ex)
            {
                titleLabel.Visible = true;
                titleLabel.InnerText = ex.Message;
            }
    }
コード例 #5
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;
            }
        }
コード例 #6
0
ファイル: Register.aspx.cs プロジェクト: DrLeh/reddit-rss-bot
 protected void btnRegister_Click(object sender, EventArgs e)
 {
     var username = tbUsername.Text;
     var password = tbPassword.Text;
     var passwordConfirm = tbPasswordConfirm.Text;
     if (username == null && password == null && passwordConfirm == null)
     {
         lblMessage.Text = "All fields are required";
     }
     else if (password != passwordConfirm)
     {
         lblMessage.Text = "Password Fields don't match!";
     }
     else
     {
         var ctx = new RedditRSSEntities();
         var appUser = new AppUser();
         appUser.Username = username;
         appUser.Password = password;
         appUser.HashPassword();
         ctx.AppUsers.Add(appUser);
         ctx.SaveChanges();
         Session[AppConstants.SessionKeys.LOGGED_IN_USER_ID] = appUser.ID;
         Session[AppConstants.SessionKeys.LOGGED_IN_USER_NAME] = appUser.Username;
         Response.Redirect("~/");
     }
 }
コード例 #7
0
        public async Task<ActionResult> Create(RegisterViewModel userViewModel, params string[] selectedRoles)
        {
            if (ModelState.IsValid)
            {
                var user = new AppUser { UserName = userViewModel.Email, Email = userViewModel.Email };
                var adminresult = await _userManager.CreateAsync(user, userViewModel.Password);

                //Add User to the selected Roles 
                if (adminresult.Succeeded)
                {
                    if (selectedRoles != null)
                    {
                        var result = await _userManager.AddUserToRolesAsync(user.Id, selectedRoles);
                        if (!result.Succeeded)
                        {
                            ModelState.AddModelError("", result.Errors.First());
                            ViewBag.RoleId = new SelectList(await _roleManager.GetRolesAsync(), "Name", "Name");
                            return View();
                        }
                    }
                }
                else
                {
                    ModelState.AddModelError("", adminresult.Errors.First());
                    ViewBag.RoleId = new SelectList(_roleManager.GetRoles(), "Name", "Name");
                    return View();

                }
                return RedirectToAction("Index");
            }
            ViewBag.RoleId = new SelectList(_roleManager.GetRoles(), "Name", "Name");
            return View();
        }
コード例 #8
0
ファイル: ProfileData.cs プロジェクト: thomas-parrish/INAB
 public ProfileData(AppUser user)
 {
     Name = user.Name;
     Username = user.UserName;
     Email = user.Email;
     Id = user.Id;
 }
コード例 #9
0
 public void MarkAllInvitesAsSeen(AppUser user)
 {
     var invites = context.Invites.Where(t => t.AppUserId == user.Id && !t.Seen).ToList();
     foreach (var invite in invites)
     {
         invite.Seen = true;
     }
 }
コード例 #10
0
 public List<Event> GetAllInvitedEvents(AppUser user)
 {
     var query = from e in context.Events
                 join i in context.Invites on e.Id equals i.EventId
                 where i.AppUserId == user.Id
                 select e;
     return query.ToList();
 }
コード例 #11
0
 public void TransferEventOwnership(AppUser previousOwner, AppUser newOwner)
 {
     List<Event> events = context.Events.Where(t => t.OwnerId == previousOwner.Id).ToList();
     foreach (var e in events)
     {
         e.AppUser = newOwner;
         e.ModificationState = ModificationState.Modified;
     }
 }
コード例 #12
0
ファイル: UserController.cs プロジェクト: jojozhuang/Projects
 public async Task<ActionResult> Edit(AppUser edituser, string password)
 {
     if (ModelState.IsValid)
     {
         AppUser user = await UserManager.FindByIdAsync(edituser.Id);
         if (user == null)
         {
             TempData["message"] = MessageHelper.BuildMessage(EnumSevereLevel.Error, "User Not Found!");
         }
         else
         {
             MessageHelper.ClearMessage();
             user.UserName = edituser.UserName;
             user.Email = edituser.Email;
             IdentityResult validEmail
                 = await UserManager.UserValidator.ValidateAsync(user);
             if (!validEmail.Succeeded)
             {
                 MessageHelper.AppendMessage(validEmail);
             }
             IdentityResult validPass = null;
             if (password != string.Empty)
             {
                 validPass = await UserManager.PasswordValidator.ValidateAsync(password);
                 if (validPass.Succeeded)
                 {
                     user.PasswordHash = UserManager.PasswordHasher.HashPassword(password);
                 }
                 else
                 {
                     MessageHelper.AppendMessage(validEmail);
                 }
             }
             if ((validEmail.Succeeded && validPass == null) || (validEmail.Succeeded
                     && password != string.Empty && validPass.Succeeded))
             {
                 IdentityResult result = await UserManager.UpdateAsync(user);
                 if (result.Succeeded)
                 {
                     TempData["message"] = MessageHelper.BuildMessage(EnumSevereLevel.Success, string.Format("{0} has been saved!", user.UserName));
                     return RedirectToAction("List");
                 }
                 else
                 {
                     MessageHelper.AppendMessage(result);
                 }
             }
             TempData["message"] = MessageHelper.GetMessage(EnumSevereLevel.Error);
         }                
         return View(User);
     }
     else
     {
         TempData["message"] = MessageHelper.BuildMessage(EnumSevereLevel.Error, "There is something wrong with the data values, please check!");
         return View(User);
     }
 }        
コード例 #13
0
        protected void CreateUser_Click(object sender, EventArgs e)
        {
            var manager = Context.GetOwinContext().GetUserManager<ApplicationUserManager>();
            var user = new AppUser()
            {
                UserName = Email.Text,
                Email = Email.Text,
                FirstName = FirstName.Text,
                LastName = LastName.Text,
                CountryID = int.Parse(Countries.SelectedValue)
            };

            string filePathAndName = string.Empty;

            try
            {
                filePathAndName = FileUploadControl.Upload();
            }
            catch (InvalidOperationException ex)
            {
                this.DivLabelErrorMessage.Visible = true;
                this.LabelErrorMessage.Text = ex.Message;

                return;
            }

            if (string.IsNullOrEmpty(filePathAndName))
            {
                user.ImageID = this.data.Images.All().FirstOrDefault().ID;
            }
            else
            {
                var image = new Image { Path = filePathAndName };
                this.data.Images.Add(image);
                user.Image = image;
            }
            
            try
            {
                IdentityResult result = manager.Create(user, Password.Text);
                if (result.Succeeded)
                {
                    manager.AddToRole(user.Id, "user");
                    IdentityHelper.SignIn(manager, user, isPersistent: false);
                    IdentityHelper.RedirectToReturnUrl(Request.QueryString["ReturnUrl"], Response);
                }
                else
                {
                    ErrorMessage.Text = result.Errors.FirstOrDefault();
                }
            }
            catch (System.Data.Entity.Validation.DbEntityValidationException error)
            {
                ErrorMessage.Text = error.EntityValidationErrors.FirstOrDefault().ValidationErrors.FirstOrDefault().ErrorMessage;
            }
        }
コード例 #14
0
 private async Task CreateUsers()
 {
     var user = await _userManager.FindByEmailAsync("admin");
     if (user == null)
     {
         user = new AppUser { UserName = "******", Email = "*****@*****.**" };
         await _userManager.CreateAsync(user, "cacatoi"); 
         await _userManager.AddClaimAsync(user.Id, new Claim("ManageStore", "Allowed"));
     }
 }
コード例 #15
0
    private void CheckAuthoorization()
    {
        string appID = "1507872592862305";
        string appSecret = "58410d62e51df6a7ab83c0141deb9bbc";
        string scope = "public_profile,user_likes,user_friends";

        if (Request["code"] == null)
        {

            //send request for user to login into Facebook and authorize the app
            string url = string.Format("https://graph.facebook.com/oauth/authorize?client_id={0}&redirect_uri={1}&scope={2}",
                                        appID, Request.Url.AbsoluteUri, scope);
            Response.Redirect(url);
        }
        else
        {
            //send request to get access token from Facebook
            Dictionary<string, string> tokens = new Dictionary<string, string>();
            string url = string.Format("https://graph.facebook.com/oauth/access_token?client_id={0}&redirect_uri={1}&scope={2}&code={3}&client_secret={4}",
                                        appID, Request.Url.AbsoluteUri, scope, Request["code"].ToString(), appSecret);
            HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;

            using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
            {
                StreamReader reader = new StreamReader(response.GetResponseStream());
                string vals = reader.ReadToEnd();
                foreach (string token in vals.Split('&'))
                {
                    tokens.Add(token.Substring(0, token.IndexOf('=')), token.Substring(token.IndexOf("=") + 1, token.Length - token.IndexOf("=") - 1));

                }

                //get access token
                string accessToken = tokens["access_token"];
                var me = new FacebookClient(accessToken);

                //get user details
                FacebookClient client = new FacebookClient(accessToken);
                dynamic result = client.Get("me", new { fields = "name,id,email" });

                //get User Details
                AppUser appUser = new AppUser();
                appUser.Name = result.name;
                appUser.Email = result.email;
                appUser.AppUserId = result.id;

                //save details in session
                Session["AppUser"] = appUser;

                //send to start page
                Response.Redirect("../Default.aspx");

            }
        }
    }
コード例 #16
0
        public void RemoveAccount(AppUser user)
        {
            // Delete all invites for this user.
            var invites = context.Invites.Where(i => i.AppUserId == user.Id).ToList();
            foreach (var invite in invites)
            {
                context.Invites.Remove(invite);
            }

            UserManager.Delete(user);
        }
コード例 #17
0
ファイル: DatabaseHandler.cs プロジェクト: nkasozi/Soma
 internal string SaveAppUser(AppUser appUser)
 {
     try
     {
         db_command = SYSTEM_DB.GetStoredProcCommand("SaveAppUser",appUser.AppUserId,appUser.AppUserPassword,appUser.Name,"");
         DataTable dt = SYSTEM_DB.ExecuteDataSet(db_command).Tables[0];
         return dt.Rows[0][0].ToString();
     }
     catch (Exception e)
     {
         throw ;
     }
 }
コード例 #18
0
        public async Task<ActionResult> Create(CreateModel model) {
            if (ModelState.IsValid) {
                AppUser user = new AppUser {UserName = model.Name, Email = model.Email};
                IdentityResult result = await UserManager.CreateAsync(user, model.Password);

                if (result.Succeeded) {
                    return RedirectToAction("Index");
                } else {
                    AddErrorsFromResult(result);
                }
            }
            return View(model);
        }
コード例 #19
0
 public AppUserResponseModel Create(AppUser appUser)
 {
     return new AppUserResponseModel
     {
         Url = _urlHelper.Link("GetUserById", new { id = appUser.Id }),
         Id = appUser.Id,
         Domain = appUser.Domain,
         UserName = appUser.UserName,
         DisplayName = appUser.DisplayName,
         Roles = _appUserManager.GetRolesAsync(appUser.Id).Result,
         Claims = _appUserManager.GetClaimsAsync(appUser.Id).Result
     };
 }
コード例 #20
0
 protected void btnComment_Click(object sender, EventArgs e)
 {
     AppUser usr = new AppUser();
     if (Session["AppUser"] != null)
     {
         usr = (AppUser)Session["AppUser"];
         string commentText = tbAreaComment.Text;
         string success = SQLUserCommands.comment(usr.korid, "komZaHardver", "hardid", Request.QueryString["product"].ToString(), commentText);
         fillCommentsForProduct(Request.QueryString["product"].ToString());
         tbAreaComment.Text = "";
         tbAreaComment.Attributes.Add("placeholder", "Оставете коментар за производот");
     }
 }
コード例 #21
0
        //public CR.DataContext.CrdbContext dbContext;

        //public _ControllerBase()
        //{
        //    this.dbContext = new DataContext.CrdbContext(); 
        //}

        protected override void Initialize(System.Web.Routing.RequestContext requestContext)
        {
            base.Initialize(requestContext);

            this.CurrentUser = new AppUser();
            var claimsPrincipal = this.User as ClaimsPrincipal;
            
            if (claimsPrincipal != null)
            {
                var appUserJson = GetClaim(claimsPrincipal.Claims, AppUser.CLAIM_TYPE);
                if (string.IsNullOrEmpty(appUserJson) == false)
                    this.CurrentUser = new AppUser(appUserJson);
            }
        }
コード例 #22
0
 public void TransferInviteOwnership(AppUser previousUser, AppUser newUser)
 {
     var invites = context.Invites.Include(t => t.Event).Where(t => t.AppUserId == previousUser.Id).ToList();
     foreach (var invite in invites)
     {
         if (invite.Event.OwnerId != newUser.Id)
         {
             if (!IsInvited(invite.Event, newUser))
             {
                 context.Invites.Add(new Invite { AppUserId = newUser.Id, EventId = invite.EventId, Status = invite.Status, Seen = invite.Seen, ModificationState = invite.ModificationState });
                 context.Invites.Remove(invite);
             }
         }
     }
 }
コード例 #23
0
ファイル: UserController.cs プロジェクト: jojozhuang/Projects
 public async Task<ActionResult> Create(AppUser user, string password)
 {
     AppUser newuser = new AppUser { UserName = user.UserName, Email = user.Email };
     IdentityResult result = await UserManager.CreateAsync(newuser, password);
     if (result.Succeeded)
     {
         TempData["message"] = MessageHelper.BuildMessage(EnumSevereLevel.Success, string.Format("{0} has been created!", newuser.UserName));
         return RedirectToAction("List");
     }
     else
     {
         TempData["message"] = MessageHelper.BuildMessage(EnumSevereLevel.Error, result);
         return View(newuser);
     }
 }
コード例 #24
0
        protected void BtnRegister_Click(object sender, EventArgs e)
        {
            var useStore = new UserStore<AppUser>(new ApplicationDbContext());
            var manager = new UserManager<AppUser>(useStore);

               // var user = new ApplicationUser() { UserName = model.UserName.Trim(), FirstName = model.FName, LastName = model.LName };

            //var user = new IdentityUser { UserName = TextBox1.Text };
            var user = new AppUser { UserName = TextBox1.Text,FName="rabab",LName="shams" };
            IdentityResult result = manager.Create(user, TextBox2.Text);
            if (result.Succeeded)
                Label1.Text = string.Format("user {0} creted successfully", user.Id);
            else
                Label1.Text = result.Errors.FirstOrDefault();
        }
コード例 #25
0
ファイル: AppUser.cs プロジェクト: nkasozi/Soma
 public List<AppUser> GetAll()
 {
     List<AppUser> allUsers = new List<AppUser>();
     DatabaseHandler dh = new DatabaseHandler();
     DataTable dt = dh.GetAllAppUsers();
     foreach (DataRow dr in dt.Rows)
     {
         AppUser user = new AppUser();
         user.AppUserId = dr["AppUserID"].ToString();
         user.AppUserPassword = dr["Password"].ToString();
         user.Email = "";
         user.Name = dr["Name"].ToString();
         allUsers.Add(user);
     }
     return allUsers;
 }
コード例 #26
0
        public static void ClassInitialize(TestContext testContext)
        {
            // Since users are not cleaned up by transactions, we create the users we need for the test once.
            using (var context = new EventContext())
            {
                var userManager = new UserManager<AppUser>(new UserStore<AppUser>(context));
                AppUser user1 = new AppUser() { UserName = "******" };
                userManager.Create(user1, "TestPassword");

                AppUser user2 = new AppUser() { UserName = "******" };
                userManager.Create(user2, "TestPassword");

                AppUser user3 = new AppUser() { UserName = "******" };
                userManager.Create(user3, "TestPassword");
            }
        }
コード例 #27
0
        public void Save()
        {
            IAppUserRepository iUserRepository = new AppUserRepository(this.client, this.database);

            AppUser user = new AppUser
                (
                    this.Application.Id,
                    this.Device.Id,
                    18,
                    AppActs.DomainModel.Enum.SexType.Male,
                    Guid.NewGuid(),
                    DateTime.Now
                );

            iUserRepository.Save(user);
        }
コード例 #28
0
 public async Task<ActionResult> Register(RegisterViewModel model)
 {
     if (ModelState.IsValid)
     {
         var user = new AppUser() { UserName = model.UserName };
         var result = await UserManager.CreateAsync(user, model.Password);
         if (result.Succeeded)
         {
             await SignInAsync(user, isPersistent: false);
             return RedirectToAction("Index", "Home");
         }
         else
         {
             AddErrors(result);
         }
     }
     return View(model);
 }
コード例 #29
0
        // Enable initialization with an instance of ApplicationUser:
        public UserRoleViewModel(AppUser user, string controllername, IQueryable<AppRole> approles)
            : this()
        {
            this.SelectedUserId = user.Id;
            this.ControllerName = controllername;
            foreach (var role in approles)
            {
                // An EditorViewModel will be used by Editor Template:
                var srevm = new SelectRoleEditorViewModel(role);
                this.Roles.Add(srevm);
            }

            foreach (var assignedRole in user.Roles)
            {
                var checkAssignedRole =
                    this.Roles.Find(r => r.ID == assignedRole.RoleId);
                checkAssignedRole.Selected = true;
            }
        }
コード例 #30
0
        public async Task<ActionResult> Register(HellViewModel model, string returnUrl)
        {
            if (ModelState.IsValid)
            {
                var user = new AppUser() { UserName = model.RegisterUserViewModel.UserName };
                var result = await eventUoW.Users.UserManager.CreateAsync(user, model.RegisterUserViewModel.Password);
                if (result.Succeeded)
                {
                    await SignInAsync(user, isPersistent: false);
                    return RedirectToLocal(returnUrl);
                }
                else
                {
                    AddErrors(result);
                }
            }

            ViewBag.ReturnUrl = returnUrl;
            return View(model);
        }
コード例 #31
0
        public async Task <Result> AddRoleToUserAsync(AppUser user, string role)
        {
            var result = await _userManager.AddToRoleAsync(user, role);

            return(result.ToApplicationResult());
        }
コード例 #32
0
 private async Task <IEnumerable <Claim> > ExternalLogin(AppUser user)
 {
     return(await _userManager.GetClaimsAsync(user));
 }
コード例 #33
0
        public async Task <ActionResult> DisplayReportC(SortByC Sort)
        {
            List <AppUser> users = await GetAllCustomer();

            List <AppUser> userwOrders = new List <AppUser>();

            foreach (AppUser ui in users)
            {
                AppUser a = _db.Users.Include(u => u.Orders).ThenInclude(u => u.OrderDets).ThenInclude(u => u.Book).FirstOrDefault(u => u.UserName == ui.UserName);

                if (a.Orders.Count() != 0)
                {
                    userwOrders.Add(a);
                }
            }

            var query = from u in userwOrders
                        select u;
            List <AppUser> users1 = query.ToList();

            switch (Sort)
            {
            case SortByC.PMasc:
                return(View("ReportCResults", users1.OrderBy(o => o.ProfitMargin)));

            case SortByC.PMdesc:
                return(View("ReportCResults", users1.OrderByDescending(o => o.ProfitMargin)));

            case SortByC.RevAsc:
                return(View("ReportCResults", users1.OrderBy(o => o.TotalRev)));

            case SortByC.RevDesc:
                return(View("ReportCResults", users1.OrderByDescending(o => o.TotalRev)));
            }

            return(View("ReportCResults", users1));


            //if (PMOrder == Orderofresults.Ascending)
            //{
            //    query = query.OrderBy(o => o.ProfitMargin);
            //}
            //else
            //{
            //    query = query.OrderByDescending(o => o.ProfitMargin);
            //}

            //if (PriceOrder == Orderofresults.Ascending)
            //{
            //    query = query.OrderBy(o => o.TotalRev);
            //}
            //else
            //{
            //    query = query.OrderByDescending(o => o.TotalRev);
            //}

            //List<AppUser> users1 = query.ToList();
            //List<AppUser> newList = new List<AppUser>();

            //return View("ReportCResults", users1);
        }
コード例 #34
0
        public async Task <Result> RemoveRoleFromUserAsync(AppUser user, string role)
        {
            var result = await _userManager.RemoveFromRoleAsync(user, role);

            return(result.ToApplicationResult());
        }
コード例 #35
0
        public async Task <IActionResult> NewGroupStep3(NewGroupStep3ViewModel model)
        {
            ViewData["Id"] = model.UserId;

            AppUser user = await userManager.FindByIdAsync(model.UserId);

            if (user != null)
            {
                //group
                Group group = repository.Groups
                              .FirstOrDefault(g => g.GroupId == model.GroupId);

                if (model.CoursesIdString != null)
                {
                    //list of users id
                    string courseIdList = model.CoursesIdString.Trim();
                    while (courseIdList.Trim().Length > 0)
                    {
                        int index = courseIdList.IndexOf(";");
                        if (index != -1)
                        {
                            string newCourseId = courseIdList.Substring(0, index);

                            int newCourseIdInt = Int32.Parse(newCourseId.Trim());

                            repository.AddCourseToGroup(newCourseIdInt, group.GroupId);

                            courseIdList = courseIdList.Replace(newCourseId + ";", "");
                        }
                    }
                }

                //send msg
                if (group.GroupChatId != 0)
                {
                    GroupChat groupChat = repository.GroupChats
                                          .FirstOrDefault(g => g.ChatId == group.GroupChatId);

                    string userName = (user.FirstName == null && user.LastName == null) ?
                                      user.UserName : user.FirstName + user.LastName;
                    string           content = $"{userName} created a group chat";
                    GroupChatMessage newMsg  = new GroupChatMessage
                    {
                        GroupChatId    = group.GroupChatId,
                        UserId         = user.Id,
                        MessageContent = content,
                        MessageType    = "SystemMsg"
                    };

                    repository.NewGroupChatMessage(newMsg, groupChat);
                }

                //new notification
                if (group.Status == "Public")
                {
                    repository.NewNotification(user.Id, "AddUserToGroup", "Group", group.GroupId);
                }

                return(RedirectToAction("GroupDetails", new
                {
                    id = group.CreatedBy.Id,
                    groupId = group.GroupId
                }));
            }

            return(RedirectToAction("Error", "UserNotFound"));
        }
コード例 #36
0
        public static void Initialize(DataContext context)
        {
            if (context.UserTypes.Any())
            {
                return;
            }

            var userTypes = new UserType[]
            {
                new UserType {
                    Name = "Admin"
                },
                new UserType {
                    Name = "Tutor"
                },
                new UserType {
                    Name = "Learner"
                },
                new UserType {
                    Name = "Other"
                }
            };

            foreach (var userType in userTypes)
            {
                context.UserTypes.Add(userType);
            }

            context.SaveChanges();

            var orgs = new Organisation[]
            {
                new Organisation {
                    Name = "WEST"
                },
                new Organisation {
                    Name = "Tribal"
                },
                new Organisation {
                    Name = "Others"
                }
            };

            foreach (var org in orgs)
            {
                context.Organisations.Add(org);
            }
            context.SaveChanges();

            using var hmac = new HMACSHA512(); //will provide hashing algorithm
            var users = new AppUser[]
            {
                new AppUser
                {
                    Username       = "******",
                    Firstname      = "Admin0 FN",
                    Lastname       = "Admin0 LN",
                    OrganisationId = 1,
                    Birthdate      = DateTime.Parse("1990-01-01"),
                    PasswordHash   = hmac.ComputeHash(Encoding.UTF8.GetBytes("password")),
                    PasswordSalt   = hmac.Key,
                    TypeId         = 1
                },
                new AppUser
                {
                    Username       = "******",
                    Firstname      = "Tutor0 FN",
                    Lastname       = "Tutor0 LN",
                    OrganisationId = 2,
                    Birthdate      = DateTime.Parse("1991-01-01"),
                    PasswordHash   = hmac.ComputeHash(Encoding.UTF8.GetBytes("password")),
                    PasswordSalt   = hmac.Key,
                    TypeId         = 2
                },
                new AppUser
                {
                    Username       = "******",
                    Firstname      = "Learner0 FN",
                    Lastname       = "Learner0 LN",
                    OrganisationId = 2,
                    Birthdate      = DateTime.Parse("2005-01-01"),
                    PasswordHash   = hmac.ComputeHash(Encoding.UTF8.GetBytes("password")),
                    PasswordSalt   = hmac.Key,
                    TypeId         = 3
                }
            };

            foreach (var user in users)
            {
                context.Users.Add(user);
            }
            context.SaveChanges();

            var learnerUsers = users.Where(u => u.TypeId == 3);
            var learners     = new List <Learner>();

            foreach (var learnerUser in learnerUsers)
            {
                var learner = new Learner {
                    UserId = learnerUser.Id
                };
                learners.Add(learner);
                context.Learners.Add(learner);
            }
            context.SaveChanges();

            var courses = new Course[] {
                new Course {
                    Name = "Application of Number 2015", IconPath = "./assets/esm.png"
                },
                new Course {
                    Name = "Communication (English) 2015", IconPath = "./assets/esl.png"
                },
                new Course {
                    Name = "Communication (Welsh) 2015", IconPath = "./assets/esw.png"
                },
                new Course {
                    Name = "Digital Literacy", IconPath = "./assets/esd.png"
                },
                new Course {
                    Name = "ESOL", IconPath = "./assets/esol.png"
                }
            };

            foreach (var course in courses)
            {
                context.Courses.Add(course);
            }
            context.SaveChanges();

            var groups = new Group[] {
                new Group {
                    Name = "default"
                }
            };

            foreach (var group in groups)
            {
                context.Groups.Add(group);
            }
            context.SaveChanges();

            var learnerGroups = new LearnerGroup[]
            {
                new LearnerGroup {
                    LearnerId = learners.Single(l => l.User.Username == "learner0").LearnerId,
                    GroupId   = groups.Single(g => g.Name == "default").Id
                }
            };

            foreach (var learnerGroup in learnerGroups)
            {
                context.LearnerGroup.Add(learnerGroup);
            }
            context.SaveChanges();

            var learnerCourses = new LearnerCourse[] {
                new LearnerCourse {
                    LearnerId = learners.Single(l => l.User.Username == "learner0").LearnerId,
                    CourseId  = courses.Single(c => c.Name == "Application of Number 2015").Id
                },
                new LearnerCourse {
                    LearnerId = learners.Single(l => l.User.Username == "learner0").LearnerId,
                    CourseId  = courses.Single(c => c.Name == "ESOL").Id
                }
            };

            foreach (var learnerCourse in learnerCourses)
            {
                context.LearnerCourses.Add(learnerCourse);
            }
            context.SaveChanges();
        }
コード例 #37
0
        public IActionResult GroupDetails(string id, int groupId)
        {
            ViewData["Id"] = id;

            Group group = repository.Groups
                          .FirstOrDefault(g => g.GroupId == groupId);

            if (group != null)
            {
                //NoPermission
                if (repository.GroupUsers.Any(g => g.GroupId == groupId && g.AppUserId == id) == false)
                {
                    return(RedirectToAction("GroupNoPermission", new { id, groupId }));
                }

                //users
                List <AppUser> users = new List <AppUser>();
                foreach (GroupUsers groupUser in repository.GroupUsers
                         .Where(g => g.GroupId == groupId))
                {
                    AppUser user = userManager.Users
                                   .FirstOrDefault(u => u.Id == groupUser.AppUserId);
                    users.Add(user);
                }

                //courses
                List <GroupCourseDetails> courses = new List <GroupCourseDetails>();
                foreach (GroupCourses groupCourse in repository.GroupCourses
                         .Where(g => g.GroupId == groupId))
                {
                    Course course = repository.Courses
                                    .FirstOrDefault(c => c.CourseId == groupCourse.CourseId);

                    //users on course
                    List <AppUser> courseUsers = new List <AppUser>();
                    foreach (CourseUsers cUser in repository.CourseUsers
                             .Where(c => c.CourseId == course.CourseId))
                    {
                        AppUser user = userManager.Users
                                       .FirstOrDefault(u => u.Id == cUser.AppUserId);
                        courseUsers.Add(user);
                    }

                    GroupCourseDetails courseDetails = new GroupCourseDetails
                    {
                        Course      = course,
                        CourseUsers = courseUsers.AsQueryable(),
                        Video       = repository.Videos
                                      .FirstOrDefault(v => v.Id == course.VideoId)
                    };
                    courses.Add(courseDetails);
                }

                return(View(new GroupDetailsViewModel
                {
                    Group = group,
                    Users = users.AsQueryable(),
                    Courses = courses.AsQueryable()
                }));
            }
            else
            {
                return(RedirectToAction("GroupNoPermission", new { id, groupId }));
            }
        }
コード例 #38
0
 public void Update(AppUser user)
 {
     _context.Entry(user).State = EntityState.Modified;
 }
コード例 #39
0
        public async Task <IActionResult> LogIn(LoginViewModel userLogIn)
        {
            if (ModelState.IsValid)
            {
                AppUser user = await userManager.FindByEmailAsync(userLogIn.Email);

                if (user != null)
                {
                    if (await userManager.IsLockedOutAsync(user))
                    {
                        ModelState.AddModelError("", "Hesabınız bir süreliğine kilitlenmiştir. Lütfen daha sonra tekrar deneyiniz.");
                        return(View(userLogIn));
                    }


                    await signInManager.SignOutAsync();

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

                    if (result.Succeeded)
                    {
                        await userManager.ResetAccessFailedCountAsync(user);

                        if (TempData["ReturnUrl"] != null)
                        {
                            return(Redirect(TempData["ReturnUrl"].ToString()));
                        }

                        return(RedirectToAction("Index", "Member"));
                    }

                    else
                    {
                        await userManager.AccessFailedAsync(user);

                        int fail = await userManager.GetAccessFailedCountAsync(user);

                        ModelState.AddModelError("", $"{fail} kez başarısız giriş yaptınız");



                        if (fail == 3)

                        {
                            await userManager.SetLockoutEndDateAsync(user, new DateTimeOffset(DateTime.Now.AddMinutes(20)));

                            ModelState.AddModelError("", "Hesabınız 3 başarısız girişten dolayı 20 dakika süreyle kitlenmiştir. " +
                                                     "Lütfen daha sonra tekrar deneyiniz");
                        }

                        else
                        {
                            ModelState.AddModelError("", "Geçersiz email adresi veya şifre");
                        }
                    }
                }
                else
                {
                    ModelState.AddModelError("", "Bu email adresine kayıtlı kullanıcı bulunamamıştır.");
                }
            }

            return(View(userLogIn));
        }
コード例 #40
0
        public async Task <ActionResult <UserDto> > FacebookLogin(string accessToken)
        {
            var fbVerifyKeys = _config["Facebook:AppId"] + "|" + _config["Facebook:AppSecret"];

            var verifyToken = await _httpClient
                              .GetAsync($"debug_token?input_token={accessToken}&access_token={fbVerifyKeys}");

            if (!verifyToken.IsSuccessStatusCode)
            {
                return(Unauthorized());
            }

            var fbUrl = $"me?access_token={accessToken}&fields=name,email,picture.width(100).height(100)";

            var response = await _httpClient.GetAsync(fbUrl);

            if (!response.IsSuccessStatusCode)
            {
                return(Unauthorized());
            }

            var fbInfo = JsonConvert.DeserializeObject <dynamic>(await response.Content.ReadAsStringAsync());

            var username = (string)fbInfo.id;

            var user = await _userManager.Users.Include(p => p.Photos)
                       .FirstOrDefaultAsync(x => x.UserName == username);

            if (user != null)
            {
                return(CreateUserObject(user));
            }

            user = new AppUser
            {
                DisplayName = (string)fbInfo.name,
                Email       = (string)fbInfo.email,
                UserName    = (string)fbInfo.id,
                Photos      = new List <Photo>
                {
                    new Photo
                    {
                        Id     = "fb_" + (string)fbInfo.id,
                        Url    = (string)fbInfo.picture.data.url,
                        IsMain = true
                    }
                }
            };

            user.EmailConfirmed = true;

            var result = await _userManager.CreateAsync(user);

            if (!result.Succeeded)
            {
                return(BadRequest("Problem creating user account"));
            }

            await SetRefreshToken(user);

            return(CreateUserObject(user));
        }
コード例 #41
0
ファイル: ExternalLogin.cshtml.cs プロジェクト: singhuh/test3
        public async Task <IActionResult> OnPostConfirmationAsync(string returnUrl = null)
        {
            returnUrl = returnUrl ?? Url.Content("~/");
            // Get the information about the user from the external login provider
            var info = await _signInManager.GetExternalLoginInfoAsync();

            if (info == null)
            {
                ErrorMessage = "Error loading external login information during confirmation.";
                return(RedirectToPage("./Login", new { ReturnUrl = returnUrl }));
            }

            if (ModelState.IsValid)
            {
                var user = new AppUser {
                    UserName = Input.Email, Email = Input.Email
                };

                var result = await _userManager.CreateAsync(user);

                if (result.Succeeded)
                {
                    result = await _userManager.AddLoginAsync(user, info);

                    if (result.Succeeded)
                    {
                        _logger.LogInformation("User created an account using {Name} provider.", info.LoginProvider);

                        var userId = await _userManager.GetUserIdAsync(user);

                        var code = await _userManager.GenerateEmailConfirmationTokenAsync(user);

                        code = WebEncoders.Base64UrlEncode(Encoding.UTF8.GetBytes(code));
                        var callbackUrl = Url.Page(
                            "/Account/ConfirmEmail",
                            pageHandler: null,
                            values: new { area = "Identity", userId = userId, code = code },
                            protocol: Request.Scheme);

                        await _emailSender.SendEmailAsync(Input.Email, "Confirm your email",
                                                          $"Please confirm your account by <a href='{HtmlEncoder.Default.Encode(callbackUrl)}'>clicking here</a>.");

                        // If account confirmation is required, we need to show the link if we don't have a real email sender
                        if (_userManager.Options.SignIn.RequireConfirmedAccount)
                        {
                            return(RedirectToPage("./RegisterConfirmation", new { Email = Input.Email }));
                        }

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

                        return(LocalRedirect(returnUrl));
                    }
                }
                foreach (var error in result.Errors)
                {
                    ModelState.AddModelError(string.Empty, error.Description);
                }
            }

            ProviderDisplayName = info.ProviderDisplayName;
            ReturnUrl           = returnUrl;
            return(Page());
        }
コード例 #42
0
 protected void btnReturn_Click(object sender, EventArgs e)
 {
     try
     {
         AppUser usr = null;
         if (Session["user"] != null)
         {
             usr = (AppUser)Session["user"];
         }
         else
         {
             Response.Redirect("../Login.aspx", false);
             return;
         }
         if (string.IsNullOrEmpty(txtcomment.Text))
         {
             modalErr.Visible   = true;
             modalErr.InnerText = "Comment is required!!!";
             mpeAppr.Show();
             return;
         }
         bool isset = false; AppUser budgetInputer = new AppUser();
         foreach (GridViewRow row in gvDept.Rows)
         {
             if (((CheckBox)row.FindControl("chkRow")).Checked)
             {
                 Label lbID  = row.FindControl("lbRecID") as Label;
                 int   recID = int.Parse(lbID.Text);
                 RestructureProjection expPro = CommonBLL.GetRestructure(recID);
                 if (expPro != null && expPro.Status == (int)Utility.BudgetItemStatus.Approved)
                 {
                     expPro.Status = (int)Utility.BudgetItemStatus.Returned_For_Correction;
                     CommonBLL.UpdateRestructure(expPro);
                     budgetInputer = UserBLL.GetUserByUserName(expPro.AddedBy);
                     isset         = true;
                 }
             }
         }
         if (isset)
         {
             BindGrid();
             //sending mail
             string body     = "";
             string from     = ConfigurationManager.AppSettings["exUser"].ToString();
             string siteUrl  = ConfigurationManager.AppSettings["siteUrl"].ToString();
             string appLogo  = ConfigurationManager.AppSettings["appLogoUrl"].ToString();
             string hodEmail = UserBLL.GetApproverEmailByDept(budgetInputer.DepartmentID.Value);
             string subject  = "Budget Item Correction Notification";
             string FilePath = Server.MapPath("EmailTemplates/");
             if (File.Exists(FilePath + "ReturnBudget.htm"))
             {
                 FileStream   f1 = new FileStream(FilePath + "ReturnBudget.htm", FileMode.Open);
                 StreamReader sr = new StreamReader(f1);
                 body = sr.ReadToEnd();
                 body = body.Replace("@add_appLogo", appLogo);
                 body = body.Replace("@siteUrl", siteUrl);
                 body = body.Replace("@BudgetElement", "Restructure Projection");
                 body = body.Replace("@add_Comment", txtcomment.Text); //Replace the values from DB or any other source to personalize each mail.
                 f1.Close();
             }
             string rst = "";
             try
             {
                 rst = Utility.SendMail(budgetInputer.Email, from, hodEmail, subject, body);
             }
             catch { }
             if (rst.Contains("Successful"))
             {
                 success.Visible   = true;
                 success.InnerHtml = "<button type='button' class='close' data-dismiss='alert'>&times;</button>Selected Record(s) has been successfully Returned for correction.Notification has been sent to Initiator";
                 return;
             }
             else
             {
                 success.Visible   = true;
                 success.InnerHtml = "<button type='button' class='close' data-dismiss='alert'>&times;</button>Selected Record(s) has been successfully Returned for correction.Notification could NOT be sent at this time";
                 return;
             }
         }
         else
         {
             BindGrid();
             error.Visible   = true;
             error.InnerHtml = " <button type='button' class='close' data-dismiss='alert'>&times;</button> An error occured. Either no record is selected OR some of selected record(s) could not be approved.If error persist contact Administrator!!.";
         }
     }
     catch (Exception ex)
     {
         error.Visible   = true;
         error.InnerHtml = " <button type='button' class='close' data-dismiss='alert'>&times;</button> An error occured. Kindly try again. If error persist contact Administrator!!.";
         Utility.WriteError("Error: " + ex.Message);
     }
 }
コード例 #43
0
        protected void btnSubmit_Click(object sender, EventArgs e)
        {
            RestructureProjection recPro = null;

            try
            {
                usr = (AppUser)Session["user"]; budYr = (BudgetYear)Session["budgetYr"];
                if (hid.Value == "Update")
                {
                    bool rst = false; decimal tot = 0; int month = int.Parse(ddlMonth.SelectedValue);

                    recPro = CommonBLL.GetRestructure(Convert.ToInt32(txtID.Text));
                    if (recPro != null)
                    {
                        if (!decimal.TryParse(txtTot.Text, out tot))
                        {
                            error.Visible   = true;
                            error.InnerHtml = " <button type='button' class='close' data-dismiss='alert'>&times;</button>Amount must be numeric!!.";
                            return;
                        }
                        recPro.Amount      = tot;
                        recPro.ObligorName = lbName.Text;
                        recPro.AgreementNo = txtobligor.Text;
                        // recPro.ObligorID = int.Parse(ddlObligor.SelectedValue);
                        recPro.DepartmentId = usr.DepartmentID;
                        recPro.Status       = (int)Utility.BudgetItemStatus.Pending_Approval;
                        recPro.Month        = month;
                        recPro.BudgetYrID   = budYr.ID;
                        //recPro.LoanType = ddlLoanType.SelectedValue;
                        rst = CommonBLL.UpdateRestructure(recPro);
                        if (rst != false)
                        {
                            BindGrid();
                            success.Visible   = true;
                            success.InnerHtml = " <button type='button' class='close' data-dismiss='alert'>&times;</button> Record updated successfully!!.";
                            return;
                        }
                    }
                    else
                    {
                        error.Visible   = true;
                        error.InnerHtml = " <button type='button' class='close' data-dismiss='alert'>&times;</button>Record could Not updated. Kindly try again. If error persist contact Administrator!!.";
                    }
                }
                else
                {
                    decimal tot = 0;
                    if (!decimal.TryParse(txtTot.Text, out tot))
                    {
                        error.Visible   = true;
                        error.InnerHtml = " <button type='button' class='close' data-dismiss='alert'>&times;</button>Quantity must be numeric!!.";
                        return;
                    }
                    bool result = false;
                    recPro = new RestructureProjection(); int month = int.Parse(ddlMonth.SelectedValue);
                    // recPro.ObligorID = int.Parse(ddlObligor.SelectedValue);
                    recPro.ObligorName  = lbName.Text.Split(new char[] { ':' })[1].TrimStart();
                    recPro.AgreementNo  = txtobligor.Text;
                    recPro.DepartmentId = usr.DepartmentID;
                    recPro.AddedBy      = User.Identity.Name;
                    recPro.DateAdded    = DateTime.Now;
                    recPro.Amount       = tot;
                    recPro.BudgetYrID   = budYr.ID;
                    recPro.Month        = month;
                    //recPro.LoanType = ddlLoanType.SelectedValue;
                    recPro.Status = (int)Utility.BudgetItemStatus.Pending_Approval;
                    result        = CommonBLL.AddRestructure(recPro);
                    if (result)
                    {
                        BindGrid();
                        txtTot.Text       = "";
                        txtobligor.Text   = "";
                        lbName.Text       = "";
                        btnSubmit.Enabled = false;
                        // ddlObligor.SelectedValue="";
                        ddlMonth.SelectedValue = "";
                        success.Visible        = true;
                        success.InnerHtml      = " <button type='button' class='close' data-dismiss='alert'>&times;</button> Record added successfully!!.";
                        return;
                    }
                    else
                    {
                        error.Visible   = true;
                        error.InnerHtml = " <button type='button' class='close' data-dismiss='alert'>&times;</button>Record could Not added. Kindly try again. If error persist contact Administrator!!.";
                    }
                }
            }
            catch (Exception ex)
            {
                error.Visible   = true;
                error.InnerHtml = "<button type='button' class='close' data-dismiss='alert'>&times;</button> An error occurred. kindly try again!!!";
                Utility.WriteError("Error: " + ex.Message);
            }
        }
コード例 #44
0
 /// <summary>
 /// Create user in database.
 /// </summary>
 /// <param name="user">user to be created.</param>
 /// <returns></returns>
 public async Task CreateAsync(AppUser user)
 {
     await DbSet.AddAsync(user);
 }
コード例 #45
0
 public ActionResult Register(AppUser data)
 {
     appUserService.Add(data);
     return(Redirect("/Account/Login"));
 }
コード例 #46
0
        public async Task <(Result Result, string UserId)> CreateUserAsync(AppUser user, string password)
        {
            var result = await _userManager.CreateAsync(user, password);

            return(result.ToApplicationResult(), user.Id);
        }
コード例 #47
0
        public async Task <Result> DeleteUserAsync(AppUser user)
        {
            var result = await _userManager.DeleteAsync(user);

            return(result.ToApplicationResult());
        }
コード例 #48
0
        public void PerformInitialSetup(AppIdentityDbContext context)
        {
            // initial configuration will go here
            // 初始化配置将放在这儿 eg:初始化数据
            AppRoleManager roleMgr = new AppRoleManager(new RoleStore <AppRole>(context));
            AppUserManager userMgr = new AppUserManager(new UserStore <AppUser>(context));
            AppRole        role00  = new AppRole {
                Id = "R00", Name = "Governor"
            };
            AppRole role01 = new AppRole {
                Id = "R01", Name = "Admin"
            };
            AppRole role02 = new AppRole {
                Id = "R02", Name = "Manager"
            };
            AppRole role03 = new AppRole {
                Id = "R03", Name = "Employee"
            };

            if (!roleMgr.RoleExists("Governor"))
            {
                roleMgr.Create(role00);
            }
            if (!roleMgr.RoleExists("Admin"))
            {
                roleMgr.Create(role01);
            }
            if (!roleMgr.RoleExists("Manager"))
            {
                roleMgr.Create(role02);
            }
            if (!roleMgr.RoleExists("Employee"))
            {
                roleMgr.Create(role03);
            }

            Company company = new Company
            {
                CompanyName    = "LivellPayroll",
                TimeZone       = "0",
                Email          = "*****@*****.**",
                PayFreq        = "Weekly",
                RoundTo        = "15",
                PayRollRegTime = DateTime.Now
            };
            AppUser GovernorUser = new AppUser
            {
                UserName       = "******",
                Email          = "*****@*****.**",
                EmailConfirmed = true,
                PayRollUser    = "******",
                TimeZone       = "0",
                LastLoginDate  = DateTime.UtcNow,
                Company        = company
            };
            var user = userMgr.FindByEmail("*****@*****.**");

            if (user == null)
            {
                var result = userMgr.Create(GovernorUser, "Governor123456");
                if (result.Succeeded)
                {
                    userMgr.AddToRole(GovernorUser.Id, "Governor");
                }
            }
            ;
            Initialize_DmTimeZone(context);
        }
コード例 #49
0
        public async Task <ActionResult> DisplayReportF(SortByF Sort)
        {
            List <AppUser> users = await GetAllEmployees();

            List <AppUser> employeeswReviews = new List <AppUser>();

            AppUser aa = new AppUser();

            _db.Add(aa);
            _db.SaveChanges();


            foreach (AppUser ui in users)
            {
                AppUser a = _db.Users.Include(u => u.ReviewsApproved).FirstOrDefault(u => u.UserName == ui.UserName);

                if (a.ReviewsApproved.Count() != 0)
                {
                    employeeswReviews.Add(a);
                }
            }

            var query = from u in employeeswReviews
                        select u;

            List <AppUser> users1 = query.ToList();

            foreach (AppUser use in users1)
            {
                int           ReviewsApproved = 0;
                int           ReviewsRejected = 0;
                List <Review> revs            = _db.Reviews.Where(u => u.Approver.UserName == use.UserName).ToList();

                foreach (Review rev in revs)
                {
                    if (rev.Rejected == true)
                    {
                        ReviewsRejected++;
                    }
                    ReviewsApproved++;
                }

                use.NumReviewsApproved = ReviewsApproved;
                use.NumReviewsRejected = ReviewsRejected;
            }

            switch (Sort)
            {
            case SortByF.EmpID:
                return(View("ReportFResults", users1.OrderBy(o => o.UserName)));

            case SortByF.AppAsc:
                return(View("ReportFResults", users1.OrderBy(o => o.NumReviewsApproved)));

            case SortByF.AppDesc:
                return(View("ReportFResults", users1.OrderByDescending(o => o.NumReviewsApproved)));

            case SortByF.RejAsc:
                return(View("ReportFResults", users1.OrderBy(o => o.NumReviewsRejected)));

            case SortByF.RejDesc:
                return(View("ReportFResults", users1.OrderByDescending(o => o.NumReviewsRejected)));
            }

            return(View("ReportFResults", users1));


            //if (PMOrder == Orderofresults.Ascending)
            //{
            //    query = query.OrderBy(o => o.ProfitMargin);
            //}
            //else
            //{
            //    query = query.OrderByDescending(o => o.ProfitMargin);
            //}

            //if (PriceOrder == Orderofresults.Ascending)
            //{
            //    query = query.OrderBy(o => o.TotalRev);
            //}
            //else
            //{
            //    query = query.OrderByDescending(o => o.TotalRev);
            //}

            //List<AppUser> users1 = query.ToList();

            //foreach (AppUser use in users1)
            //{
            //    int ReviewsApproved = 0;
            //    int ReviewsRejected = 0;
            //    List<Review> revs = _db.Reviews.Where(u => u.Approver.UserName == use.UserName).ToList();

            //    foreach (Review rev in revs)
            //    {
            //        if (rev.Rejected == true)
            //        {
            //            ReviewsRejected++;
            //        }
            //        ReviewsApproved++;
            //    }

            //    use.NumReviewsApproved = ReviewsApproved;
            //    use.NumReviewsRejected = ReviewsRejected;
            //}

            //return View("ReportFResults", users1);
        }
コード例 #50
0
        public async Task CreateUserAsync(AppUser user, CancellationToken cancellationToken = default)
        {
            ThrowIf.Null(user, nameof(user));

            await ExecuteAsync
            (
                $@"
INSERT INTO {DbTable.User}(
    Id,
    UserName,
    NormalizedUserName,
    Email,
    NormalizedEmail,
    EmailConfirmed,
    PasswordHash,
    SecurityStamp,
    ConcurrencyStamp,
    PhoneNumber,
    PhoneNumberConfirmed,
    TwoFactorEnabled,
    LockoutEnd,
    LockoutEnabled,
    AccessFailedCount,
    AuthenticatorKey
) SELECT
    @id,
    @userName,
    @normalizedUserName,
    @email,
    @normalizedEmail,
    @emailConfirmed,
    @passwordHash,
    @securityStamp,
    @concurrencyStamp,
    @phoneNumber,
    @phoneNumberConfirmed,
    @twoFactorEnabled,
    @lockoutEnd,
    @lockoutEnabled,
    @accessFailedCount,
    @authenticatorKey
;
                ",
                new
            {
                id                   = user.Id,
                userName             = user.UserName,
                normalizedUserName   = user.NormalizedUserName,
                email                = user.Email,
                normalizedEmail      = user.NormalizedEmail,
                emailConfirmed       = user.EmailConfirmed,
                passwordHash         = user.PasswordHash,
                securityStamp        = user.SecurityStamp,
                concurrencyStamp     = user.ConcurrencyStamp,
                phoneNumber          = user.PhoneNumber,
                phoneNumberConfirmed = user.PhoneNumberConfirmed,
                twoFactorEnabled     = user.TwoFactorEnabled,
                lockoutEnd           = user.LockoutEnd,
                lockoutEnabled       = user.LockoutEnabled,
                accessFailedCount    = user.AccessFailedCount,
                authenticatorKey     = user.AuthenticatorKey
            },
                cancellationToken
            ).ConfigureAwait(false);
        }
コード例 #51
0
        public async Task <ActionResult> EditUser(string id, string email, string phoneNumber, string password)
        {
            AppUser user = await UserManager.FindByIdAsync(id);

            ViewBag.RoleManager = RoleManager.Roles;
            if (user != null)
            {
                user.Email = email;

                IdentityResult validEmail
                    = await UserManager.UserValidator.ValidateAsync(user);

                if (!validEmail.Succeeded)
                {
                    AddErrorsFromResult(validEmail);
                }
                bool validPhone = true;
                if (Regex.IsMatch(phoneNumber, @"(^\+?[0-9]+$)|(^$)"))
                {
                    user.PhoneNumber = phoneNumber;
                }
                else
                {
                    validPhone = false;
                    ModelState.AddModelError("", "Неверный номер телефона");
                }
                IdentityResult validPass = null;
                if (password != string.Empty)
                {
                    validPass
                        = await UserManager.PasswordValidator.ValidateAsync(password);

                    if (validPass.Succeeded)
                    {
                        user.PasswordHash =
                            UserManager.PasswordHasher.HashPassword(password);
                    }
                    else
                    {
                        AddErrorsFromResult(validPass);
                    }
                }

                if ((validEmail.Succeeded && validPass == null && validPhone) ||
                    (validEmail.Succeeded && password != string.Empty && validPass.Succeeded && validPhone))
                {
                    IdentityResult result = await UserManager.UpdateAsync(user);

                    if (result.Succeeded)
                    {
                        return(RedirectToAction("Index", "Home"));
                    }
                    else
                    {
                        AddErrorsFromResult(result);
                    }
                }
            }
            else
            {
                ModelState.AddModelError("", "Пользователь не найден");
            }
            return(View(user));
        }
コード例 #52
0
        /// <summary>
        /// Gets the changeset for updates.
        /// </summary>
        private Changeset GetChangeset(RelationEditorVM prev, RelationEditorVM next, Guid id, AppUser user, Guid?revertedId, Guid?groupId = null)
        {
            if (prev == null && next == null)
            {
                throw new ArgumentNullException();
            }

            return(new Changeset
            {
                Id = Guid.NewGuid(),
                RevertedChangesetId = revertedId,
                GroupId = groupId,
                ChangeType = ChangesetHelper.GetChangeType(prev, next, revertedId),
                EntityType = ChangesetEntityType.Relation,
                Date = DateTime.Now,
                EditedRelationId = id,
                Author = user,
                UpdatedState = next == null ? null : JsonConvert.SerializeObject(next),
            });
        }
コード例 #53
0
        public static async Task AddAdmin(IServiceProvider serviceProvider)
        {
            AppDbContext               _db          = serviceProvider.GetRequiredService <AppDbContext>();
            UserManager <AppUser>      _userManager = serviceProvider.GetRequiredService <UserManager <AppUser> >();
            RoleManager <IdentityRole> _roleManager = serviceProvider.GetRequiredService <RoleManager <IdentityRole> >();

            //TODO: Add the needed roles
            //if role doesn't exist, add it
            if (await _roleManager.RoleExistsAsync("Manager") == false)
            {
                await _roleManager.CreateAsync(new IdentityRole("Manager"));
            }

            if (await _roleManager.RoleExistsAsync("Customer") == false)
            {
                await _roleManager.CreateAsync(new IdentityRole("Customer"));
            }

            if (await _roleManager.RoleExistsAsync("Employee") == false)
            {
                await _roleManager.CreateAsync(new IdentityRole("Employee"));
            }


            //check to see if the manager has been added
            AppUser manager = _db.Users.FirstOrDefault(u => u.Email == "*****@*****.**");

            //if manager hasn't been created, then add them
            if (manager == null)
            {
                manager             = new AppUser();
                manager.UserName    = "******";
                manager.Email       = "*****@*****.**";
                manager.PhoneNumber = "(512)555-5555";
                manager.FirstName   = "Admin";


                //TODO: Add any other fields for your app user class here
                manager.LastName = "Example";
                manager.Address  = "123 Bevo Ln.";
                manager.City     = "Austin";
                manager.State    = "TX";
                manager.Zip      = "78705";
                //manager.DateAdded = DateTime.Today;

                //NOTE: Ask the user manager to create the new user
                //The second parameter for .CreateAsync is the user's password
                var result = await _userManager.CreateAsync(manager, "Abc123!");

                if (result.Succeeded == false)
                {
                    throw new Exception("This user can't be added - " + result.ToString());
                }
                _db.SaveChanges();
                manager = _db.Users.FirstOrDefault(u => u.UserName == "*****@*****.**");
            }

            //make sure user is in role
            if (await _userManager.IsInRoleAsync(manager, "Manager") == false)
            {
                await _userManager.AddToRoleAsync(manager, "Manager");
            }

            //save changes
            _db.SaveChanges();
        }
コード例 #54
0
        public static async Task <IdentityResult> UpdateUserAsync(this AppUserManager appUserManager, AppUser model)
        {
            var userToBeUpdated = await appUserManager.FindByIdAsync(model.Id.ToString());

            userToBeUpdated.FirstName   = model.FirstName;
            userToBeUpdated.LastName    = model.LastName;
            userToBeUpdated.Email       = model.Email;
            userToBeUpdated.UserName    = model.UserName;
            userToBeUpdated.DateOfBirth = model.DateOfBirth;
            userToBeUpdated.Country     = model.Country;
            userToBeUpdated.Gender      = model.Gender;
            userToBeUpdated.About       = model.About;
            userToBeUpdated.PhotoPath   = model.PhotoPath;

            var updatedUser = await appUserManager.UpdateAsync(userToBeUpdated);

            return(updatedUser);
        }
コード例 #55
0
        private void CreateMissingWorkMonths(List <WorkDay> workDays, List <WorkMonth> existingMonths, AppUser user)
        {
            foreach (WorkDay day in workDays)
            {
                WorkMonth matchingMonth = existingMonths.FirstOrDefault(x => x.Month == day.Date.Month && x.Year == day.Date.Year);

                if (matchingMonth == null)
                {
                    WorkMonth month = new()
                    {
                        ContractId = day.ContractId,
                        Year       = day.Date.Year,
                        Month      = day.Date.Month,
                    };

                    _context.WorkMonths.Add(month);
                    existingMonths.Add(month);

                    day.WorkMonth = month;
                }
                else
                {
                    day.WorkMonth = matchingMonth;
                }
            }
        }
コード例 #56
0
        public void SeedEmployees(AppDbContext db)
        {
            //create a user manager and a role manager to use for this method
            AppUserManager UserManager = new AppUserManager(new UserStore <AppUser>(db));

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

            //check to see if the manager has been added
            AppUser manager = db.Users.FirstOrDefault(u => u.Email == "*****@*****.**");

            //if manager hasn't been created, then add them
            if (manager == null)
            {
                //TODO: Add any additional fields for user here
                manager             = new AppUser();
                manager.UserName    = "******";
                manager.FirstName   = "Admin";
                manager.LastName    = "Admin";
                manager.Email       = "*****@*****.**";
                manager.PhoneNumber = "(512)555-5555";
                manager.Birthday    = Convert.ToDateTime("12/25/1970");

                var result = UserManager.Create(manager, "Abc123!");
                db.SaveChanges();
                manager = db.Users.First(u => u.UserName == "*****@*****.**");
            }

            //TODO: Add the needed roles
            //if role doesn't exist, add it
            if (RoleManager.RoleExists("Manager") == false)
            {
                RoleManager.Create(new AppRole("Manager"));
            }

            if (RoleManager.RoleExists("Employee") == false)
            {
                RoleManager.Create(new AppRole("Employee"));
            }

            if (RoleManager.RoleExists("Customer") == false)
            {
                RoleManager.Create(new AppRole("Customer"));
            }

            if (RoleManager.RoleExists("Fired") == false)
            {
                RoleManager.Create(new AppRole("Fired"));
            }

            //make sure user is in role
            if (UserManager.IsInRole(manager.Id, "Manager") == false)
            {
                UserManager.AddToRole(manager.Id, "Manager");
            }

            //save changes
            db.SaveChanges();

            AppUser r1 = new AppUser();

            r1.UserName    = ("*****@*****.**");
            r1.LastName    = ("Jacobs");
            r1.FirstName   = ("Todd");
            r1.Birthday    = Convert.ToDateTime("4/25/1958");
            r1.Address     = ("4564 Elm St., Georgetown, TX 78628");
            r1.PhoneNumber = "9074653365";
            r1.Email       = ("*****@*****.**");
            var result1 = UserManager.Create(r1, "society");

            UserManager.AddToRole(r1.Id, "Employee");
            db.SaveChanges();

            AppUser r2 = new AppUser();

            r2.UserName    = ("*****@*****.**");
            r2.LastName    = ("Rice");
            r2.FirstName   = ("Eryn");
            r2.Birthday    = Convert.ToDateTime("7/2/1959");
            r2.Address     = ("3405 Rio Grande, Austin, TX 78746");
            r2.PhoneNumber = "9073876657";
            r2.Email       = ("*****@*****.**");
            var result2 = UserManager.Create(r2, "ricearoni");

            UserManager.AddToRole(r2.Id, "Manager");
            db.SaveChanges();

            AppUser r3 = new AppUser();

            r3.UserName    = ("*****@*****.**");
            r3.LastName    = ("Ingram");
            r3.FirstName   = ("Brad");
            r3.Birthday    = Convert.ToDateTime("8/25/1962");
            r3.Address     = ("6548 La Posada Ct., Austin, TX 78705");
            r3.PhoneNumber = "9074678821";
            r3.Email       = ("*****@*****.**");
            var result3 = UserManager.Create(r3, "ingram45");

            UserManager.AddToRole(r3.Id, "Employee");
            db.SaveChanges();

            AppUser r4 = new AppUser();

            r4.UserName    = ("*****@*****.**");
            r4.LastName    = ("Taylor");
            r4.FirstName   = ("Allison");
            r4.Birthday    = Convert.ToDateTime("9/2/1964");
            r4.Address     = ("467 Nueces St., Austin, TX 78727");
            r4.PhoneNumber = "9074748452";
            r4.Email       = ("*****@*****.**");
            var result4 = UserManager.Create(r4, "nostalgic");

            UserManager.AddToRole(r4.Id, "Employee");
            db.SaveChanges();

            AppUser r5 = new AppUser();

            r5.UserName    = ("*****@*****.**");
            r5.LastName    = ("Martinez");
            r5.FirstName   = ("Gregory");
            r5.Birthday    = Convert.ToDateTime("3/30/1992");
            r5.Address     = ("8295 Sunset Blvd., Austin, TX 78712");
            r5.PhoneNumber = "9078746718";
            r5.Email       = ("*****@*****.**");
            var result5 = UserManager.Create(r5, "fungus");

            UserManager.AddToRole(r5.Id, "Employee");
            db.SaveChanges();

            AppUser r6 = new AppUser();

            r6.UserName    = ("*****@*****.**");
            r6.LastName    = ("Sheffield");
            r6.FirstName   = ("Martin");
            r6.Birthday    = Convert.ToDateTime("12/29/1996");
            r6.Address     = ("3886 Avenue A, San Marcos, TX 78666");
            r6.PhoneNumber = "9075479167";
            r6.Email       = ("*****@*****.**");
            var result6 = UserManager.Create(r6, "longhorns");

            UserManager.AddToRole(r6.Id, "Employee");
            db.SaveChanges();

            AppUser r7 = new AppUser();

            r7.UserName    = ("*****@*****.**");
            r7.LastName    = ("MacLeod");
            r7.FirstName   = ("Jennifer");
            r7.Birthday    = Convert.ToDateTime("6/10/1997");
            r7.Address     = ("2504 Far West Blvd., Austin, TX 78705");
            r7.PhoneNumber = "9074748138";
            r7.Email       = ("*****@*****.**");
            var result7 = UserManager.Create(r7, "smitty");

            UserManager.AddToRole(r7.Id, "Employee");
            db.SaveChanges();

            AppUser r8 = new AppUser();

            r8.UserName    = ("*****@*****.**");
            r8.LastName    = ("Tanner");
            r8.FirstName   = ("Jeremy");
            r8.Birthday    = Convert.ToDateTime("8/12/1970");
            r8.Address     = ("4347 Almstead, Austin, TX 78712");
            r8.PhoneNumber = "9074590929";
            r8.Email       = ("*****@*****.**");
            var result8 = UserManager.Create(r8, "tanman");

            UserManager.AddToRole(r8.Id, "Employee");
            db.SaveChanges();

            AppUser r9 = new AppUser();

            r9.UserName    = ("*****@*****.**");
            r9.LastName    = ("Rhodes");
            r9.FirstName   = ("Megan");
            r9.Birthday    = Convert.ToDateTime("12/18/1970");
            r9.Address     = ("4587 Enfield Rd., Austin, TX 78729");
            r9.PhoneNumber = "9073744746";
            r9.Email       = ("*****@*****.**");
            var result9 = UserManager.Create(r9, "countryrhodes");

            UserManager.AddToRole(r9.Id, "Employee");
            db.SaveChanges();

            AppUser r10 = new AppUser();

            r10.UserName    = ("*****@*****.**");
            r10.LastName    = ("Stuart");
            r10.FirstName   = ("Eric");
            r10.Birthday    = Convert.ToDateTime("3/11/1971");
            r10.Address     = ("5576 Toro Ring, Austin, TX 78758");
            r10.PhoneNumber = "9078178335";
            r10.Email       = ("*****@*****.**");
            var result10 = UserManager.Create(r10, "stewboy");

            UserManager.AddToRole(r10.Id, "Employee");
            db.SaveChanges();

            AppUser r11 = new AppUser();

            r11.UserName    = ("*****@*****.**");
            r11.LastName    = ("Miller");
            r11.FirstName   = ("Charles");
            r11.Birthday    = Convert.ToDateTime("7/20/1972");
            r11.Address     = ("8962 Main St., Austin, TX 78709");
            r11.PhoneNumber = "9077458615";
            r11.Email       = ("*****@*****.**");
            var result11 = UserManager.Create(r11, "squirrel");

            UserManager.AddToRole(r11.Id, "Employee");
            db.SaveChanges();

            AppUser r12 = new AppUser();

            r12.UserName    = ("*****@*****.**");
            r12.LastName    = ("Taylor");
            r12.FirstName   = ("Rachel");
            r12.Birthday    = Convert.ToDateTime("12/20/1972");
            r12.Address     = ("345 Longview Dr., Austin, TX 78746");
            r12.PhoneNumber = "9074512631";
            r12.Email       = ("*****@*****.**");
            var result12 = UserManager.Create(r12, "swansong");

            UserManager.AddToRole(r12.Id, "Manager");
            db.SaveChanges();

            AppUser r13 = new AppUser();

            r13.UserName    = ("*****@*****.**");
            r13.LastName    = ("Lawrence");
            r13.FirstName   = ("Victoria");
            r13.Birthday    = Convert.ToDateTime("4/28/1973");
            r13.Address     = ("6639 Butterfly Ln., Austin, TX 78712");
            r13.PhoneNumber = "9079457399";
            r13.Email       = ("*****@*****.**");
            var result13 = UserManager.Create(r13, "lottery");

            UserManager.AddToRole(r13.Id, "Employee");
            db.SaveChanges();

            AppUser r14 = new AppUser();

            r14.UserName    = ("*****@*****.**");
            r14.LastName    = ("Rogers");
            r14.FirstName   = ("Allen");
            r14.Birthday    = Convert.ToDateTime("6/21/1978");
            r14.Address     = ("4965 Oak Hill, Austin, TX 78705");
            r14.PhoneNumber = "9078752943";
            r14.Email       = ("*****@*****.**");
            var result14 = UserManager.Create(r14, "evanescent");

            UserManager.AddToRole(r14.Id, "Manager");
            db.SaveChanges();

            AppUser r15 = new AppUser();

            r15.UserName    = ("*****@*****.**");
            r15.LastName    = ("Markham");
            r15.FirstName   = ("Elizabeth");
            r15.Birthday    = Convert.ToDateTime("5/21/1990");
            r15.Address     = ("7861 Chevy Chase, Austin, TX 78785");
            r15.PhoneNumber = "9074579845";
            r15.Email       = ("*****@*****.**");
            var result15 = UserManager.Create(r15, "monty3");

            UserManager.AddToRole(r15.Id, "Employee");
            db.SaveChanges();

            AppUser r16 = new AppUser();

            r16.UserName    = ("*****@*****.**");
            r16.LastName    = ("Baker");
            r16.FirstName   = ("Christopher");
            r16.Birthday    = Convert.ToDateTime("3/16/1993");
            r16.Address     = ("1245 Lake Anchorage Blvd., Cedar Park, TX 78613");
            r16.PhoneNumber = "9075571146";
            r16.Email       = ("*****@*****.**");
            var result16 = UserManager.Create(r16, "hecktour");

            UserManager.AddToRole(r16.Id, "Employee");
            db.SaveChanges();

            AppUser r17 = new AppUser();

            r17.UserName    = ("*****@*****.**");
            r17.LastName    = ("Saunders");
            r17.FirstName   = ("Sarah");
            r17.Birthday    = Convert.ToDateTime("1/5/1997");
            r17.Address     = ("332 Avenue C, Austin, TX 78733");
            r17.PhoneNumber = "9073497810";
            r17.Email       = ("*****@*****.**");
            var result17 = UserManager.Create(r17, "rankmary");

            UserManager.AddToRole(r17.Id, "Employee");
            db.SaveChanges();

            AppUser r18 = new AppUser();

            r18.UserName    = ("*****@*****.**");
            r18.LastName    = ("Sewell");
            r18.FirstName   = ("William");
            r18.Birthday    = Convert.ToDateTime("5/25/1986");
            r18.Address     = ("2365 51st St., Austin, TX 78755");
            r18.PhoneNumber = "9074510084";
            r18.Email       = ("*****@*****.**");
            var result18 = UserManager.Create(r18, "walkamile");

            UserManager.AddToRole(r18.Id, "Manager");
            db.SaveChanges();

            AppUser r19 = new AppUser();

            r19.UserName    = ("*****@*****.**");
            r19.LastName    = ("Mason");
            r19.FirstName   = ("Jack");
            r19.Birthday    = Convert.ToDateTime("6/6/1986");
            r19.Address     = ("444 45th St, Austin, TX 78701");
            r19.PhoneNumber = "9018833432";
            r19.Email       = ("*****@*****.**");
            var result19 = UserManager.Create(r19, "changalang");

            UserManager.AddToRole(r19.Id, "Employee");
            db.SaveChanges();

            AppUser r20 = new AppUser();

            r20.UserName    = ("*****@*****.**");
            r20.LastName    = ("Jackson");
            r20.FirstName   = ("Jack");
            r20.Birthday    = Convert.ToDateTime("10/16/1986");
            r20.Address     = ("222 Main, Austin, TX 78760");
            r20.PhoneNumber = "9075554545";
            r20.Email       = ("*****@*****.**");
            var result20 = UserManager.Create(r20, "offbeat");

            UserManager.AddToRole(r20.Id, "Employee");
            db.SaveChanges();

            AppUser r21 = new AppUser();

            r21.UserName    = ("*****@*****.**");
            r21.LastName    = ("Nguyen");
            r21.FirstName   = ("Mary");
            r21.Birthday    = Convert.ToDateTime("4/5/1988");
            r21.Address     = ("465 N. Bear Cub, Austin, TX 78734");
            r21.PhoneNumber = "9075524141";
            r21.Email       = ("*****@*****.**");
            var result21 = UserManager.Create(r21, "landus");

            UserManager.AddToRole(r21.Id, "Employee");
            db.SaveChanges();

            AppUser r22 = new AppUser();

            r22.UserName    = ("*****@*****.**");
            r22.LastName    = ("Barnes");
            r22.FirstName   = ("Susan");
            r22.Birthday    = Convert.ToDateTime("2/22/1993");
            r22.Address     = ("888 S. Main, Kyle, TX 78640");
            r22.PhoneNumber = "9556662323";
            r22.Email       = ("*****@*****.**");
            var result22 = UserManager.Create(r22, "rhythm");

            UserManager.AddToRole(r22.Id, "Employee");
            db.SaveChanges();

            AppUser r23 = new AppUser();

            r23.UserName    = ("*****@*****.**");
            r23.LastName    = ("Jones");
            r23.FirstName   = ("Lester");
            r23.Birthday    = Convert.ToDateTime("6/29/1996");
            r23.Address     = ("999 LeBlat, Austin, TX 78747");
            r23.PhoneNumber = "9886662222";
            r23.Email       = ("*****@*****.**");
            var result23 = UserManager.Create(r23, "kindly");

            UserManager.AddToRole(r23.Id, "Employee");
            db.SaveChanges();

            AppUser r24 = new AppUser();

            r24.UserName    = ("*****@*****.**");
            r24.LastName    = ("Garcia");
            r24.FirstName   = ("Hector");
            r24.Birthday    = Convert.ToDateTime("5/13/1997");
            r24.Address     = ("777 PBR Drive, Austin, TX 78712");
            r24.PhoneNumber = "9221114444";
            r24.Email       = ("*****@*****.**");
            var result24 = UserManager.Create(r24, "instrument");

            UserManager.AddToRole(r24.Id, "Employee");
            db.SaveChanges();

            AppUser r25 = new AppUser();

            r25.UserName    = ("*****@*****.**");
            r25.LastName    = ("Silva");
            r25.FirstName   = ("Cindy");
            r25.Birthday    = Convert.ToDateTime("12/29/1997");
            r25.Address     = ("900 4th St, Austin, TX 78758");
            r25.PhoneNumber = "9221113333";
            r25.Email       = ("*****@*****.**");
            var result25 = UserManager.Create(r25, "arched");

            UserManager.AddToRole(r25.Id, "Employee");
            db.SaveChanges();

            AppUser r26 = new AppUser();

            r26.UserName    = ("*****@*****.**");
            r26.LastName    = ("Lopez");
            r26.FirstName   = ("Marshall");
            r26.Birthday    = Convert.ToDateTime("11/4/1996");
            r26.Address     = ("90 SW North St, Austin, TX 78729");
            r26.PhoneNumber = "9234442222";
            r26.Email       = ("*****@*****.**");
            var result26 = UserManager.Create(r26, "median");

            UserManager.AddToRole(r26.Id, "Employee");
            db.SaveChanges();

            AppUser r27 = new AppUser();

            r27.UserName    = ("*****@*****.**");
            r27.LastName    = ("Larson");
            r27.FirstName   = ("Bill");
            r27.Birthday    = Convert.ToDateTime("11/14/1999");
            r27.Address     = ("1212 N. First Ave, Round Rock, TX 78665");
            r27.PhoneNumber = "9795554444";
            r27.Email       = ("*****@*****.**");
            var result27 = UserManager.Create(r27, "approval");

            UserManager.AddToRole(r27.Id, "Employee");
            db.SaveChanges();

            AppUser r28 = new AppUser();

            r28.UserName    = ("*****@*****.**");
            r28.LastName    = ("Rankin");
            r28.FirstName   = ("Suzie");
            r28.Birthday    = Convert.ToDateTime("12/17/1999");
            r28.Address     = ("23 Polar Bear Road, Austin, TX 78712");
            r28.PhoneNumber = "9893336666";
            r28.Email       = ("*****@*****.**");
            var result28 = UserManager.Create(r28, "approval");

            UserManager.AddToRole(r28.Id, "Employee");
            db.SaveChanges();
        }
コード例 #57
0
        public async Task <ApiResponse <AppUserVm> > AddUser([FromBody] AppUserVm userCredentials)
        {
            var defaultErrorResponse = new ApiResponse <AppUserVm>
            {
                ErrorMessage = "Пожалуйста, предоставьте все необходимые данные для создания учетной записи пользователя"
            };

            if (userCredentials == null)
            {
                return(defaultErrorResponse);
            }

            if (string.IsNullOrWhiteSpace(userCredentials.UserName))
            {
                return(defaultErrorResponse);
            }

            if (repository.AppUsers.Items.Any(userEmail => userEmail.Email == userCredentials.Email) ||
                repository.AppUsers.Items.Any(userLogin => userLogin.UserName == userCredentials.UserName))
            {
                return(new ApiResponse <AppUserVm>
                {
                    ErrorMessage = "Пользователь с данной эл. почтой или логином уже существует"
                });
            }

            if (!userCredentials.Email.IsEmail())
            {
                return(new ApiResponse <AppUserVm>
                {
                    ErrorMessage = "Не корректная эл. почта"
                });
            }

            var user = new AppUser
            {
                UserName = userCredentials.UserName.Trim(),
                Email    = userCredentials.Email.Trim()
            };

            user.AppUserCustomRoles = userCredentials.CustomRoles.Where(x => x.IsSelected).Select(cr => new AppUserCustomRole
            {
                CustomRoleId = cr.Id,
                AppUserId    = user.Id
            }).ToList();

            var randomPassword = RandomPasswordGenerator.GenerateRandomPassword();

            var result = await userManager.CreateAsync(user, randomPassword);

            if (result.Succeeded)
            {
                TestProjectEmailSender.SendAccountPasswordEmailAsync(user.Email, randomPassword);

                var customRolesIds = userCredentials.CustomRoles.Where(x => x.IsSelected).Select(r => r.Id).ToList();

                var appRolesToAdd = repository.CustomRoles.Items.Where(cr => customRolesIds.Contains(cr.Id))
                                    .SelectMany(cRole => cRole.AppRoleCustomRoles).Select(x => x.AppRole.Name).ToList();

                var rolesResult = await userManager.AddToRolesAsync(user, appRolesToAdd);

                if (rolesResult.Succeeded)
                {
                    var allRoles = repository.CustomRoles.Items.ToList();

                    var userVm = new AppUserVm(user);

                    userVm.CustomRoles.AddRange(allRoles.Select(r => new CustomRoleVm
                    {
                        Id          = r.Id,
                        Name        = r.Name,
                        Description = r.Description,
                        IsSelected  = customRolesIds.Contains(r.Id)
                    }).OrderBy(x => x.Name));

                    return(new ApiResponse <AppUserVm>
                    {
                        Response = userVm,
                        Message = $"Пользователь успешно создан, пароль от учётной записи будет выслан на почту {userVm.Email} \n ... pass: {randomPassword}"
                    });
                }

                return(new ApiResponse <AppUserVm>
                {
                    ErrorMessage = "Произошла ошибка при обработке вашего запроса"
                });
            }

            return(new ApiResponse <AppUserVm>
            {
                ErrorMessage = result.Errors.AggregateErrors()
            });
        }
コード例 #58
0
ファイル: UserRepository.cs プロジェクト: gusgene/CleanSoc
        public async Task <bool> Add(AppUser user, string password)
        {
            var result = await _userManager.CreateAsync(user, password);

            return(result.Succeeded);
        }
コード例 #59
0
        public static void Initialize(SalonContext context)
        {
            context.Database.EnsureCreated();

            if (!context.Treatment.Any())
            {
                var treatments = new Treatment[]
                {
                    new Treatment {
                        Name = "Manicure hybrydowy", Duration = new TimeSpan(1, 0, 0), Price = 80, Category = 1
                    },
                    new Treatment {
                        Name = "Manicure żelowy - założenie", Duration = new TimeSpan(2, 0, 0), Price = 120, Category = 1
                    },
                    new Treatment {
                        Name = "Manicure żelowy - korekta", Duration = new TimeSpan(1, 30, 0), Price = 90, Category = 1
                    },
                    new Treatment {
                        Name = "Manicure japoński", Duration = new TimeSpan(0, 30, 0), Price = 60, Category = 1
                    },
                    new Treatment {
                        Name = "Pedicure hybrydowy", Duration = new TimeSpan(1, 0, 0), Price = 80, Category = 1
                    },
                    new Treatment {
                        Name = "Pedicure klasyczny", Duration = new TimeSpan(1, 0, 0), Price = 60, Category = 1
                    },
                    new Treatment {
                        Name = "Przedłużanie rzęs - założenie", Duration = new TimeSpan(1, 30, 0), Price = 150, Category = 2
                    },
                    new Treatment {
                        Name = "Przedłużanie rzęs - korekta", Duration = new TimeSpan(1, 0, 0), Price = 100, Category = 2
                    },
                    new Treatment {
                        Name = "Henna brwi / rzęs", Duration = new TimeSpan(0, 15, 0), Price = 20, Category = 2
                    },
                    new Treatment {
                        Name = "Regulacja brwi", Duration = new TimeSpan(0, 15, 0), Price = 10, Category = 2
                    },
                    new Treatment {
                        Name = "Opalanie natryskowe", Duration = new TimeSpan(0, 45, 0), Price = 80, Category = 3
                    },
                    new Treatment {
                        Name = "Mikrodermabrazja", Duration = new TimeSpan(1, 0, 0), Price = 100, Category = 4
                    },
                    new Treatment {
                        Name = "Zabieg Anti Aging", Duration = new TimeSpan(1, 0, 0), Price = 120, Category = 4
                    },
                    new Treatment {
                        Name = "Zabieg Anti Acne", Duration = new TimeSpan(1, 0, 0), Price = 120, Category = 4
                    },
                    new Treatment {
                        Name = "Zabieg Anti Dry", Duration = new TimeSpan(1, 0, 0), Price = 120, Category = 4
                    },
                    new Treatment {
                        Name = "Zabieg Anti Rouge", Duration = new TimeSpan(1, 0, 0), Price = 120, Category = 4
                    },
                    new Treatment {
                        Name = "Masaż twarzy", Duration = new TimeSpan(0, 30, 0), Price = 60, Category = 4
                    },
                    new Treatment {
                        Name = "Masaż gorącymi kamieniami", Duration = new TimeSpan(1, 0, 0), Price = 100, Category = 3
                    }
                };
                foreach (Treatment t in treatments)
                {
                    context.Treatment.Add(t);
                }
                context.SaveChanges();
            }
            if (!context.Users.Any())
            {
                var users = new AppUser[]
                {
                    new AppUser {
                        FirstName          = "Adam", LastName = "Małysz", UserName = "******",
                        NormalizedUserName = "******", Email = "*****@*****.**", NormalizedEmail = "*****@*****.**",
                        PasswordHash       = "AQAAAAEAACcQAAAAEF2+bzkrQQJxx/o91I+qPiZo+hx5kd9BbVUsvEWk3S7s6yxnrUoyGh4GjZaxUd58VQ==",
                        SecurityStamp      = "FD4VTY7VO3NXLA6RDQZ7UUTMICJGQAL6", ConcurrencyStamp = "f47689b9-d29c-44e4-af26-00152339e041",
                        PhoneNumber        = "123456789", LockoutEnabled = true, AccessFailedCount = 0
                    },

                    new AppUser {
                        FirstName          = "Robert", LastName = "Kubica", UserName = "******",
                        NormalizedUserName = "******", Email = "*****@*****.**", NormalizedEmail = "*****@*****.**",
                        PasswordHash       = "AQAAAAEAACcQAAAAEF2+bzkrQQJxx/o91I+qPiZo+hx5kd9BbVUsvEWk3S7s6yxnrUoyGh4GjZaxUd58VQ==",
                        SecurityStamp      = "ET5UKGXLXLEDNX54H6ZI6XYIP3PVNOKB", ConcurrencyStamp = "37d393db-0376-46d1-85fc-85cb799ec6cd",
                        PhoneNumber        = "123456789", LockoutEnabled = true, AccessFailedCount = 0
                    },

                    new AppUser {
                        FirstName          = "Justyna", LastName = "Kowalczyk", UserName = "******",
                        NormalizedUserName = "******", Email = "*****@*****.**", NormalizedEmail = "*****@*****.**",
                        PasswordHash       = "AQAAAAEAACcQAAAAEF2+bzkrQQJxx/o91I+qPiZo+hx5kd9BbVUsvEWk3S7s6yxnrUoyGh4GjZaxUd58VQ==",
                        SecurityStamp      = "JDU5TXBYQPKHLIC32L2QW5WQPMUUE2JW", ConcurrencyStamp = "48049f66-d6c3-4f3d-a6c8-3d94ccc0bd57",
                        PhoneNumber        = "123456789", LockoutEnabled = true, AccessFailedCount = 0
                    },

                    new AppUser {
                        FirstName          = "Basia", LastName = "Szweda", UserName = "******",
                        NormalizedUserName = "******", Email = "*****@*****.**", NormalizedEmail = "*****@*****.**",
                        PasswordHash       = "AQAAAAEAACcQAAAAEF2+bzkrQQJxx/o91I+qPiZo+hx5kd9BbVUsvEWk3S7s6yxnrUoyGh4GjZaxUd58VQ==",
                        SecurityStamp      = "JNVZNOMSXX63POQWXOIBZGMUSFKDTQRV", ConcurrencyStamp = "ac38b4a1-5880-41b5-ae9f-a59998608f2d",
                        PhoneNumber        = "123456789", LockoutEnabled = true, AccessFailedCount = 0
                    }
                };
                foreach (AppUser u in users)
                {
                    context.Users.Add(u);
                }

                context.SaveChanges();
            }
            if (!context.Employee.Any())
            {
                var emps = new Employee[]
                {
                    new Employee {
                        UserId = 1
                    },
                    new Employee {
                        UserId = 2
                    },
                    new Employee {
                        UserId = 3
                    },
                    new Employee {
                        UserId = 4
                    }
                };
                foreach (Employee e in emps)
                {
                    context.Employee.Add(e);
                }
                context.SaveChanges();
            }
            if (!context.TreatmentAssignment.Any())
            {
                var treatmentAssignments = new TreatmentAssignment[]
                {
                    new TreatmentAssignment {
                        EmployeeId = 1, TreatmentId = 1
                    },
                    new TreatmentAssignment {
                        EmployeeId = 1, TreatmentId = 2
                    },
                    new TreatmentAssignment {
                        EmployeeId = 2, TreatmentId = 3
                    },
                    new TreatmentAssignment {
                        EmployeeId = 2, TreatmentId = 4
                    },
                    new TreatmentAssignment {
                        EmployeeId = 3, TreatmentId = 5
                    },
                    new TreatmentAssignment {
                        EmployeeId = 3, TreatmentId = 6
                    },
                    new TreatmentAssignment {
                        EmployeeId = 4, TreatmentId = 7
                    },
                    new TreatmentAssignment {
                        EmployeeId = 4, TreatmentId = 8
                    },
                    new TreatmentAssignment {
                        EmployeeId = 4, TreatmentId = 9
                    },
                    new TreatmentAssignment {
                        EmployeeId = 4, TreatmentId = 10
                    }
                };
                foreach (TreatmentAssignment ta in treatmentAssignments)
                {
                    context.TreatmentAssignment.Add(ta);
                }
                context.SaveChanges();
            }
            if (!context.Enrollment.Any())
            {
                var enrollments = new Enrollment[]
                {
                    new Enrollment {
                        UserId = 3, TreatmentAssignmentId = 1, Date = new DateTime(2020, 1, 16, 10, 0, 0), Active = true
                    },
                    new Enrollment {
                        UserId = 3, TreatmentAssignmentId = 1, Date = new DateTime(2020, 1, 20, 10, 0, 0), Active = true
                    },
                    new Enrollment {
                        UserId = 3, TreatmentAssignmentId = 1, Date = new DateTime(2020, 1, 1, 10, 0, 0), Active = false
                    },
                    new Enrollment {
                        UserId = 3, TreatmentAssignmentId = 1, Date = new DateTime(2020, 1, 2, 10, 0, 0), Active = false
                    },
                    new Enrollment {
                        UserId = 3, TreatmentAssignmentId = 1, Date = new DateTime(2020, 1, 3, 10, 0, 0), Active = false
                    },
                    new Enrollment {
                        UserId = 3, TreatmentAssignmentId = 1, Date = new DateTime(2020, 1, 5, 10, 0, 0), Active = true
                    },
                    new Enrollment {
                        UserId = 3, TreatmentAssignmentId = 1, Date = new DateTime(2020, 1, 14, 10, 0, 0), Active = true
                    },
                    new Enrollment {
                        UserId = 3, TreatmentAssignmentId = 1, Date = new DateTime(2020, 1, 23, 10, 0, 0), Active = true
                    },
                    new Enrollment {
                        UserId = 3, TreatmentAssignmentId = 1, Date = new DateTime(2020, 1, 24, 10, 0, 0), Active = true
                    },
                    new Enrollment {
                        UserId = 3, TreatmentAssignmentId = 1, Date = new DateTime(2020, 1, 28, 10, 0, 0), Active = true
                    },
                    new Enrollment {
                        UserId = 3, TreatmentAssignmentId = 1, Date = new DateTime(2020, 2, 2, 10, 0, 0), Active = true
                    },
                    new Enrollment {
                        UserId = 3, TreatmentAssignmentId = 1, Date = new DateTime(2020, 2, 8, 10, 0, 0), Active = true
                    }
                };
                foreach (Enrollment en in enrollments)
                {
                    context.Enrollment.Add(en);
                }
                context.SaveChanges();
            }
        }
コード例 #60
0
 public void Delete(AppUser user)
 {
     _context.Entry(user).State = EntityState.Deleted;
 }