public void ApplyChanges()
        {
            SelectedUser.Role = SelectedRole.ToString();
            IUserModel userModel = SelectedUser;

            _userDBHelper.ModifyRole(userModel);
            RefreshList();
        }
示例#2
0
        public async Task <ActionResult> RegisterConfirmed(string id, string Email, params string[] SelectedRole)
        {
            if (ModelState.IsValid)
            {
                if (id == null)
                {
                    return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
                }

                var user = await UserManager.FindByIdAsync(id);

                if (user == null)
                {
                    return(HttpNotFound());
                }
                user.ModifiedBy       = HttpContext.User.Identity.GetUserId();
                user.ModifiedDate     = DateTime.Now;
                user.Email            = Email;
                user.UserName         = Email;
                user.HasBeenActivated = true;
                user.Status           = true;
                if (SelectedRole != null)
                {
                    SelectedRole = SelectedRole ?? new string[] { };
                    var userRoles = await UserManager.GetRolesAsync(user.Id);

                    var result = await UserManager.AddToRolesAsync(user.Id, SelectedRole.Except(userRoles).ToArray <string>());

                    if (!result.Succeeded)
                    {
                        ModelState.AddModelError("", result.Errors.First());

                        return(View());
                    }
                    result = await UserManager.RemoveFromRolesAsync(user.Id, userRoles.Except(SelectedRole).ToArray <string>());

                    if (!result.Succeeded)
                    {
                        ModelState.AddModelError("", result.Errors.First());

                        return(View());
                    }
                }
                var activateResult = await UserManager.UpdateAsync(user);

                if (activateResult.Succeeded)
                {
                    string code = await UserManager.GeneratePasswordResetTokenAsync(user.Id);

                    var callbackUrl = Url.Action("ResetPassword", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme);
                    await UserManager.SendEmailAsync(user.Id, "Create Password", "Please create your password by clicking this link or pasting it in your browser: \n" + callbackUrl);

                    return(RedirectToAction("CreatePasswordConfirmation", "Account"));
                }
            }
            return(View());
        }
示例#3
0
 public IEnumerable <ValidationResult> Validate(ValidationContext validationContext)
 {
     if (SelectedRole.Equals("Buyer"))
     {
         yield return(new ValidationResult(
                          $"For Buyer role, a manager must be selected.",
                          new[] { nameof(SelectedManager) }));
     }
 }
示例#4
0
        // To protect from overposting attacks, enable the specific properties you want to bind to, for
        // more details, see https://aka.ms/RazorPagesCRUD.
        public async Task <IActionResult> OnPostAsync()
        {
            if (!ModelState.IsValid)
            {
                return(Page());
            }

            var appUserToUpdate = await _userManager.FindByIdAsync(AppUser.Id);

            appUserToUpdate.UserName  = AppUser.UserName;
            appUserToUpdate.FirstName = AppUser.FirstName;
            appUserToUpdate.LastName  = AppUser.LastName;
            appUserToUpdate.Email     = AppUser.Email;

            var resultUpdate = await _userManager.UpdateAsync(appUserToUpdate);

            if (resultUpdate.Succeeded)
            {
                UserRoles = await _userManager.GetRolesAsync(AppUser);

                if (SelectedRole.Except(UserRoles).Count() != 0)
                {
                    var resultRoleAdd = await _userManager.AddToRolesAsync(appUserToUpdate, SelectedRole.Except(UserRoles).ToList <string>());
                }
                if (UserRoles.Except(SelectedRole).Count() != 0)
                {
                    var resultRoleRemove = await _userManager.RemoveFromRolesAsync(appUserToUpdate, UserRoles.Except(SelectedRole).ToList <string>());
                }

                if (!string.IsNullOrEmpty(ChangePassword))
                {
                    if (await _userManager.HasPasswordAsync(appUserToUpdate))
                    {
                        var resultRemove = await _userManager.RemovePasswordAsync(appUserToUpdate);
                    }
                    var resultAdd = await _userManager.AddPasswordAsync(appUserToUpdate, ChangePassword);
                }

                // if (LockoutEnabled != await _userManager.IsLockedOutAsync(appUserToUpdate) && await _userManager.GetLockoutEnabledAsync(appUserToUpdate))
                // {
                //     var resultLockout = await _userManager.SetLockoutEnabledAsync(appUserToUpdate, LockoutEnabled);
                // }
            }

            return(RedirectToPage("./Index"));
        }
示例#5
0
        private void AdjustForCurrentRole(SelectedRole role)
        {
            gameStarted = role != SelectedRole.None;

            if (role == SelectedRole.Crewmate)
            {
                var stats = statsProcessor.InitialStats.Copy();
                stats.GamesStarted  -= 1;
                stats.TimesCrewmate -= 1;
                statsProcessor.ResetInitialStats(stats);

                _ = lightsManager.SwitchToCrewmateColor();
            }
            else if (role == SelectedRole.Impostor)
            {
                var stats = statsProcessor.InitialStats.Copy();
                stats.GamesStarted  -= 1;
                stats.TimesImpostor -= 1;
                statsProcessor.ResetInitialStats(stats);

                _ = lightsManager.SwitchToImpostorColor();
            }
        }
 private async Task RegisterUserAsync()
 {
     if (Nid == null || Nid.Equals(""))
     {
         UserTittle = "Ingrese Nid";
         _textBoxNid.Focus(FocusState.Programmatic);
     }
     else
     {
         if (Name == null || Name.Equals(""))
         {
             UserTittle = "Ingrese el nombre";
             _textBoxName.Focus(FocusState.Programmatic);
         }
         else
         {
             if (LastName == null || LastName.Equals(""))
             {
                 UserTittle = "Ingrese el apellido";
                 _textBoxLastName.Focus(FocusState.Programmatic);
             }
             else
             {
                 if (Telephone == null || Telephone.Equals(""))
                 {
                     UserTittle = "Ingrese el Numero de telefono";
                     _textBoxTelephone.Focus(FocusState.Programmatic);
                 }
                 else
                 {
                     if (Email == null || Email.Equals(""))
                     {
                         UserTittle = "Ingrese el email";
                         _textBoxEmail.Focus(FocusState.Programmatic);
                     }
                     else
                     {
                         if (TextBoxEvent.IsValidEmail(Email))
                         {
                             if (Password == null || Password.Equals(""))
                             {
                                 UserTittle = "Ingrese la contrseña";
                                 _textBoxPass.Focus(FocusState.Programmatic);
                             }
                             else
                             {
                                 if (User == null || User.Equals(""))
                                 {
                                     UserTittle = "Ingrese el usuario";
                                     _textBoxUser.Focus(FocusState.Programmatic);
                                 }
                                 else
                                 {
                                     if (SelectedRole == null || SelectedRole.Equals(""))
                                     {
                                         UserTittle = "Seleccione un rol";
                                     }
                                     else
                                     {
                                         await SaveDataAsync();
                                     }
                                 }
                             }
                         }
                         else
                         {
                             UserTittle = "el Email no es valido";
                             _textBoxEmail.Focus(FocusState.Programmatic);
                         }
                     }
                 }
             }
         }
     }
 }
示例#7
0
        public async Task <ActionResult> RetireConfirmed(string id, params string[] SelectedRole)
        {
            if (ModelState.IsValid)
            {
                if (id == null)
                {
                    return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
                }

                var user = await UserManager.FindByIdAsync(id);

                if (user == null)
                {
                    return(HttpNotFound());
                }
                user.ModifiedBy   = HttpContext.User.Identity.GetUserId();
                user.ModifiedDate = DateTime.Now;
                user.Status       = !user.Status;

                if (user.Status == true & user.HasBeenActivated == false)
                {
                    user.HasBeenActivated = true;
                }

                if (SelectedRole != null)
                {
                    SelectedRole = SelectedRole ?? new string[] { };
                    var userRoles = await UserManager.GetRolesAsync(user.Id);

                    var result = await UserManager.AddToRolesAsync(user.Id, SelectedRole.Except(userRoles).ToArray <string>());

                    if (!result.Succeeded)
                    {
                        ModelState.AddModelError("", result.Errors.First());

                        return(View());
                    }
                    result = await UserManager.RemoveFromRolesAsync(user.Id, userRoles.Except(SelectedRole).ToArray <string>());

                    if (!result.Succeeded)
                    {
                        ModelState.AddModelError("", result.Errors.First());

                        return(View());
                    }
                }
                var activateResult = await UserManager.UpdateAsync(user);

                if (activateResult.Succeeded)
                {
                    if (user.Status == true)
                    {
                        await UserManager.SendEmailAsync(user.Id, "CMC account is activated", "Your account has been activated by a CMC member. You now have access to the CMC Data Portal.");
                    }
                    else if (user.Status == false)
                    {
                        await UserManager.SendEmailAsync(user.Id, "CMC account is deactivated", "Your account has been deactivated by a CMC member. You may no longer access to the CMC Data Portal.");
                    }
                    return(RedirectToAction("Index"));
                }
            }
            return(View());
        }
示例#8
0
 private void CheckCommandExecute()
 {
     MessageBox.Show(SelectedRole.ToString());
 }
示例#9
0
        public async Task checkLogin(bool isLDap)
        {
            try
            {
                string userType = string.Empty;

                if (SelectedRole.Equals("Select Role"))
                {
                    userType = "Select Role";
                }
                else if (SelectedRole.Equals("Nurse"))
                {
                    userType = "N";
                }
                else if (SelectedRole.Equals("FSA"))
                {
                    userType = "F";
                }
                else
                {
                    userType = "NF";
                }


                IsPageEnabled = true;

                String method = "UserLogin";

                var obj = new login();
                obj.Name     = UserName;
                obj.pass     = Password;
                obj.roleType = userType;
                if (isLDap)
                {
                    obj.isLDap = 1;
                }

                var stringPayload = await Task.Run(() => JsonConvert.SerializeObject(obj));

                var httpContent = new StringContent(stringPayload, Encoding.UTF8, "application/json");



                using (var httpClient = new System.Net.Http.HttpClient())
                {
                    var response = await httpClient.PostAsync(Library.URL + "/" + Library.METHODE_USERLOGIN, httpContent);

                    if (response.ReasonPhrase == "Bad Request")
                    {
                        IsPageEnabled      = false;
                        ErrorText          = "Invalid user name or password.";
                        EnableSubmitButton = false;
                        return;
                    }
                    else if (response.ReasonPhrase == "Not Found")
                    {
                        IsPageEnabled      = false;
                        ErrorText          = "Invalid user name or password.";
                        EnableSubmitButton = false;
                        return;
                    }

                    if (response.Content != null)
                    {
                        var data = await response.Content.ReadAsStringAsync();

                        JArray jarray    = JArray.Parse(data);
                        string status    = jarray[0].Value <string>("status");
                        string expireday = jarray[0].Value <string>("expireday");
                        bool   isLogin   = Convert.ToBoolean(jarray[0].Value <string>("is_login"));

                        if (status == "Fail")
                        {
                            IsPageEnabled      = false;
                            EnableSubmitButton = true;
                            ErrorText          = "Invalid user name or password.";
                            return;
                        }

                        for (int i = 0; i < jarray.Count; i++)
                        {
                            JObject row = JObject.Parse(jarray[i].ToString());
                            string  id  = row["ID"].ToString();
                            if (id != "0")
                            {
                                // Storing user's detail in application data locally
                                Library.KEY_USER_ID         = id;
                                Library.KEY_USER_FIRST_NAME = row["FirstName"].ToString();
                                Library.KEY_USER_LAST_NAME  = row["LastName"].ToString();
                                Library.KEY_ROLL_TYPE       = row["RoleType"].ToString();
                                Library.KEY_USER_ROLE       = row["UserRole"].ToString();
                                Library.KEY_USER_STATUS     = row["status"].ToString();
                                Library.KEY_USER_SiteCode   = row["SiteCode"].ToString();
                                Library.KEY_USER_ccode      = row["country_id"].ToString();

                                Library.KEY_USER_regcode = row["region_id"].ToString();

                                Library.KEY_USER_siteid = row["site_id"].ToString();
                                Library.KEY_USER_roleid = row["role_Id"].ToString();

                                Library.KEY_USER_feedback_link    = row["feedback_link"].ToString();
                                Library.KEY_USER_language_id      = row["language_id"].ToString();
                                Library.KEY_USER_payment_mode_ids = row["payment_mode_ids"].ToString();
                                Library.KEY_USER_currency         = row["country_currency"].ToString();
                                Library.KEY_USER_adjusttime       = row["AdjustsiteTime"].ToString();

                                if (Library.KEY_USER_ROLE == "FSA" || Library.KEY_USER_ROLE == "Nurse" || Library.KEY_USER_ROLE == "Nurse+FSA")
                                {
                                    CreateDB();

                                    if (expireday == "")
                                    {
                                        await NavigateToHome(Library.URL, httpClient, id);
                                    }
                                    else if (expireday == "100")
                                    {
                                        await PageDialog.DisplayAlertAsync("Alert!!", "Password will expire in one day", "ok");

                                        await NavigateToHome(Library.URL, httpClient, id);
                                    }
                                    else if (expireday == "200")
                                    {
                                        await PageDialog.DisplayAlertAsync("Alert!!", "Password will expire in two days", "OK");
                                        await NavigateToHome(Library.URL, httpClient, id);
                                    }
                                    else if (expireday == "300")
                                    {
                                        await PageDialog.DisplayAlertAsync("Alert!!", "Password will expire in three days", "OK");
                                        await NavigateToHome(Library.URL, httpClient, id);
                                    }
                                    else if (expireday == "400")
                                    {
                                        var termsPopup = new TermsConditionPopup();
                                        termsPopup.Disappearing += async(s, e) =>
                                        {
                                            if (termsPopup.isAccepted)
                                            {
                                                IsPageEnabled = true;


                                                dynamic p = new JObject();
                                                p.UserId = Library.KEY_USER_ID;

                                                var Payload       = JsonConvert.SerializeObject(p);
                                                var httpMSgClient = new System.Net.Http.HttpClient();
                                                // Wrap our JSON inside a StringContent which then can be used by the HttpClient class
                                                var Content = new StringContent(Payload, Encoding.UTF8, "application/json");

                                                var msgResponse = await httpMSgClient.PostAsync(Library.URL + "/" + "TermsConditions", Content);
                                                await NavigateToHome(Library.URL, httpMSgClient, id);

                                                IsPageEnabled = false;
                                            }
                                        };
                                        await navigation.PushPopupAsync(termsPopup, true);
                                    }
                                    else if (expireday == "500")
                                    {
                                        //this.Frame.Navigate(typeof(PatientSearch), null);
                                        await PageDialog.DisplayAlertAsync("Alert!!", "Password is Expired.", "OK");
                                    }
                                    else if (expireday == "600")
                                    {
                                        //this.Frame.Navigate(typeof(PatientSearch), null);
                                        await PageDialog.DisplayAlertAsync("Alert!!", "This User Is Deactivated, Kindly Contact Admin.", "OK");
                                    }
                                    else
                                    {
                                        await PageDialog.DisplayAlertAsync("Alert!!", "Unknown Error.", "OK");
                                    }
                                }
                                else
                                {
                                    ErrorText = "Only FSA and Nurse can login in tablet.";
                                }
                            }
                            else
                            {
                                ErrorText = "Invalid user name or password.";
                            }
                        }
                    }
                }

                IsPageEnabled = false;
            }
            catch (Exception excp)
            {
                IsPageEnabled = false;


                await PageDialog.DisplayAlertAsync("Alert!!", excp.Message, "OK");
            }
        }
示例#10
0
        private async void DoAssignTans(object obj)
        {
            try
            {
                WorkInProgress = true;
                var list          = BatchTansView;
                var filteredItems = BatchTansView.Cast <BatchTanVM>();
                BatchTans = new ObservableCollection <BatchTanVM>();
                if (SelectedCurator != null)
                {
                    if (!string.IsNullOrEmpty(CommentText))
                    {
                        if (SelectedTans != null && SelectedTans.Count > 0)
                        {
                            var      invalidTans     = new List <object>();
                            TanState?tanstateToCheck = null;
                            if (SelectedCurator.Role == Role.Curator)
                            {
                                tanstateToCheck = TanState.Not_Assigned;
                            }
                            else if (SelectedCurator.Role == Role.Reviewer)
                            {
                                tanstateToCheck = TanState.Curation_Submitted;
                            }
                            else if (SelectedCurator.Role == Role.QC)
                            {
                                tanstateToCheck = TanState.Review_Accepted;
                            }
                            if (tanstateToCheck != null)
                            {
                                invalidTans = SelectedTans.Where(st => ((st as BatchTanVM).CurrentRole != 0 && (st as BatchTanVM).CurrentRole != SelectedCurator.Role) ||
                                                                 ((st as BatchTanVM).CurrentRole == 0 && (st as BatchTanVM).TanState != tanstateToCheck)).ToList();
                                if (!invalidTans.Any())
                                {
                                    var result = await RestHub.AssignTans(SelectedTans.Select(tan => (tan as BatchTanVM).Id).ToList(), SelectedCurator.UserId, U.RoleId, CommentText, SelectedRole.Equals("Curator")?Role.Curator : SelectedRole.Equals("Reviewer")?Role.Reviewer : Role.QC);

                                    if (result.UserObject != null)
                                    {
                                        AppInfoBox.ShowInfoMessage($"Tans Assigned to {SelectedRole} Successfully");
                                        SearchTans.Execute(null);
                                    }
                                    else
                                    {
                                        AppErrorBox.ShowErrorMessage("Can't Assign TANs . .", result.StatusMessage);
                                    }
                                }
                                else
                                {
                                    AppInfoBox.ShowInfoMessage($"In selected tans {string.Join(",", invalidTans.Select(tan => (tan as BatchTanVM).TanNumber + " - " + (tan as BatchTanVM).CurrentRole).ToList())} are allocated to other roles");
                                }
                            }
                            else
                            {
                                AppInfoBox.ShowInfoMessage("Please select Role");
                            }
                        }
                        else
                        {
                            AppInfoBox.ShowInfoMessage("Please select atleast One TAN From the below list to Assign TANs");
                        }
                    }
                    else
                    {
                        AppInfoBox.ShowInfoMessage("Please enter comment to Assign Selected TANs");
                    }
                }
                else
                {
                    AppInfoBox.ShowInfoMessage("Please Select User to assign TANs");
                }
            }
            catch (Exception ex)
            {
                Log.This(ex);
            }
            WorkInProgress = false;
        }
示例#11
0
 private void LobbyButton_Click(object sender, EventArgs e)
 {
     SelectedRole = SelectedRole.None;
     Close();
 }
示例#12
0
 private void ImpostorButton_Click(object sender, EventArgs e)
 {
     SelectedRole = SelectedRole.Impostor;
     Close();
 }
示例#13
0
 private void CrewmateButton_Click(object sender, EventArgs e)
 {
     SelectedRole = SelectedRole.Crewmate;
     Close();
 }