public IEnumerable <string> GetErrors()
        {
            var errors = new List <string>();

            if (ErrorMessage.IsVisible)
            {
                errors.Add(ErrorMessage.Get());
            }

            if (EmailError.IsVisible)
            {
                errors.Add(EmailError.Get());
            }

            if (FullNameError.IsVisible)
            {
                errors.Add(FullNameError.Get());
            }

            if (PasswordError.IsVisible)
            {
                errors.Add(PasswordError.Get());
            }

            if (ConfirmPasswordError.IsVisible)
            {
                errors.Add(ConfirmPasswordError.Get());
            }

            return(errors);
        }
Beispiel #2
0
        internal static bool PasswordIsValid(string pass, out PasswordError err)
        {
            //min 6 chars, max 12 chars
            if (pass.Length < 6 || pass.Length > 12)
            {
                err = PasswordError.Length;
                return(false);
            }

            //No white space
            if (pass.Contains(" "))
            {
                err = PasswordError.Whitespace;
                return(false);
            }
            //At least 1 upper case letter
            if (!pass.Any(char.IsUpper))
            {
                err = PasswordError.Upper;
                return(false);
            }

            //At least 1 lower case letter
            if (!pass.Any(char.IsLower))
            {
                err = PasswordError.Lover;
                return(false);
            }

            //At least 1 special char
            string specialCharacters = @"%!@#$%^&*()?/>.<,:;'\|}]{[_~`+=-" + "\"";

            char[] specialCharactersArray = specialCharacters.ToCharArray();
            foreach (char c in specialCharactersArray)
            {
                if (pass.Contains(c))
                {
                    err = PasswordError.OK;
                    return(true);
                }
            }

            err = PasswordError.SpecificSymbol;
            return(false);
        }
Beispiel #3
0
        private async void btnSave_Clicked(object sender, EventArgs e)
        {
            try
            {
                lblError.Text = "";
                if (!string.IsNullOrEmpty(txtOldPassword.Text) && !string.IsNullOrEmpty(txtNewPassword.Text) && !string.IsNullOrEmpty(txtReNewPassword.Text))
                {
                    UserPassword UserPassword = new UserPassword();
                    UserPassword.old_password          = txtOldPassword.Text.Trim();
                    UserPassword.password              = txtNewPassword.Text.Trim();
                    UserPassword.password_confirmation = txtReNewPassword.Text.Trim();
                    object Response = await App.TodoManager.ChangePassword(UserPassword);

                    if (Response is PasswordRootResponse)
                    {
                        txtNewPassword.Text   = "";
                        txtOldPassword.Text   = "";
                        txtReNewPassword.Text = "";
                        lblError.TextColor    = Color.Green;
                        lblError.Text         = ((PasswordRootResponse)Response).data.message;
                        DependencyService.Get <IMessage>().LongAlert(((PasswordRootResponse)Response).data.message);
                    }
                    else
                    {
                        string        ErrorString      = "";
                        PasswordError objPasswordError = (PasswordError)Response;
                        foreach (var v in objPasswordError.errors.validation)
                        {
                            ErrorString += string.Join("\n", v.Value);
                        }
                        lblError.TextColor = Color.Red;
                        lblError.Text      = ErrorString;
                    }
                }
                else
                {
                    DependencyService.Get <IMessage>().LongAlert("All Fields are required");
                }
            }
            catch (Exception ex)
            {
                DependencyService.Get <IMessage>().LongAlert();
            }
        }
Beispiel #4
0
        private async void UpdateDetails()
        {
            lblerrorheader.Text = "";
            lblError.Text       = "";
            if (Validations())
            {
                CommonDropDowns   objCommonDropDowns   = new Models.CommonDropDowns();
                UpdateUserDetails objUpdateUserDetails = new Models.UpdateUserDetails();
                objUpdateUserDetails.name            = txtName.Text.Trim();
                objUpdateUserDetails.email           = txtEmail.Text.Trim();
                objUpdateUserDetails.phone           = txtPhone.Text.Trim();
                objUpdateUserDetails.designation     = txtDesignation.Text.Trim();
                objUpdateUserDetails.date_of_birth   = Convert.ToDateTime(txtDob.Date).ToString("yyyy-MM-dd");
                objUpdateUserDetails.gender          = ((CommonDropDowns)pkrGender.SelectedItem).Name;
                objUpdateUserDetails.blood_group     = pkrBloodGroup.SelectedItem.ToString();
                objUpdateUserDetails.seniority_level = ((CommonDropDowns)pkrseniorityLevel.SelectedItem).ID.ToString();
                UserDetailsInfo objUserDetailsInfo = new Models.UserDetailsInfo()
                {
                    emergency_number = txtEmergencyNumber.Text != null?txtEmergencyNumber.Text.Trim() : "", employee_id = txtId.Text != null?txtId.Text.Trim() : ""
                };
                objUpdateUserDetails.info = objUserDetailsInfo;
                object response = await App.TodoManager.UpdateProfileDetails(objUpdateUserDetails);

                if (response is UserDetais)
                {
                    lblError.TextColor       = Color.Green;
                    lblerrorheader.TextColor = Color.Green;
                    lblerrorheader.Text      = "";
                    lblError.Text            = "Profile Updated successfully";

                    #region ChangeDatainSQL
                    // Change data in sql lite after updating profile
                    LoggedInUser objLogedInUser = new LoggedInUser();
                    objLogedInUser.sso_token     = App.Authorization;
                    objLogedInUser.id            = App.id;
                    objLogedInUser.Name          = txtName.Text;
                    objLogedInUser.photo_url     = App.KyorData.photo_url;
                    objLogedInUser.Designation   = txtDesignation.Text;
                    objLogedInUser.CorporateLogo = App.CorporateImageURl;
                    objLogedInUser.Gender        = objUpdateUserDetails.gender;
                    //objLogedInUser.MaritalStatus = objUpdateUserDetails.marital_status;
                    App.Database.SaveItem(objLogedInUser);
                    App.KyorData.name = txtName.Text;
                    App.Gender        = objUpdateUserDetails.gender;
                    //  App.MaritalStatus = objUpdateUserDetails.marital_status;
                    #endregion
                    DependencyService.Get <IMessage>().LongAlert("Profile Updated successfully");
                }
                else
                {
                    string        ErrorString      = "";
                    PasswordError objPasswordError = (PasswordError)response;
                    foreach (var v in objPasswordError.errors.validation)
                    {
                        ErrorString += string.Join("\n", v.Value);
                    }
                    lblError.TextColor       = Color.Red;
                    lblError.Text            = ErrorString;
                    lblerrorheader.Text      = "Validations";
                    lblerrorheader.TextColor = Color.Red;
                    DependencyService.Get <IMessage>().LongAlert("Unable to pass validations");
                }
            }
        }
Beispiel #5
0
        private async void Button_Clicked(object sender, EventArgs e)
        {
            try
            {
                bool valid   = false;
                var  content = new MultipartFormDataContent();
                var  action  = await DisplayActionSheet("Upload", "Cancel", null, "Camera", "Gallary");

                if (action == "Camera")
                {
                    var cameraStatus = await CrossPermissions.Current.CheckPermissionStatusAsync(Permission.Camera);

                    var storageStatus = await CrossPermissions.Current.CheckPermissionStatusAsync(Permission.Storage);

                    if (cameraStatus != PermissionStatus.Granted || storageStatus != PermissionStatus.Granted)
                    {
                        var results = await CrossPermissions.Current.RequestPermissionsAsync(new[] { Permission.Camera, Permission.Storage });

                        cameraStatus  = results[Permission.Camera];
                        storageStatus = results[Permission.Storage];
                    }
                    else
                    {
                        valid = true;
                    }

                    if ((cameraStatus == PermissionStatus.Granted && storageStatus == PermissionStatus.Granted) | valid)
                    {
                        valid = true;
                        await CrossMedia.Current.Initialize();

                        if (!CrossMedia.Current.IsCameraAvailable || !CrossMedia.Current.IsTakePhotoSupported)
                        {
                            await DisplayAlert("No Camera", ":( No camera available.", "OK");

                            return;
                        }
                        overlay.IsVisible = true;
                        _mediaFile        = await CrossMedia.Current.TakePhotoAsync(new StoreCameraMediaOptions
                        {
                            Directory          = "Sample",
                            Name               = "Image.jpg",
                            PhotoSize          = PhotoSize.Medium,
                            CompressionQuality = 95,
                        });

                        // lblUpload.Text = _mediaFile.Path;
                        overlay.IsVisible = true;
                        if (_mediaFile == null)
                        {
                            return;
                        }
                        string toBeSearched = "Sample/";
                        int    ix           = (_mediaFile.Path).IndexOf(toBeSearched);
                        if (ix != -1)
                        {
                            string name         = (_mediaFile.Path).Substring(ix + toBeSearched.Length);
                            var    memoryStream = new MemoryStream();
                            _mediaFile.GetStream().CopyTo(memoryStream);
                            _mediaFile.Dispose();
                            content.Add(new StringContent(txtPhone.Text), "phone");
                            content.Add(new StreamContent(new MemoryStream(memoryStream.ToArray())), "photo", name);
                        }
                    }
                    else
                    {
                        DependencyService.Get <IMessage>().LongAlert("Camera Permission Not Granted");
                    }
                }
                else
                if (action == "Gallary")
                {
                    try
                    {
                        filedata = await CrossFilePicker.Current.PickFile();

                        overlay.IsVisible = true;
                        byte[] _bytes = DependencyService.Get <IImageCompress>().ResizeImage(filedata.DataArray);
                        if (filedata.DataArray.Length < 5000000)
                        {
                            content.Add(new StringContent(txtPhone.Text), "phone");
                            content.Add(new StreamContent(new MemoryStream(_bytes)), "photo", filedata.FileName);
                            valid = true;
                        }
                        else
                        {
                            DependencyService.Get <IMessage>().LongAlert("Please Upload Photo less than 5 Mb");
                            return;
                        }
                    }
                    catch (Exception ex)
                    {
                        DependencyService.Get <IMessage>().LongAlert(ex.ToString());
                    }
                }

                if (valid)
                {
                    object response = await App.TodoManager.UpdateUserProfilePicture(content);

                    if (response is UserDetais)
                    {
                        App.KyorData.photo_url = ((UserDetais)response).data.photo_url;
                        ImgUserImage.Source    = ((UserDetais)response).data.photo_url;
                        DependencyService.Get <IMessage>().LongAlert("Photo Upload successfully");
                    }
                    else
                    {
                        string        ErrorString      = "";
                        PasswordError objPasswordError = (PasswordError)response;
                        try
                        {
                            foreach (var v in objPasswordError.errors.validation)
                            {
                                ErrorString += string.Join("\n", v.Value);
                            }
                            lblError.TextColor       = Color.Red;
                            lblError.Text            = ErrorString;
                            lblerrorheader.Text      = "Validations";
                            lblerrorheader.TextColor = Color.Red;
                            DependencyService.Get <IMessage>().LongAlert(objPasswordError.errors.message);
                        }
                        catch (Exception)
                        {
                            DependencyService.Get <IMessage>().LongAlert(objPasswordError.errors.message);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                DependencyService.Get <IMessage>().LongAlert(ex.ToString());
                await DisplayAlert("Exception", ex.ToString(), "Ok");
            }
            finally
            {
                overlay.IsVisible = false;
            }
        }