private void ConvertToModel(string jData)
        {
            try
            {
                var data = JsonConvert.DeserializeObject <ProfileModel>(jData);

                if (data != null)
                {
                    if (Preferences.Get("UserLocalId", "") == data.LocalId)
                    {
                        Profile = new ProfileModel
                        {
                            ClusterId           = data.ClusterId,
                            LocalId             = data.LocalId,
                            Role                = data.Role,
                            TeamId              = data.TeamId,
                            Id                  = data.Id,
                            FullName            = data.FullName,
                            Age                 = data.Age,
                            FatherOrHusbandName = data.FatherOrHusbandName,
                            Gender              = data.Gender
                        };
                    }
                }
            }
            catch (Exception ex)
            {
                Crashes.TrackError(ex);
                StandardMessagesDisplay.InputToast(ex.Message);
            }
        }
Beispiel #2
0
        private async Task CreateUserMethod()
        {
            try
            {
                UserRecordArgs args = new UserRecordArgs()
                {
                    Email         = Email,
                    EmailVerified = false,
                    PhoneNumber   = $"+{PhoneNumber}",
                    Password      = Password,
                    DisplayName   = FullName,
                    Disabled      = false,
                    Uid           = Guid.NewGuid().ToString()
                };
                UserRecord userRecord = await FirebaseAuth.DefaultInstance.CreateUserAsync(args);

                StandardMessagesDisplay.UserAdded();
                Uid = args.Uid;
                StandardMessagesDisplay.InputToast("User added");
            }
            catch (Exception ex)
            {
                Crashes.TrackError(ex);
                StandardMessagesDisplay.InputToast(ex.Message);
            }
        }
Beispiel #3
0
        public async void AddRoleClaim()
        {
            try
            {
                if (FirebaseApp.DefaultInstance == null)
                {
                    FirebaseApp.Create(new AppOptions()
                    {
                        Credential = GoogleCredential.FromJson(privateKeyJson)
                    });
                }

                // Create the custom user claim that has the role key
                var claims = new Dictionary <string, object>
                {
                    { CustomClaimTypes.Role, Role }
                };

                // This will call the Firebase Auth server and set the custom claim for the user
                await FirebaseAuth.DefaultInstance.SetCustomUserClaimsAsync(User.UId, claims);

                StandardMessagesDisplay.InputToast("Claims added");
            }
            catch (Exception ex)
            {
                Crashes.TrackError(ex);
                StandardMessagesDisplay.InputToast(ex.Message);
            }
        }
        public async void Get()
        {
            var jData = await DataService.Get($"Family/{Preferences.Get("TeamId", "")}");


            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, FamilyModel> >(jData);

                    if (data != null)
                    {
                        foreach (KeyValuePair <string, FamilyModel> item in data)
                        {
                            StaticDataStore.FamilyNumbers.Add(item.Value.HouseNo);
                            Families?.Add(
                                new FamilyModel
                            {
                                FId         = item.Key.ToString(),
                                Id          = item.Value.Id,
                                ParentName  = item.Value.ParentName,
                                PhoneNumber = item.Value.PhoneNumber,
                                HouseNo     = item.Value.HouseNo
                            }
                                );
                        }
                    }

                    if (Families != null)
                    {
                        StaticDataStore.Families = Families;
                        StaticDataStore.TeamStats.TotalHouseholds = Families.Count;
                    }
                }
                catch (Exception ex)
                {
                    Crashes.TrackError(ex);
                    StandardMessagesDisplay.InputToast(ex.Message);
                }
            }
        }
        public async void Get()
        {
            var jData = await DataService.Get($"Vaccine/{Child?.Id}");

            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, VaccineModel> >(jData);

                    if (data != null)
                    {
                        foreach (KeyValuePair <string, VaccineModel> item in data)
                        {
                            VaccineList?.Add(
                                new VaccineModel
                            {
                                Id            = item.Value.Id,
                                RegisteredBy  = item.Value.RegisteredBy,
                                VaccinePeriod = item.Value.VaccinePeriod,
                                VaccineStatus = item.Value.VaccineStatus,
                                FId           = item.Key
                            }
                                );
                        }
                    }
                    DateTime VaccinePeriod = VaccineList.OrderBy(x => x.VaccinePeriod).LastOrDefault().VaccinePeriod;

                    if (VaccinePeriodValidator.IsPeriodAvailable(VaccinePeriod))
                    {
                        CurrentVaccine = VaccineList.OrderBy(x => x.VaccinePeriod).LastOrDefault();
                    }
                }
                catch (Exception ex)
                {
                    Crashes.TrackError(ex);
                    StandardMessagesDisplay.InputToast(ex.Message);
                }
            }
        }
        public async void Get()
        {
            var jData = await DataService.Get($"Masjeed/{Preferences.Get("TeamId", "")}");

            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, MasjeedModel> >(jData);

                    if (data != null)
                    {
                        foreach (KeyValuePair <string, MasjeedModel> item in data)
                        {
                            Masjeeds?.Add(
                                new MasjeedModel
                            {
                                FId           = item.Key.ToString(),
                                Id            = item.Value.Id,
                                MasjeedName   = item.Value.MasjeedName,
                                KeyInfluencer = item.Value.KeyInfluencer,
                                DoYouHavePermissionForAdsInMasjeed = item.Value.DoYouHavePermissionForAdsInMasjeed,
                                DoesImamSupportsVaccine            = item.Value.DoesImamSupportsVaccine,
                                Latitude  = item.Value.Latitude,
                                Longitude = item.Value.Longitude,
                                IsActive  = item.Value.IsActive
                            }
                                );
                        }
                    }
                }
                catch (Exception ex)
                {
                    Crashes.TrackError(ex);
                    StandardMessagesDisplay.InputToast(ex.Message);
                }
            }
        }
Beispiel #7
0
        public async void Get()
        {
            var jData = await DataService.Get($"Child/{Family?.Id}");

            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, ChildModel> >(jData);

                    if (data != null)
                    {
                        foreach (KeyValuePair <string, ChildModel> item in data)
                        {
                            Childs?.Add(
                                new ChildModel
                            {
                                FId          = item.Key.ToString(),
                                Id           = item.Value.Id,
                                FullName     = item.Value.FullName,
                                DOB          = item.Value.DOB,
                                Gender       = item.Value.Gender,
                                OPV0         = item.Value.OPV0,
                                RINo         = item.Value.RINo,
                                RegisteredBy = item.Value.RegisteredBy
                            });
                        }
                    }
                }
                catch (Exception ex)
                {
                    Crashes.TrackError(ex);
                    StandardMessagesDisplay.InputToast(ex.Message);
                }
            }
        }
Beispiel #8
0
        public async void Get()
        {
            var jData = await DataService.Get($"Announcements");

            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, AnnouncementsModel> >(jData);

                    if (data != null)
                    {
                        foreach (KeyValuePair <string, AnnouncementsModel> item in data)
                        {
                            Announcements?.Add(
                                new AnnouncementsModel
                            {
                                Id              = item.Value.Id,
                                Content         = item.Value.Content,
                                IsActive        = item.Value.IsActive,
                                MessageDateTime = item.Value.MessageDateTime,
                                Title           = item.Value.Title,
                                FId             = item.Key
                            }
                                );
                        }
                    }
                }
                catch (Exception ex)
                {
                    Crashes.TrackError(ex);
                    StandardMessagesDisplay.InputToast(ex.Message);
                }
            }
        }
Beispiel #9
0
        public async void Get()
        {
            var jData = await DataService.Get($"Influencer/{Preferences.Get("TeamId", "")}");

            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, InfluencerModel> >(jData);

                    if (data != null)
                    {
                        foreach (KeyValuePair <string, InfluencerModel> item in data)
                        {
                            Influencers?.Add(
                                new InfluencerModel
                            {
                                Id       = item.Value.Id,
                                FId      = item.Key.ToString(),
                                Name     = item.Value.Name,
                                Contact  = item.Value.Contact,
                                Position = item.Value.Position,
                                DoesHeProvidingSupport = item.Value.DoesHeProvidingSupport
                            }
                                );
                        }
                    }
                }
                catch (Exception ex)
                {
                    Crashes.TrackError(ex);
                    StandardMessagesDisplay.InputToast(ex.Message);
                }
            }
        }
        public async void Get()
        {
            var jData = await DataService.Get($"School/{Preferences.Get("TeamId", "")}");

            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, SchoolModel> >(jData);

                    if (data != null)
                    {
                        foreach (KeyValuePair <string, SchoolModel> item in data)
                        {
                            Schools?.Add(
                                new SchoolModel
                            {
                                FId           = item.Key.ToString(),
                                Id            = item.Value.Id,
                                KeyInfluencer = item.Value.KeyInfluencer,
                                SchoolName    = item.Value.SchoolName,
                                Longitude     = item.Value.Longitude,
                                Latitude      = item.Value.Latitude
                            }
                                );
                        }
                    }
                }
                catch (Exception ex)
                {
                    Crashes.TrackError(ex);
                    StandardMessagesDisplay.InputToast(ex.Message);
                }
            }
        }
        public async void Get()
        {
            var jData = await DataService.Get("VaccinePeriods");

            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, PeriodModel> >(jData);

                    if (data != null)
                    {
                        foreach (KeyValuePair <string, PeriodModel> item in data)
                        {
                            Periods?.Add(
                                new PeriodModel
                            {
                                FId        = item.Key.ToString(),
                                Id         = item.Value.Id,
                                StartDate  = item.Value.StartDate,
                                EndDate    = item.Value.EndDate,
                                PeriodName = item.Value.PeriodName
                            }
                                );
                        }
                    }
                }
                catch (Exception ex)
                {
                    Crashes.TrackError(ex);
                    StandardMessagesDisplay.InputToast(ex.Message);
                }
            }
        }
Beispiel #12
0
        public async void Get()
        {
            var jData = await DataService.Get($"Doctor/{Preferences.Get("TeamId", "")}");

            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, DoctorModel> >(jData);

                    if (data != null)
                    {
                        foreach (KeyValuePair <string, DoctorModel> item in data)
                        {
                            Doctors?.Add(
                                new DoctorModel
                            {
                                FId  = item.Key.ToString(),
                                Id   = item.Value.Id,
                                Name = item.Value.Name,
                                IsHeProvindingSupportForSIAAndVaccination = item.Value.IsHeProvindingSupportForSIAAndVaccination
                            }
                                );
                        }
                    }
                }
                catch (Exception ex)
                {
                    Crashes.TrackError(ex);
                    StandardMessagesDisplay.InputToast(ex.Message);
                }
            }
        }
        public async void Get()
        {
            var jData = await DataService.Get($"Clinic/{Preferences.Get("TeamId", "")}");

            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, ClinicModel> >(jData);

                    if (data != null)
                    {
                        foreach (KeyValuePair <string, ClinicModel> item in data)
                        {
                            Clinics?.Add(
                                new ClinicModel
                            {
                                FId        = item.Key,
                                ClinicName = item.Value.ClinicName,
                                Fixed      = item.Value.Fixed,
                                Outreach   = item.Value.Outreach
                            }
                                );
                        }
                    }
                }
                catch (Exception ex)
                {
                    Crashes.TrackError(ex);
                    StandardMessagesDisplay.InputToast(ex.Message);
                }
            }
        }
Beispiel #14
0
        public async void Get()
        {
            var jData = await DataService.Get("Cluster");

            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, ClusterModel> >(jData);
                    if (data != null)
                    {
                        foreach (KeyValuePair <string, ClusterModel> item in data)
                        {
                            Clusters?.Add(
                                new ClusterModel
                            {
                                ClusterName            = item.Value.ClusterName,
                                CurrentVaccinePeriodId = item.Value.CurrentVaccinePeriodId,
                                Id = item.Value.Id
                            }
                                );
                        }
                    }
                }
                catch (Exception ex)
                {
                    Crashes.TrackError(ex);
                    StandardMessagesDisplay.InputToast(ex.Message);
                }
            }
        }
Beispiel #15
0
        private async void LoadProfile(string localId)
        {
            var jData = await DataService.Get($"Profile/{localId}");

            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 <ProfileModel>(jData);

                    if (data != null)
                    {
                        if (data.LocalId == Preferences.Get("UserLocalId", ""))
                        {
                            Preferences.Set("ClusterId", data.ClusterId);
                            Preferences.Set("TeamId", data.TeamId);
                            Preferences.Set("UserId", data.Id.ToString());
                            Preferences.Set("UserName", data.FullName);
                            await Xamarin.Essentials.SecureStorage.SetAsync("Role", data.Role);
                        }
                    }
                }
                catch (Exception ex)
                {
                    Crashes.TrackError(ex);
                    StandardMessagesDisplay.InputToast(ex.Message);
                }
            }
        }
Beispiel #16
0
        private async Task LoadVaccinePeriod()
        {
            var jData = await DataService.Get("VaccinePeriods");

            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, PeriodModel> >(jData);

                    if (data != null)
                    {
                        foreach (KeyValuePair <string, PeriodModel> item in data)
                        {
                            if (item.Value.Id.ToString() == Preferences.Get("VaccinePeriodId", "").ToString())
                            {
                                Preferences.Set("PeriodStartDate", item.Value.StartDate);
                                Preferences.Set("PeriodEndDate", item.Value.EndDate);
                            }
                        }
                    }
                }
                catch (Exception ex)
                {
                    Crashes.TrackError(ex);
                    StandardMessagesDisplay.InputToast(ex.Message);
                }
            }
        }
Beispiel #17
0
        private async Task LoadCluster()
        {
            var jData = await DataService.Get($"Cluster");

            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 cluster = JsonConvert.DeserializeObject <Dictionary <string, ClusterModel> >(jData);

                    if (cluster != null)
                    {
                        foreach (KeyValuePair <string, ClusterModel> item in cluster)
                        {
                            if (item.Value?.Id.ToString() == Preferences.Get("ClusterId", ""))
                            {
                                Preferences.Set("VaccinePeriodId", item.Value?.CurrentVaccinePeriodId?.ToString());
                            }
                        }
                    }
                }
                catch (Exception ex)
                {
                    Crashes.TrackError(ex);
                    StandardMessagesDisplay.InputToast(ex.Message);
                }
            }
        }
 protected override void OnAppearing()
 {
     try
     {
         if (Child != null)
         {
             var result = JsonConvert.DeserializeObject <ChildModel>(Child);
             if (result != null)
             {
                 BindingContext = new EditChildViewModel(result, Guid.Parse(FamilyId));
             }
         }
     }
     catch (Exception ex)
     {
         Crashes.TrackError(ex);
         StandardMessagesDisplay.InputToast(ex.Message);
     }
 }
 protected override void OnAppearing()
 {
     try
     {
         if (Cluster != null)
         {
             var result = JsonConvert.DeserializeObject <ClusterModel>(Cluster);
             if (result != null)
             {
                 BindingContext = new ClusterDetailsViewModel(result);
             }
         }
     }
     catch (Exception ex)
     {
         Crashes.TrackError(ex);
         StandardMessagesDisplay.InputToast(ex.Message);
     }
 }
Beispiel #20
0
        private async void Get()
        {
            var jData = await DataService.Get($"Family/{Preferences.Get("TeamId", "")}");

            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, FamilyModel> >(jData);

                    if (data != null)
                    {
                        foreach (KeyValuePair <string, FamilyModel> item in data)
                        {
                            var nestedJData = await DataService.Get($"Child/{item.Value.Id}");

                            if (nestedJData == "ConnectionError")
                            {
                                StandardMessagesDisplay.NoConnectionToast();
                            }
                            else if (nestedJData == "null")
                            {
                                StandardMessagesDisplay.NoDataDisplayMessage();
                            }
                            else if (nestedJData == "Error")
                            {
                                StandardMessagesDisplay.Error();
                            }
                            else if (nestedJData == "ErrorTracked")
                            {
                                StandardMessagesDisplay.ErrorTracked();
                            }
                            else
                            {
                                var nestedData       = JsonConvert.DeserializeObject <Dictionary <string, ChildModel> >(nestedJData);
                                List <ChildModel> lp = new List <ChildModel>();

                                if (nestedData != null)
                                {
                                    foreach (KeyValuePair <string, ChildModel> item2 in nestedData)
                                    {
                                        lp.Add(
                                            new ChildModel
                                        {
                                            Id       = item2.Value.Id,
                                            FullName = item2.Value.FullName,
                                            Gender   = item2.Value.Gender,
                                            DOB      = item2.Value.DOB,
                                            OPV0     = item2.Value.OPV0,
                                            RINo     = item2.Value.RINo
                                        });
                                    }
                                }
                                FamilyGroup?.Add(new ChildGroupbyFamilyModel(item.Value.HouseNo, lp));
                            }
                        }
                    }
                }
                catch (Exception ex)
                {
                    Crashes.TrackError(ex);
                    StandardMessagesDisplay.InputToast(ex.Message);
                }
            }
        }
Beispiel #21
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 #22
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);
                    }
                }
            }
        }
        private async void Get()
        {
            int _maleChildren   = 0;
            int _femaleChildren = 0;

            var jData = await DataService.Get($"Family/{Preferences.Get("TeamId", "")}");

            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, FamilyModel> >(jData);

                    if (data != null)
                    {
                        foreach (KeyValuePair <string, FamilyModel> item in data)
                        {
                            var data2 = await DataService.Get($"Child/{item.Value.Id}");

                            if (data2 == "ConnectionError")
                            {
                                StandardMessagesDisplay.NoConnectionToast();
                            }
                            else if (data2 == "null")
                            {
                                StandardMessagesDisplay.NoDataDisplayMessage();
                            }
                            else if (data2 == "Error")
                            {
                                StandardMessagesDisplay.Error();
                            }
                            else if (data2 == "ErrorTracked")
                            {
                                StandardMessagesDisplay.ErrorTracked();
                            }
                            else
                            {
                                var nestedData = JsonConvert.DeserializeObject <Dictionary <string, ChildModel> >(data2);

                                if (nestedData != null)
                                {
                                    foreach (KeyValuePair <string, ChildModel> item2 in nestedData)
                                    {
                                        if (item2.Value.Gender == "Female")
                                        {
                                            _femaleChildren++;
                                        }
                                        else
                                        {
                                            _maleChildren++;
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
                catch (Exception ex)
                {
                    Crashes.TrackError(ex);
                    StandardMessagesDisplay.InputToast(ex.Message);
                }
            }

            FemaleVsMaleData?.Add(
                new FemaleVsMaleChildModel
            {
                Indicator = "Male",
                Counts    = _maleChildren
            }
                );
            FemaleVsMaleData?.Add(
                new FemaleVsMaleChildModel
            {
                Indicator = "Female",
                Counts    = _femaleChildren
            }
                );

            if (FemaleVsMaleData != null)
            {
                foreach (var item in FemaleVsMaleData)
                {
                    Random rd = new Random();
                    int    c  = rd.Next(1, 42);
                    Entries?.Add(new Entry(item.Counts)
                    {
                        Label      = item.Indicator,
                        ValueLabel = item.Counts.ToString(),
                        Color      = SKColor.Parse($"#{ColourValues[c]}")
                    });
                }
            }
            FemaleVsMaleChart = new PieChart()
            {
                Entries = Entries
            };
            FemaleVsMaleChart.LabelTextSize = 40;
        }
        private async void Get()
        {
            var jData = await DataService.Get("Cluster");

            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, ClusterModel> >(jData);

                    if (data != null)
                    {
                        foreach (KeyValuePair <string, ClusterModel> item in data)
                        {
                            var nestedJData = await DataService.Get($"Team/{item.Value.Id}");

                            if (nestedJData == "ConnectionError")
                            {
                                StandardMessagesDisplay.NoConnectionToast();
                            }
                            else if (nestedJData == "null")
                            {
                                StandardMessagesDisplay.NoDataDisplayMessage();
                            }
                            else if (nestedJData == "Error")
                            {
                                StandardMessagesDisplay.Error();
                            }
                            else if (nestedJData == "ErrorTracked")
                            {
                                StandardMessagesDisplay.ErrorTracked();
                            }
                            else
                            {
                                var nestedData      = JsonConvert.DeserializeObject <Dictionary <string, TeamModel> >(nestedJData);
                                List <TeamModel> lp = new List <TeamModel>();

                                if (nestedData != null)
                                {
                                    foreach (KeyValuePair <string, TeamModel> item2 in nestedData)
                                    {
                                        lp.Add(
                                            new TeamModel
                                        {
                                            Id                = item2.Value.Id,
                                            CHWName           = item2.Value.CHWName,
                                            FId               = item2.Value.FId,
                                            SocialMobilizerId = item2.Value.SocialMobilizerId,
                                            TeamNo            = item2.Value.TeamNo
                                        });
                                    }
                                }
                                TeamGroup?.Add(new TeamsGroupedByClusterModel(item.Value.ClusterName, lp));
                            }
                        }
                    }
                }
                catch (Exception ex)
                {
                    Crashes.TrackError(ex);
                    StandardMessagesDisplay.InputToast(ex.Message);
                }
            }
        }
Beispiel #25
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);
                }
            }
        }