Пример #1
0
        private async void ExecuteUpdateUserCommand()
        {
            var network = Connectivity.NetworkAccess;

            if (network != NetworkAccess.Internet)
            {
                await MaterialDialog.Instance.SnackbarAsync(message : "Error: No internet access", actionButtonText : "OK", msDuration : 3000, configuration : App.snackBarConfiguration);

                return;
            }


            if (Username == null || PhoneNumber == null || University == null || Department == null)
            {
                await MaterialDialog.Instance.SnackbarAsync(message : "Error: Fill the required fields", actionButtonText : "OK", msDuration : 3000, configuration : App.snackBarConfiguration);

                return;
            }

            var loadingPageConfiguration = new MaterialLoadingDialogConfiguration()
            {
                BackgroundColor  = Color.FromHex("048B28"),
                MessageTextColor = Color.FromHex("FFFFFF"),
                CornerRadius     = 10,
                TintColor        = Color.FromHex("FFFFFF"),
                ScrimColor       = Color.FromHex("1DA1F2").MultiplyAlpha(0.05)
            };

            var loadingDialog = await MaterialDialog.Instance.LoadingDialogAsync(message : "Processing", configuration : loadingPageConfiguration);

            var updateUser = new User
            {
                Email       = Settings.EmailSettings,
                Username    = this.Username.Trim(),
                PhoneNumber = this.PhoneNumber.Trim(),
                University  = this.University.Trim(),
                Department  = this.Department.Trim(),
                Id          = Settings.KeySettings,
                Avatar      = Settings.AvatarSettings
            };

            var user = await remoteService.UpdateUser(updateUser);

            await loadingDialog.DismissAsync();

            if (user)
            {
                await MaterialDialog.Instance.SnackbarAsync(message : "Profile Updated successfully", actionButtonText : "OK", msDuration : 2000, configuration : App.snackBarConfiguration);

                IsNotBusy = false;
                Settings.UsernameSettings    = Username.Trim();
                Settings.PhoneNumberSettings = PhoneNumber.Trim();
                Settings.UniversitySettings  = University.Trim();
                Settings.DepartmentSettings  = Department.Trim();
            }
            else
            {
                await MaterialDialog.Instance.SnackbarAsync(message : "Update failed", actionButtonText : "OK", msDuration : 2000, configuration : App.snackBarConfiguration);
            }
        }
Пример #2
0
        internal static async Task <IMaterialModalPage> Loading(string message, MaterialLoadingDialogConfiguration configuration = null)
        {
            var dialog = new MaterialLoadingDialog(message, configuration);
            await dialog.ShowAsync();

            return(dialog);
        }
 internal MaterialLoadingDialog(string message, string lottieAnimation, MaterialLoadingDialogConfiguration configuration)
 {
     InitializeComponent();
     Configure(configuration);
     Message.Text           = message;
     LoadingImage.Animation = lottieAnimation;
 }
Пример #4
0
        private void ConfigureStylesheets()
        {
            var alertDialogConfiguration = new MaterialAlertDialogConfiguration
            {
                BackgroundColor   = XF.Material.Forms.Material.GetResource <Color>(MaterialConstants.Color.PRIMARY),
                TitleTextColor    = Color.White,
                TitleFontFamily   = XF.Material.Forms.Material.GetResource <OnPlatform <string> >("FontFamily.RobotoRegular"),
                MessageTextColor  = Color.White,
                MessageFontFamily = XF.Material.Forms.Material.GetResource <OnPlatform <string> >("FontFamily.RobotoRegular"),
                TintColor         = Color.White,
                ButtonFontFamily  = XF.Material.Forms.Material.GetResource <OnPlatform <string> >("FontFamily.RobotoRegular"),
                CornerRadius      = 8,
                ScrimColor        = Color.FromHex("#011A27").MultiplyAlpha(0.32),
                ButtonAllCaps     = false
            };

            var alertconfirmationDialogConfiguration = new MaterialConfirmationDialogConfiguration
            {
                BackgroundColor  = XF.Material.Forms.Material.GetResource <Color>(MaterialConstants.Color.PRIMARY),
                TitleTextColor   = Color.White,
                TitleFontFamily  = XF.Material.Forms.Material.GetResource <OnPlatform <string> >("FontFamily.RobotoRegular"),
                TintColor        = Color.White,
                ButtonFontFamily = XF.Material.Forms.Material.GetResource <OnPlatform <string> >("FontFamily.RobotoRegular"),
                CornerRadius     = 8,
                ScrimColor       = Color.FromHex("#011A27").MultiplyAlpha(0.32),
                ButtonAllCaps    = false
            };

            var alertloadingDialogConfiguration = new MaterialLoadingDialogConfiguration
            {
                BackgroundColor   = XF.Material.Forms.Material.GetResource <Color>(MaterialConstants.Color.PRIMARY),
                MessageTextColor  = Color.White,
                TintColor         = Color.White,
                MessageFontFamily = XF.Material.Forms.Material.GetResource <OnPlatform <string> >("FontFamily.RobotoRegular"),
                CornerRadius      = 8,
                ScrimColor        = Color.FromHex("#011A27").MultiplyAlpha(0.32)
            };

            var alertsimpleDialogConfiguration = new MaterialSimpleDialogConfiguration
            {
                BackgroundColor = XF.Material.Forms.Material.GetResource <Color>(MaterialConstants.Color.PRIMARY),
                TitleTextColor  = Color.White,
                TitleFontFamily = XF.Material.Forms.Material.GetResource <OnPlatform <string> >("FontFamily.RobotoRegular"),
                TintColor       = Color.White,
                TextFontFamily  = XF.Material.Forms.Material.GetResource <OnPlatform <string> >("FontFamily.RobotoRegular"),
                CornerRadius    = 8,
                ScrimColor      = Color.FromHex("#011A27").MultiplyAlpha(0.32),
                TextColor       = Color.White
            };

            MaterialDialog.Instance.SetGlobalStyles(alertDialogConfiguration, alertloadingDialogConfiguration, null, alertsimpleDialogConfiguration, alertconfirmationDialogConfiguration);
        }
        private void Configure(MaterialLoadingDialogConfiguration configuration)
        {
            var preferredConfig = configuration ?? GlobalConfiguration;

            if (preferredConfig != null)
            {
                this.BackgroundColor      = preferredConfig.ScrimColor;
                Container.CornerRadius    = preferredConfig.CornerRadius;
                Container.BackgroundColor = preferredConfig.BackgroundColor;
                Message.TextColor         = preferredConfig.MessageTextColor;
                Message.FontFamily        = preferredConfig.MessageFontFamily;
                LoadingImage.TintColor    = preferredConfig.TintColor;
            }
        }
Пример #6
0
        private void Configure(MaterialLoadingDialogConfiguration configuration)
        {
            var preferredConfig = configuration ?? GlobalConfiguration;

            if (preferredConfig == null)
            {
                return;
            }
            this.BackgroundColor      = preferredConfig.ScrimColor;
            Container.CornerRadius    = preferredConfig.CornerRadius;
            Container.BackgroundColor = preferredConfig.BackgroundColor;
            Message.TextColor         = preferredConfig.MessageTextColor;
            Message.FontFamily        = preferredConfig.MessageFontFamily;
            LoadingImage.TintColor    = preferredConfig.TintColor;
            Container.Margin          = preferredConfig.Margin == default ? Material.GetResource <Thickness>("Material.Dialog.Margin") : preferredConfig.Margin;
        }
Пример #7
0
 public void SetGlobalStyles(
     MaterialAlertDialogConfiguration dialogConfiguration                    = null,
     MaterialLoadingDialogConfiguration loadingDialogConfiguration           = null,
     MaterialSnackbarConfiguration snackbarConfiguration                     = null,
     MaterialSimpleDialogConfiguration simpleDialogConfiguration             = null,
     MaterialConfirmationDialogConfiguration confirmationDialogConfiguration = null,
     MaterialInputDialogConfiguration inputDialogConfiguration               = null,
     MaterialAlertDialogConfiguration customContentDialogConfiguration       = null)
 {
     MaterialAlertDialog.GlobalConfiguration        = dialogConfiguration;
     MaterialLoadingDialog.GlobalConfiguration      = loadingDialogConfiguration;
     MaterialSnackbar.GlobalConfiguration           = snackbarConfiguration;
     MaterialSimpleDialog.GlobalConfiguration       = simpleDialogConfiguration;
     MaterialConfirmationDialog.GlobalConfiguration = confirmationDialogConfiguration;
     MaterialInputDialog.GlobalConfiguration        = inputDialogConfiguration;
     MaterialDialogFragment.GlobalConfiguration     = customContentDialogConfiguration;
 }
        private async void MaterialButton_Clicked_4(object sender, EventArgs e)
        {
            var cc = XF.Material.Forms.Material.GetResource <OnPlatform <string> >("FontFamily.OpenSansRegular");
            var alertLoadingConfiguration = new MaterialLoadingDialogConfiguration
            {
                BackgroundColor  = XF.Material.Forms.Material.GetResource <Color>(MaterialConstants.Color.PRIMARY),
                MessageTextColor = XF.Material.Forms.Material.GetResource <Color>(MaterialConstants.Color.ON_BACKGROUND).MultiplyAlpha(0.8),
                TintColor        = XF.Material.Forms.Material.GetResource <Color>(MaterialConstants.Color.SECONDARY),
                CornerRadius     = 8,
                ScrimColor       = Color.FromHex("#232F34").MultiplyAlpha(0.32)
            };

            using (var dialog = await MaterialDialog.Instance.LoadingDialogAsync(message: "Something is running", configuration: alertLoadingConfiguration))
            {
                await Task.Delay(5000); // Represents a task that is running.

                dialog.MessageText = "Something else is running now!";
                await Task.Delay(5000);// Represents a task that is running.
            };
        }
Пример #9
0
        public App()
        {
            InitializeComponent();
            DatabaseUtil = new DatabaseUtil();
            PropertyUtils.SavesProperty("KeySound", "Bip_Bip.mp3");
            Material.Init(Application.Current, "Material.Configuration");
            Material.PlatformConfiguration.ChangeStatusBarColor(Color.FromHex("#651758"));

            var loadingDialogConfiguration = new MaterialLoadingDialogConfiguration()
            {
                BackgroundColor  = Color.White,
                MessageTextColor = Material.GetResource <Color>(MaterialConstants.Color.PRIMARY_VARIANT).MultiplyAlpha(0.8),
                TintColor        = Material.GetResource <Color>(MaterialConstants.Color.PRIMARY),
                CornerRadius     = 8,
                ScrimColor       = Color.FromHex("#232F34").MultiplyAlpha(0.32)
            };
            var inputDialogConfiguration = new MaterialInputDialogConfiguration()
            {
                BackgroundColor  = Color.White,
                TitleTextColor   = Material.GetResource <Color>(MaterialConstants.Color.PRIMARY_VARIANT).MultiplyAlpha(0.8),
                MessageTextColor = Material.GetResource <Color>(MaterialConstants.Color.PRIMARY_VARIANT).MultiplyAlpha(0.8),
                TintColor        = Material.GetResource <Color>(MaterialConstants.Color.PRIMARY),
                CornerRadius     = 8,
                ScrimColor       = Color.FromHex("#232F34").MultiplyAlpha(0.32)
            };
            var simpleDialogConfiguration = new MaterialSimpleDialogConfiguration()
            {
                BackgroundColor = Color.White,
                TitleTextColor  = Material.GetResource <Color>(MaterialConstants.Color.PRIMARY_VARIANT).MultiplyAlpha(0.8),
                TextColor       = Material.GetResource <Color>(MaterialConstants.Color.PRIMARY_VARIANT).MultiplyAlpha(0.8),
                TintColor       = Material.GetResource <Color>(MaterialConstants.Color.PRIMARY),
                CornerRadius    = 8,
                ScrimColor      = Color.FromHex("#232F34").MultiplyAlpha(0.32)
            };

            MaterialDialog.Instance.SetGlobalStyles(loadingDialogConfiguration: loadingDialogConfiguration, inputDialogConfiguration: inputDialogConfiguration, simpleDialogConfiguration: simpleDialogConfiguration);
        }
Пример #10
0
        private void InitializeMaterialConfig()
        {
            var alertDialogConfiguration = new MaterialAlertDialogConfiguration
            {
                BackgroundColor  = Color.FromHex("#29357A"),
                TitleTextColor   = Color.White,
                MessageTextColor = Color.White.MultiplyAlpha(0.8),
                TintColor        = Color.White,
                CornerRadius     = 8,
                ScrimColor       = Color.FromHex("#232F34").MultiplyAlpha(0.32),
                ButtonAllCaps    = true
            };

            var loadingDialogConfiguration = new MaterialLoadingDialogConfiguration
            {
                BackgroundColor  = Color.FromHex("#29357A"),
                MessageTextColor = Color.White.MultiplyAlpha(0.8),
                TintColor        = Color.White,
                CornerRadius     = 8,
                ScrimColor       = Color.FromHex("#232F34").MultiplyAlpha(0.32)
            };

            MaterialDialog.Instance.SetGlobalStyles(alertDialogConfiguration, loadingDialogConfiguration);
        }
Пример #11
0
        async void UploadProperty()
        {
            //checking for connectivity
            var network = Connectivity.NetworkAccess;

            if (network != NetworkAccess.Internet)
            {
                await MaterialDialog.Instance.SnackbarAsync(message : "Error: No internet access", actionButtonText : "OK", msDuration : 3000, configuration : snackBarConfiguration);

                return;
            }

            if (string.IsNullOrEmpty(ItemName) || string.IsNullOrEmpty(Location) || Price == 0M || string.IsNullOrEmpty(Description) || string.IsNullOrEmpty(Type))
            {
                await MaterialDialog.Instance.SnackbarAsync(message : "Error: Fill the required fields", actionButtonText : "OK", msDuration : 3000, configuration : snackBarConfiguration);

                return;
            }

            IsBusy = false;
            var loadingPageConfiguration = new MaterialLoadingDialogConfiguration()
            {
                BackgroundColor  = Color.FromHex("1DA1F2"),
                MessageTextColor = Color.FromHex("FFFFFF"),
                CornerRadius     = 10,
                TintColor        = Color.FromHex("FFFFFF"),
                ScrimColor       = Color.FromHex("1DA1F2").MultiplyAlpha(0.32)
            };

            var loadingDialog = await MaterialDialog.Instance.LoadingDialogAsync(message : "Processing", configuration : loadingPageConfiguration);



            if (image1 == 1)
            {
                firstImageUrl = await remoteService.UploadFile(mediaFile1.GetStream(), Path.GetFileName(mediaFile1.Path));
            }

            if (image2 == 1)
            {
                secondImageUrl = await remoteService.UploadFile(mediaFile2.GetStream(), Path.GetFileName(mediaFile2.Path));
            }

            if (image3 == 1)
            {
                thirdImageUrl = await remoteService.UploadFile(mediaFile3.GetStream(), Path.GetFileName(mediaFile3.Path));
            }

            if (image4 == 1)
            {
                fourthImageUrl = await remoteService.UploadFile(mediaFile4.GetStream(), Path.GetFileName(mediaFile4.Path));
            }

            //firstImageUrl = await remoteService.UploadFile(mediaFile1.GetStream(), Path.GetFileName(mediaFile1.Path));
            //secondImage = await remoteService.UploadFile(mediaFile2.GetStream(), Path.GetFileName(mediaFile2.Path));
            //thirdImageUrl = await remoteService.UploadFile(mediaFile3.GetStream(), Path.GetFileName(mediaFile3.Path));
            //fourthImageUrl = await remoteService.UploadFile(mediaFile4.GetStream(), Path.GetFileName(mediaFile4.Path));


            var realtorProperty = new RealtorProperty()
            {
                CompanyName = Settings.CompanyNameSettings,
                AccountName = Settings.UsernameSettings,
                Avatar      = Settings.AvatarSettings,
                ItemName    = this.ItemName.ToLower().Trim(),
                ItemPrice   = this.Price,
                Description = this.Description.ToLower().Trim(),
                Location    = this.Location.ToLower().Trim(),
                ItemType    = this.Type,
                Negotiable  = this.Negotiable,
                PhoneNumber = Settings.PhoneNumberSettings,
                Email       = Settings.EmailSettings,
                FirstImage  = firstImageUrl,
                SecondImage = secondImageUrl,
                ThirdImage  = thirdImageUrl,
                FourthImage = fourthImageUrl,
                IsFavorite  = false
            };

            var upload = await remoteService.AddProperty(realtorProperty);

            await loadingDialog.DismissAsync();

            IsBusy = true;

            if (upload)
            {
                ItemName           = null;
                Price              = 0;
                Description        = null;
                Location           = null;
                Type               = null;
                Negotiable         = null;
                FirstImage.Source  = "Upload.png";
                SecondImage.Source = "Upload.png";
                ThirdImage.Source  = "Upload.png";
                FourthImage.Source = "Upload.png";
                await MaterialDialog.Instance.SnackbarAsync(message : "Uploaded successfully", actionButtonText : "OK", msDuration : 3000, configuration : snackBarConfiguration);
            }
            else
            {
                await MaterialDialog.Instance.SnackbarAsync(message : "Uploaded failed", actionButtonText : "OK", msDuration : 3000, configuration : snackBarConfiguration);
            }



            //IsBusy = true;
        }
Пример #12
0
        private async void ExecuteSignUpCommand()
        {
            //checking for connectivity
            var network = Connectivity.NetworkAccess;

            if (network != NetworkAccess.Internet)
            {
                await MaterialDialog.Instance.SnackbarAsync(message : "Error: No internet access", actionButtonText : "OK", msDuration : 3000, configuration : App.snackBarConfiguration);

                return;
            }

            //checking for null
            if (Email == null || Username == null || PhoneNumber == null || University == null || Department == null || Password == null || ConfirmPassword == null)
            {
                await MaterialDialog.Instance.SnackbarAsync(message : "Error: Fill the required fields", actionButtonText : "OK", msDuration : 3000, configuration : App.snackBarConfiguration);

                return;
            }

            //password length
            if (Password.Length < 6)
            {
                await MaterialDialog.Instance.SnackbarAsync(message : "Error: Password length must be at least 6 characters", actionButtonText : "OK", msDuration : 3000, configuration : App.snackBarConfiguration);

                return;
            }

            if (Password.ToLower().Trim() != ConfirmPassword.ToLower().Trim())
            {
                await MaterialDialog.Instance.SnackbarAsync(message : "Error: Passwords do not match", actionButtonText : "OK", msDuration : 3000, configuration : App.snackBarConfiguration);

                return;
            }

            //loading dialog configuration
            var loadingPageConfiguration = new MaterialLoadingDialogConfiguration()
            {
                BackgroundColor  = Color.FromHex("048B28"),
                MessageTextColor = Color.FromHex("FFFFFF"),
                CornerRadius     = 10,
                TintColor        = Color.FromHex("FFFFFF"),
                ScrimColor       = Color.FromHex("1DA1F2").MultiplyAlpha(0.05)
            };

            //opacity of the page
            Opacity = 0.8;

            var loadingDialog = await MaterialDialog.Instance.LoadingDialogAsync(message : "Processing", configuration : loadingPageConfiguration);

            IsNotBusy = false;

            //remote service -  create  user
            var user = await remoteService.SignUp(Email.ToLower().Trim(), Password.ToLower().Trim());


            if (user.Id != null)
            {
                var signUp = new SignUp()
                {
                    Email       = this.Email.ToLower().Trim(),
                    Username    = this.Username.Trim(),
                    PhoneNumber = this.PhoneNumber.Trim(),
                    University  = this.University.Trim(),
                    Department  = this.Department.Trim(),
                    Id          = user.Id,
                    Avatar      = "https://firebasestorage.googleapis.com/v0/b/naijaconnect-3b414.appspot.com/o/default%20profile%20picture.png?alt=media&token=092092f9-886d-4a3c-8271-bbbcecc5678d",
                    Status      = "offline"
                };

                //save user to database
                var completeSignUp = await remoteService.SaveUser(signUp);

                await loadingDialog.DismissAsync();

                if (completeSignUp)
                {
                    Email           = null;
                    Username        = null;
                    PhoneNumber     = null;
                    University      = null;
                    Department      = null;
                    Password        = null;
                    ConfirmPassword = null;

                    IsNotBusy = true;
                    Opacity   = 1;
                    await MaterialDialog.Instance.SnackbarAsync(message : "Account created successfully", actionButtonText : "OK", msDuration : 2000, configuration : App.snackBarConfiguration);

                    await NavigationService.NavigateAsync("SignInPage");
                }
                else
                {
                    await MaterialDialog.Instance.SnackbarAsync(message : "Error occured", actionButtonText : "OK", msDuration : 2000, configuration : App.snackBarConfiguration);
                }
            }

            else
            {
                await loadingDialog.DismissAsync();

                await MaterialDialog.Instance.SnackbarAsync(message : "Error: " + user.ErrorMessage, actionButtonText : "OK", msDuration : 2000, configuration : App.snackBarConfiguration);
            }
        }
Пример #13
0
 /// <summary>
 /// Sets the global styles for <see cref="MaterialAlertDialog"/>, <see cref="MaterialLoadingDialog"/>, <see cref="MaterialSimpleDialog"/>, <see cref="MaterialConfirmationDialog"/>, and <see cref="MaterialSnackbar"/>. Parameters can be null.
 /// </summary>
 /// <param name="dialogConfiguration">Global style for <see cref="MaterialAlertDialog"/>.</param>
 /// <param name="loadingDialogConfiguration">Global style for <see cref="MaterialLoadingDialog"/>.</param>
 /// <param name="snackbarConfiguration">Global style for <see cref="MaterialSnackbar"/>.</param>
 /// <param name="simpleDialogConfiguration">Global style for <see cref="MaterialSimpleDialog"/>.</param>
 /// <param name="confirmationDialogConfiguration">Global style for <see cref="MaterialConfirmationDialog"/>.</param>
 /// <param name="inputDialogConfiguration">Global style for <see cref="MaterialInputDialog"/>.</param>
 public void SetGlobalStyles(MaterialAlertDialogConfiguration dialogConfiguration, MaterialLoadingDialogConfiguration loadingDialogConfiguration, MaterialSnackbarConfiguration snackbarConfiguration, MaterialSimpleDialogConfiguration simpleDialogConfiguration, MaterialConfirmationDialogConfiguration confirmationDialogConfiguration, MaterialInputDialogConfiguration inputDialogConfiguration)
 {
     MaterialAlertDialog.GlobalConfiguration        = dialogConfiguration;
     MaterialLoadingDialog.GlobalConfiguration      = loadingDialogConfiguration;
     MaterialSnackbar.GlobalConfiguration           = snackbarConfiguration;
     MaterialSimpleDialog.GlobalConfiguration       = simpleDialogConfiguration;
     MaterialConfirmationDialog.GlobalConfiguration = confirmationDialogConfiguration;
     MaterialInputDialog.GlobalConfiguration        = inputDialogConfiguration;
 }
Пример #14
0
 internal MaterialLoadingDialog(string message, MaterialLoadingDialogConfiguration configuration)
 {
     this.InitializeComponent();
     this.Configure(configuration);
     Message.Text = message;
 }
Пример #15
0
        private async void ExecuteNavigateToSignUpCommand()
        {
            //checking for connectivity
            var network = Connectivity.NetworkAccess;

            if (network != NetworkAccess.Internet)
            {
                await MaterialDialog.Instance.SnackbarAsync(message : "Error: No internet access", actionButtonText : "OK", msDuration : 3000, configuration : snackBarConfiguration);

                return;
            }


            if (CompanyName == null || Username == null || Email == null || PhoneNumber == null || Address == null || Password == null || ConfirmPassword == null)
            {
                await MaterialDialog.Instance.SnackbarAsync(message : "Error: Fill the required fields", actionButtonText : "OK", msDuration : 3000, configuration : snackBarConfiguration);

                return;
            }

            if (Password.Length < 4)
            {
                await MaterialDialog.Instance.SnackbarAsync(message : "Error: Password length must be more than 4 characters", actionButtonText : "OK", msDuration : 3000, configuration : snackBarConfiguration);

                return;
            }

            if (Password.ToLower().Trim() != ConfirmPassword.ToLower().Trim())
            {
                await MaterialDialog.Instance.SnackbarAsync(message : "Error: Passwords do not match", actionButtonText : "OK", msDuration : 3000, configuration : snackBarConfiguration);

                return;
            }

            IsNotBusy = false;
            var loadingPageConfiguration = new MaterialLoadingDialogConfiguration()
            {
                BackgroundColor  = Color.FromHex("1DA1F2"),
                MessageTextColor = Color.FromHex("FFFFFF"),
                CornerRadius     = 10,
                TintColor        = Color.FromHex("FFFFFF"),
                ScrimColor       = Color.FromHex("1DA1F2").MultiplyAlpha(0.32)
            };

            var loadingDialog = await MaterialDialog.Instance.LoadingDialogAsync(message : "Processing", configuration : loadingPageConfiguration);

            var validateUser = await remoteService.ValidateUsername(Username.ToLower().Trim());

            if (!validateUser)
            {
                await MaterialDialog.Instance.SnackbarAsync(message : "Username already exist", actionButtonText : "OK", msDuration : 2000, configuration : snackBarConfiguration);

                await loadingDialog.DismissAsync();

                IsNotBusy = true;
                return;
            }

            var signUp = new SignUp
            {
                CompanyName = this.CompanyName.ToLower().Trim(),
                Username    = this.Username.ToLower().Trim(),
                Email       = this.Email.ToLower().Trim(),
                PhoneNumber = this.PhoneNumber.ToLower().Trim(),
                Address     = this.Address.ToLower().Trim(),
                Password    = this.Password.ToLower().Trim(),
            };

            var user = await remoteService.SignUpAsync(signUp);



            await loadingDialog.DismissAsync();

            IsNotBusy = true;
            if (user)
            {
                CompanyName     = null;
                Username        = null;
                Email           = null;
                Password        = null;
                Address         = null;
                PhoneNumber     = null;
                ConfirmPassword = null;
                //await App.Current.MainPage.DisplayAlert("SignUp Success", "Congrats your account has been created", "Ok");
                await MaterialDialog.Instance.SnackbarAsync(message : "Account created successfully", actionButtonText : "OK", msDuration : 2000, configuration : snackBarConfiguration);

                await NavigationService.NavigateAsync("LoginPage");
            }
            else
            {
                await MaterialDialog.Instance.SnackbarAsync(message : "Sign up failed", actionButtonText : "OK", msDuration : 2000, configuration : snackBarConfiguration);
            }
        }
Пример #16
0
 /// <summary>
 /// Sets the global styles for <see cref="MaterialAlertDialog"/>, <see cref="MaterialLoadingDialog"/>,and <see cref="MaterialSnackbar"/>.
 /// </summary>
 /// <param name="dialogConfiguration">Global style for <see cref="MaterialAlertDialog"/>.</param>
 /// <param name="loadingDialogConfiguration">Global style for <see cref="MaterialLoadingDialog"/>.</param>
 /// <param name="snackbarConfiguration">Global style for <see cref="MaterialSnackbar"/>.</param>
 public static void SetGlobalStyles(MaterialAlertDialogConfiguration dialogConfiguration, MaterialLoadingDialogConfiguration loadingDialogConfiguration, MaterialSnackbarConfiguration snackbarConfiguration)
 {
     MaterialAlertDialog.GlobalConfiguration   = dialogConfiguration;
     MaterialLoadingDialog.GlobalConfiguration = loadingDialogConfiguration;
     MaterialSnackbar.GlobalConfiguration      = snackbarConfiguration;
 }
Пример #17
0
 public Task <IMaterialModalPage> LoadingDialogAsync(
     string message,
     MaterialLoadingDialogConfiguration configuration = null)
 {
     return(MaterialLoadingDialog.Loading(message, configuration));
 }
Пример #18
0
 /// <summary>
 /// Shows a dialog indicating a running task.
 /// </summary>
 /// <param name="message">The message of the dialog.</param>
 /// <param name="configuration">The style of the loading dialog.</param>
 public static async Task <IMaterialModalPage> ShowLoadingDialogAsync(string message, MaterialLoadingDialogConfiguration configuration = null)
 {
     return(await MaterialLoadingDialog.Loading(message, configuration));
 }
Пример #19
0
        async void SignUp()
        {
            var network = Connectivity.NetworkAccess;

            if (network != NetworkAccess.Internet)
            {
                // using display alert with MVVM
                await Application.Current.MainPage.DisplayAlert("Alert", "Please check your internet connection ", "Ok");

                return;
            }
            if (Surname == null || Firstname == null || Email == null || Address == null || MobileNumber == null || Password == null || ConfirmPassword == null)
            {
                await Application.Current.MainPage.DisplayAlert("Alert", "Please input all fields", "Ok");

                return;
            }
            if (Password != ConfirmPassword)
            {
                await Application.Current.MainPage.DisplayAlert("Alert", "Please make sure Password and confirm passwoed are the same  ", "Ok");

                return;
            }
            IsBusy = false;

            //  add loading dialog here
            var loadingDialogConfiguration = new MaterialLoadingDialogConfiguration()
            {
                BackgroundColor  = Color.FromHex("010088"),
                MessageTextColor = Color.FromHex("FFFFFF"),
                //  MessageFontFamily =
                TintColor    = Color.FromHex("FFFFFF"),
                CornerRadius = 20,
                // ScrimColor =
            };

            var snackBarconfiguration = new MaterialSnackbarConfiguration()
            {
                TintColor    = Color.FromHex("#00FF01"),
                CornerRadius = 20,
                //  MessageTextColor = Color.White.MultiplyAlpha(0.6),
                MessageTextColor = Color.White,
                BackgroundColor  = Color.FromHex("#010088")
            };

            var loadingDialog = await MaterialDialog.Instance.LoadingDialogAsync(message : "Something is running...", configuration : loadingDialogConfiguration);

            // also add validation of user here oo or add in the remote class

            var signUp = new SignUp
            {
                Surname         = this.Surname,
                FirstName       = this.Firstname,
                Email           = this.Email,
                Address         = this.Address,
                MobileNumber    = this.MobileNumber,
                Password        = this.Password,
                ConfrimPassword = this.ConfirmPassword
            };

            var user = await remoteServices.SignUpAsync(signUp);

            await loadingDialog.DismissAsync();

            IsBusy = true;
            if (user)
            {
                Surname         = null;
                Firstname       = null;
                Email           = null;
                Address         = null;
                MobileNumber    = null;
                Password        = null;
                ConfirmPassword = null;

                await MaterialDialog.Instance.SnackbarAsync(message : "Account created successfully .",
                                                            actionButtonText : "OK",
                                                            msDuration : 3000,
                                                            configuration : snackBarconfiguration);

                await NavigationService.NavigateAsync("LoginPage");
            }
            else
            {
                await MaterialDialog.Instance.SnackbarAsync(message : "Sign up failed! Retry",
                                                            actionButtonText : "OK",
                                                            msDuration : 3000,
                                                            configuration : snackBarconfiguration);

                // await Application.Current.MainPage.DisplayAlert("Alert", "Sign up failed ", "Ok");
            }
        }
Пример #20
0
        private async void ExecuteUpdateUserCommand()
        {
            var network = Connectivity.NetworkAccess;

            if (network != NetworkAccess.Internet)
            {
                await MaterialDialog.Instance.SnackbarAsync(message : "Error: No internet access", actionButtonText : "OK", msDuration : 3000, configuration : snackBarConfiguration);

                return;
            }


            if (CompanyName == null || Username == null || Email == null || PhoneNumber == null || Address == null)
            {
                await MaterialDialog.Instance.SnackbarAsync(message : "Error: Fill the required fields", actionButtonText : "OK", msDuration : 3000, configuration : snackBarConfiguration);

                return;
            }

            var loadingPageConfiguration = new MaterialLoadingDialogConfiguration()
            {
                BackgroundColor  = Color.FromHex("1DA1F2"),
                MessageTextColor = Color.FromHex("FFFFFF"),
                CornerRadius     = 10,
                TintColor        = Color.FromHex("FFFFFF"),
                ScrimColor       = Color.FromHex("1DA1F2").MultiplyAlpha(0.32)
            };

            var loadingDialog = await MaterialDialog.Instance.LoadingDialogAsync(message : "Processing", configuration : loadingPageConfiguration);

            if (number == 1)
            {
                profilePicUrl = await remoteService.UploadFile(mediaFile.GetStream(), Path.GetFileName(mediaFile.Path));
            }

            if (number != 1)
            {
                profilePicUrl = Avatar.Source.ToString();
            }

            var updateUser = new User
            {
                CompanyName          = this.CompanyName.ToLower().Trim(),
                Username             = this.Username.ToLower().Trim(),
                PhoneNumber          = this.PhoneNumber.ToLower().Trim(),
                Address              = this.Address.ToLower().Trim(),
                Email                = this.Email.ToLower().Trim(),
                Avatar               = profilePicUrl,
                AlternatePhoneNumber = this.AlternatePhoneNumber,
                Password             = Settings.PasswordSettings.ToLower()
            };

            var user = await remoteService.UpdateUser(updateUser);



            await loadingDialog.DismissAsync();

            //IsNotBusy = true;
            if (user)
            {
                await MaterialDialog.Instance.SnackbarAsync(message : "Profile Updated successfully", actionButtonText : "OK", msDuration : 2000, configuration : snackBarConfiguration);

                IsNotBusy = false;
            }
            else
            {
                await MaterialDialog.Instance.SnackbarAsync(message : "Update failed", actionButtonText : "OK", msDuration : 2000, configuration : snackBarConfiguration);
            }


            //var parameters = new NavigationParameters();
            //parameters.Add("nav", new User()
            //{
            //    CompanyName = this.CompanyName,
            //    Username = this.username,
            //    PhoneNumber = this.PhoneNumber,
            //    Address = this.Address,
            //    Email = this.Email,
            //    Avatar = this.Avatar,
            //    AlternatePhoneNumber = this.AlternatePhoneNumber
            //    });


            //await NavigationService.NavigateAsync("NavigationPage/EditProfilePage", parameters);
        }