예제 #1
0
        public async Task <bool> UpdateHStructAsync(HealthStruct h)
        {
            try
            {
                int pos     = 0;
                var structs = await GetStructs();

                if (structs == null)
                {
                    return(false);
                }
                foreach (HealthStruct healt in structs)
                {
                    if (healt.id == h.id)
                    {
                        structs.Remove(healt);
                        structs.Insert(pos, h);
                        break;
                    }
                    pos++;
                }
                SaveStructs(structs);
                return(true);
            }
            catch
            {
                return(false);
            }
        }
예제 #2
0
        public async Task <bool> DeleteStruct(HealthStruct s)
        {
            try
            {
                var structs = await GetStructs();

                if (structs == null)
                {
                    structs = new List <HealthStruct>();
                }
                foreach (HealthStruct h in structs)
                {
                    if (h.id == s.id)
                    {
                        structs.Remove(h);
                        break;
                    }
                }

                SaveStructs(structs);
                return(true);
            }
            catch
            {
                return(false);
            }
        }
예제 #3
0
        public async Task <bool> AddHealthStruct(HealthStruct s)
        {
            var str = new
            {
                fullName = s.fullName,
                adress   = s.adress,
                phNumber = s.phNumber,
                email    = s.email,
                star     = s.star,
            };

            try
            {
                var token  = "?access_token=" + Settings.AuthToken;
                var result = await(Constant.urlgetHealthStruct + token).PostJsonAsync(str);
                return(result.IsSuccessStatusCode);
            }
            catch (FlurlHttpException)
            {
                userNotAuth();
                return(false);
            }
            catch (Exception e)
            {
                noInternetConnection();
                Console.WriteLine("error adding  Healthstruct : " + e.StackTrace);
                return(false);
            }
        }
예제 #4
0
 public bool alreadyAdded(HealthStruct d, IList <HealthStruct> userstruct)
 {
     foreach (HealthStruct ud in userstruct)
     {
         if (d.id == ud.id)
         {
             return(true);
         }
     }
     return(false);
 }
예제 #5
0
        public async Task <bool> SaveStruct(HealthStruct s)
        {
            try
            {
                var structs = await GetStructs();

                if (structs == null)
                {
                    structs = new List <HealthStruct>();
                }
                structs.Add(s);
                SaveStructs(structs);
                return(true);
            }
            catch
            {
                return(false);
            }
        }
예제 #6
0
 public bool DeleteHstruct(HealthStruct d)
 {
     try
     {
         var token = "?access_token=" + Settings.AuthToken;
         return((Constant.urlgetHealthStruct + "/" + d.id + token).DeleteAsync().Result.IsSuccessStatusCode);
     }
     catch (FlurlHttpException)
     {
         userNotAuth();
         return(false);
     }
     catch (Exception ex)
     {
         noInternetConnection();
         Console.WriteLine(ex.Message);
         return(false);
     }
 }
예제 #7
0
        private void addHstruct(object obj)
        {
            Device.BeginInvokeOnMainThread(() =>
            {
                isEnabled = false;
                isBusy    = true;
            });
            var hstruct = new HealthStruct()
            {
                fullName = fullName,
                adress   = adress,
                phNumber = phNumber,
                email    = email,
                star     = star
            };

            if (!isEdit)
            {
                Task.Run(async() =>
                {
                    try
                    {
                        if (await _hStructServices.SaveStruct(hstruct))
                        {
                            MessagingCenter.Send(this, "HstructUpdated");
                        }
                        if (await _restServices.AddHealthStruct(hstruct))
                        {
                            _dialogSservices.ShowMessage(fullName + " a été ajouté avec succès ", false);

                            Device.BeginInvokeOnMainThread(async() =>
                            {
                                await App.Current.MainPage.Navigation.PopModalAsync();
                            });
                        }
                    }
                    catch
                    {
                        Console.WriteLine("error adding new hstruct");
                        _dialogSservices.ShowMessage("Erreur , veuillez essayer plus tard", true);
                    }
                });
            }
            if (isEdit)
            {
                Task.Run(async() =>
                {
                    hstruct.id = id;
                    try
                    {
                        if (await _hStructServices.UpdateHStructAsync(hstruct))
                        {
                            MessagingCenter.Send(this, "HstructUpdated");
                        }
                        if (_restServices.UpdateHStruct(hstruct))
                        {
                            _dialogSservices.ShowMessage(fullName + " a été modifié avec succès ", false);
                        }
                    }
                    catch
                    {
                        Console.WriteLine("error adding new hstruct");
                        _dialogSservices.ShowMessage("Erreur , veuillez essayer plus tard", true);
                    }
                    Device.BeginInvokeOnMainThread(async() =>
                    {
                        await CoreMethods.PopPageModel();
                        RaisePropertyChanged();
                    });
                });
            }

            isBusy    = false;
            isEnabled = true;
        }
예제 #8
0
 public void Raise(HealthStruct newHealthStruct)
 {
     this.healthStruct = newHealthStruct;
     this.Raise();
 }