Beispiel #1
0
        private async Task LoadTeam()
        {
            var jData = await DataService.Get($"Team/{Preferences.Get("ClusterId", "")}");

            if (jData == "ConnectionError")
            {
                StandardMessagesDisplay.NoConnectionToast();
            }
            else if (jData == "null")
            {
                StandardMessagesDisplay.NoDataDisplayMessage();
            }
            else if (jData == "Error")
            {
                StandardMessagesDisplay.Error();
            }
            else if (jData == "ErrorTracked")
            {
                StandardMessagesDisplay.ErrorTracked();
            }
            else
            {
                try
                {
                    var data = JsonConvert.DeserializeObject <Dictionary <string, TeamModel> >(jData);

                    if (data != null)
                    {
                        foreach (KeyValuePair <string, TeamModel> item in data)
                        {
                            if (item.Value.Id.ToString() == Preferences.Get("TeamId", "").ToString())
                            {
                                Team = new TeamModel
                                {
                                    Id                 = item.Value.Id,
                                    FId                = item.Key.ToString(),
                                    CHWName            = item.Value.CHWName,
                                    SocialMobilizerId  = item.Value.SocialMobilizerId,
                                    TeamNo             = item.Value.TeamNo,
                                    TotalChilds        = item.Value.TotalChilds,
                                    TotalClinics       = item.Value.TotalClinics,
                                    TotalDoctors       = item.Value.TotalDoctors,
                                    TotalHouseholds    = item.Value.TotalHouseholds,
                                    TotalInfluencers   = item.Value.TotalInfluencers,
                                    TotalMasjeeds      = item.Value.TotalMasjeeds,
                                    TotalSchools       = item.Value.TotalSchools,
                                    TotalGuestChilds   = item.Value.TotalGuestChilds,
                                    TotalRefugeeChilds = item.Value.TotalRefugeeChilds,
                                    TotalReturnChilds  = item.Value.TotalReturnChilds
                                };
                                StaticDataStore.TeamStats = Team;
                                Preferences.Set("TeamFId", Team.FId);
                            }
                        }
                    }
                }
                catch (Exception ex)
                {
                    Crashes.TrackError(ex);
                    StandardMessagesDisplay.InputToast(ex.Message);
                }
            }
        }
Beispiel #2
0
        private async void SubDelete(object obj)
        {
            if (SelectedChild?.FId != null)
            {
                var VaccineData = await DataService.Get($"Vaccine/{SelectedChild.Id}");

                if (VaccineData == "ConnectionError")
                {
                    StandardMessagesDisplay.NoConnectionToast();
                }
                else if (VaccineData == "null")
                {
                    var isDeleteAccepted = await StandardMessagesDisplay.DeleteDisplayMessage(SelectedChild.FullName);

                    if (isDeleteAccepted)
                    {
                        if (Family?.Id != Guid.Empty)
                        {
                            var deleteResponse = await DataService.Delete($"Child/{Family?.Id}/{SelectedChild.FId}");

                            if (deleteResponse == "ConnectionError")
                            {
                                StandardMessagesDisplay.NoConnectionToast();
                            }
                            else if (deleteResponse == "Error")
                            {
                                StandardMessagesDisplay.Error();
                            }
                            else if (deleteResponse == "ErrorTracked")
                            {
                                StandardMessagesDisplay.ErrorTracked();
                            }
                            else if (deleteResponse == "null")
                            {
                                _ = await DataService.Put((--StaticDataStore.TeamStats.TotalChilds).ToString(), $"Team/{Preferences.Get("ClusterId", "")}/{Preferences.Get("TeamId", "")}/TotalChilds");

                                StandardMessagesDisplay.ItemDeletedToast();

                                Childs?.Remove(SelectedChild);
                            }
                        }
                    }
                    else
                    {
                        return;
                    }
                }
                else
                {
                    try
                    {
                        var num = JsonConvert.DeserializeObject <Dictionary <string, VaccineModel> >(VaccineData);

                        if (num != null)
                        {
                            StandardMessagesDisplay.ChildRecursiveDeletionNotAllowed(SelectedChild?.FullName, num.Values.Count);
                        }
                    }
                    catch (Exception ex)
                    {
                        Crashes.TrackError(ex);
                        StandardMessagesDisplay.InputToast(ex.Message);
                    }
                }
            }
        }
Beispiel #3
0
        public async void SignIn(string userName, string userPassword)
        {
            if (Connectivity.NetworkAccess != NetworkAccess.Internet)
            {
                StandardMessagesDisplay.NoConnectionToast();
            }
            else
            {
                var jSignInResponse = await Account.SignIn(userName, userPassword);

                if (jSignInResponse.Contains("Error"))
                {
                    StandardMessagesDisplay.CommonToastMessage(jSignInResponse);
                }
                else if (jSignInResponse == "ConnectionError")
                {
                    StandardMessagesDisplay.NoConnectionToast();
                }
                else if (jSignInResponse == "ErrorTracked")
                {
                    StandardMessagesDisplay.ErrorTracked();
                }
                else
                {
                    try
                    {
                        var signInResponse = JsonConvert.DeserializeObject <JObject>(jSignInResponse);

                        if (signInResponse != null)
                        {
                            var localId = signInResponse?.GetValue("localId")?.ToString();
                            Preferences.Set("UserLocalId", localId);
                            Preferences.Set("ProfileEmail", signInResponse?.GetValue("email")?.ToString());

                            string accountInfoJson = await Account.AccountInfoLookup(signInResponse?.GetValue("idToken")?.ToString());

                            var accountInfo = JsonConvert.DeserializeObject <JObject>(accountInfoJson);

                            var claimsJson = accountInfo["users"][0]["customAttributes"]?.ToString();

                            var claims = JsonConvert.DeserializeObject <JObject>(claimsJson);

                            var role = claims.GetValue("Role")?.ToString();
                            Preferences.Set("UserRole", role);

                            if (RememberMe)
                            {
                                await Xamarin.Essentials.SecureStorage.SetAsync("isLogged", "1");
                            }

                            LoadProfile(Preferences.Get("UserLocalId", "").ToString());
                            await LoadCluster();
                            await LoadTeam();
                            await LoadVaccinePeriod();

                            GoToApp();
                        }
                    }
                    catch (Exception ex)
                    {
                        Crashes.TrackError(ex);
                        StandardMessagesDisplay.InputToast(ex.Message);
                    }
                }
            }
        }