예제 #1
0
        private async void btnNext_Clicked(object sender, EventArgs e)
        {
            try
            {
                string errorstring = "";
                MessagingCenter.Subscribe <App, string>((App)Xamarin.Forms.Application.Current, "AHCAddtest", (app, message) =>
                {
                    try
                    {
                        AHCError err = JsonConvert.DeserializeObject <AHCError>(message);

                        foreach (var item in err.data)
                        {
                            errorstring += string.Join("\n", item.Value) + "\n";
                        }
                    }
                    catch (Exception ex)
                    {
                        throw;
                    }
                    //var options = obj["fields"][0]["options"].ToList();
                });

                if (InternetConnection)
                {
                    overlay.IsVisible = true;
                    string   date = Convert.ToDateTime(DPDoa.Date).ToString("dd-MMM-yyyy");
                    string   Time = TPAppointment.Time.ToString().Equals("00:00:00")?"12:00:00": TPAppointment.Time.ToString();
                    DateTime dt   = Convert.ToDateTime(date + " " + Time);
                    if (pkrCity.SelectedItem != null && pkrDC.SelectedItem != null && pkrState.SelectedItem != null)
                    {
                        if (Convert.ToDateTime(DPDoa.Date) > System.DateTime.Now.AddDays(1))
                        {
                            if ((Convert.ToDateTime(DPDoa.Date)).DayOfWeek.ToString().ToUpper() != "SUNDAY")
                            {
                                List <RequiredTest> lstReuiredtestcheck = new List <RequiredTest>(lstRequiredTest).FindAll(x => x.@checked == true);
                                if (lstReuiredtestcheck.Count > 0)
                                {
                                    #region Post
                                    SaveTest objSaveTest = new SaveTest();
                                    objSaveTest.appointment_date = dt.ToString("yyyy-MM-dd HH:mm");
                                    objSaveTest.city_id          = ((CityID)pkrCity.SelectedItem).id;
                                    objSaveTest.dc_id            = ((DC)pkrDC.SelectedItem).id;
                                    objSaveTest.state_id         = ((EMeditekApp.Wellogo.Models.State)pkrState.SelectedItem).id;
                                    objSaveTest.required_tests   = lstReuiredtestcheck.Select(c => c.id).ToList();
                                    objSaveTest.questionnaires_recommended_tests = new List <int?> {
                                        null
                                    };
                                    objSaveTest.remaining_tests = new List <int?> {
                                        null
                                    };

                                    SaveTestResponse objSaveTestResponse = await App.TodoManager.SaveTest(objSaveTest, objCheckupdata.data.checkup.id, objCheckupdata.data.patient.id);

                                    if (objSaveTestResponse.status == "success")
                                    {
                                        if (!EditMode)
                                        {
                                            if (objCheckupdata.data.next_patient != null)
                                            {
                                                await Navigation.PushAsync(new AddTest(objCheckupdata.data.next_patient.checkup_id, objCheckupdata.data.next_patient.id));
                                            }
                                            else
                                            {
                                                await Navigation.PushModalAsync(new NavigationPage(new AHCCheckout(objCheckupdata.data.checkup.id)) { BarBackgroundColor = Color.FromHex("#f44337"), BarTextColor = Color.White });
                                            }
                                        }
                                        else
                                        {
                                            Navigation.PopModalAsync(true);
                                            Navigation.PushModalAsync(new NavigationPage(new AHCCheckout(objCheckupdata.data.checkup.id))
                                            {
                                                BarBackgroundColor = Color.FromHex("#f44337"), BarTextColor = Color.White
                                            });
                                        }
                                    }
                                    else
                                    {
                                        DependencyService.Get <IMessage>().LongAlert(errorstring);
                                    }

                                    #endregion
                                }
                                else
                                {
                                    DependencyService.Get <IMessage>().LongAlert("Select at least one test");
                                }
                            }
                            else
                            {
                                DependencyService.Get <IMessage>().LongAlert("Unable to Book Tests on Sunday");
                            }
                        }
                        else
                        {
                            DependencyService.Get <IMessage>().LongAlert("Appointment Date Should be greater than day after tommorow");
                        }
                    }
                    else
                    {
                        DependencyService.Get <IMessage>().LongAlert("Select all fields in delivery address");
                    }
                }
                else
                {
                    var Retry = await DisplayAlert("No Connection", "Please Check Your Connection", "Retry", "Cancel");

                    if (Retry)
                    {
                        btnNext_Clicked(sender, e);
                    }
                }


                overlay.IsVisible = false;
            }
            catch (Exception ex)
            {
                overlay.IsVisible = false;
                DependencyService.Get <IMessage>().LongAlert();
            }
        }
예제 #2
0
        private async void btnSave_Clicked(object sender, EventArgs e)
        {
            try
            {
                string Message = "All Fields are Required";
                //await Navigation.PushAsync(new AddTest());
                //return;
                var Valid = true;
                #region Validation
                foreach (HealthCheckUpDeafult hc in lstHealthCheckupInitial)
                {
                    if (hc.Name == "")
                    {
                        Valid = false;
                        break;
                    }
                    if (hc.Relation == null)
                    {
                        Valid = false;
                        break;
                    }
                    hc.RelationID = objCommonDropDowns.GetRalations().Find(x => x.Name == hc.Relation).ID.ToString();
                    if (hc.EmployeeCode == "" && hc.Relation == "Self")
                    {
                        Valid = false;
                        break;
                    }
                    if (hc.ID == 0 && hc.Relation == "Self")
                    {
                        if (hc.SeniorityLevel == null)
                        {
                            Valid = false;
                            break;
                        }
                        else if (hc.SeniorityLevelID == null)
                        {
                            hc.SeniorityLevelID = objCommonDropDowns.GetSenorityLevels().Find(x => x.Name == hc.SeniorityLevel).ID.ToString();
                        }
                    }
                    else
                    {
                        if (hc.SeniorityLevelID == null && hc.SeniorityLevel != null)
                        {
                            hc.SeniorityLevelID = objCommonDropDowns.GetSenorityLevels().Find(x => x.Name == hc.SeniorityLevel).ID.ToString();
                        }
                    }

                    if (hc.Phone == "")
                    {
                        Valid = false;
                        break;
                    }
                    else if (!Regex.IsMatch(hc.Phone, @"^[0-9]{10}$"))
                    {
                        Message = "Not Valid Mobile No.";
                        // DependencyService.Get<IMessage>().LongAlert("Not Valid Mobile No.");
                        Valid = false;
                    }
                    if (hc.DateOfBirth == "")
                    {
                        Valid = false;
                        break;
                    }
                    if (hc.MaritalStatus == null)
                    {
                        Valid = false;
                        break;
                    }
                    else if (hc.MaritalStatusID == null)
                    {
                        hc.MaritalStatusID = objCommonDropDowns.MaritalStatus().Find(x => x.Name == hc.MaritalStatus).ID;
                    }
                    if (hc.Gender == null)
                    {
                        Valid = false;
                        break;
                    }
                    else
                    {
                        hc.GenderID = objCommonDropDowns.Gender().Find(x => x.Name == hc.Gender).ID;
                    }

                    if (hc.Name.Length < 2)
                    {
                        Valid   = false;
                        Message = "Name should be of atleast 2 characters";
                    }
                }
                #endregion Validation
                string   errorstring = "";
                AHCError err         = new AHCError();
                MessagingCenter.Subscribe <App, string>((App)Xamarin.Forms.Application.Current, "AHCHealthCheckup", (app, message) =>
                {
                    try
                    {
                        err = JsonConvert.DeserializeObject <AHCError>(message);
                    }
                    catch (Exception ex)
                    {
                        throw;
                    }
                    //var options = obj["fields"][0]["options"].ToList();
                });

                if (Valid)
                {
                    PatientDetailsList    objPatientDetailsList = new PatientDetailsList();
                    List <PatientDetails> lstPatientDetails     = new List <Models.PatientDetails>();
                    PatientDetails        objPatientDetails;

                    foreach (HealthCheckUpDeafult hc in lstHealthCheckupInitial)
                    {
                        objPatientDetails                       = new PatientDetails();
                        objPatientDetails.relation              = hc.RelationID.ToString();
                        objPatientDetails.employee_code         = hc.EmployeeCode;
                        objPatientDetails.name                  = hc.Name;
                        objPatientDetails.phone                 = hc.Phone;
                        CultureInfo.DefaultThreadCurrentCulture = new CultureInfo("en-US");
                        try
                        {
                            objPatientDetails.date_of_birth = Convert.ToDateTime(hc.DateOfBirth).ToString("yyyy-MM-dd"); //hc.DateOfBirth;
                        }
                        catch (Exception)
                        {
                            string Date = hc.DateOfBirth.ToString().Replace("00:00:00", "").Replace(" ", "");
                            objPatientDetails.date_of_birth = Date;
                        }
                        objPatientDetails.marital_status  = hc.MaritalStatusID.ToString();
                        objPatientDetails.gender          = hc.GenderID.ToString();
                        objPatientDetails.seniority_level = hc.SeniorityLevelID;
                        lstPatientDetails.Add(objPatientDetails);
                    }
                    objPatientDetailsList.patients = lstPatientDetails;
                    overlay.IsVisible = true;
                    SavePatientResponse objSavePatientResponse = await App.TodoManager.SavePatientDetails(objPatientDetailsList);

                    if (objSavePatientResponse.status == "success")
                    {
                        #region  Remove error messages
                        int index = 0;
                        foreach (HealthCheckUpDeafult hc in lstHealthCheckupInitial)
                        {
                            lstHealthCheckupInitial[index].ErrormessageVisiblity = false;
                            lstHealthCheckupInitial[index].ErrorMessage          = "";
                            //  lstHealthCheckUpDeafult.Add(objHealthCheckUpDeafult);
                            index++;
                        }

                        lvHealthCheckups.ItemsSource = null;
                        lvHealthCheckups.ItemsSource = lstHealthCheckupInitial;
                        #endregion
                        await Navigation.PushAsync(new AddTest(objSavePatientResponse.data.id, objSavePatientResponse.data.patients[0].id));

                        //await DisplayAlert("Success", "Patient Added Successfully", "Ok");
                    }
                    else
                    {
                        int     index        = 0;
                        int     errorindex   = 0;
                        string  Errormessage = "";
                        dynamic item         = null;
                        ObservableCollection <HealthCheckUpDeafult> lstHealthCheckUpDeafult = new ObservableCollection <HealthCheckUpDeafult>();
                        HealthCheckUpDeafult objHealthCheckUpDeafult = new HealthCheckUpDeafult();
                        foreach (HealthCheckUpDeafult hc in lstHealthCheckupInitial)
                        {
                            objHealthCheckUpDeafult = hc;
                            if (errorindex < index | index == 0)
                            {
                                item       = err.data.ElementAt(index);
                                errorindex = Convert.ToInt32(item.Key.ToString().Substring(item.Key.IndexOf('.') + 1, 1));
                            }
                            if (errorindex == index)
                            {
                                Errormessage             = "";
                                hc.ErrormessageVisiblity = true;
                                Errormessage            += "\n Error: \n" + string.Join("\n", item.Value) + "\n";
                                objHealthCheckUpDeafult.ErrormessageVisiblity = true;
                                objHealthCheckUpDeafult.ErrorMessage          = Errormessage;
                                //lstHealthCheckUpDeafult[index]=
                                //lstHealthCheckupInitial[index].ErrormessageVisiblity  = true;
                                //  lstHealthCheckupInitial[index].ErrorMessage = Errormessage;
                            }
                            else
                            {
                                objHealthCheckUpDeafult.ErrormessageVisiblity = false;
                                objHealthCheckUpDeafult.ErrorMessage          = "";
                            }
                            lstHealthCheckUpDeafult.Add(objHealthCheckUpDeafult);
                            index++;
                        }
                        lstHealthCheckupInitial      = lstHealthCheckUpDeafult;
                        lvHealthCheckups.ItemsSource = lstHealthCheckUpDeafult;
                        DependencyService.Get <IMessage>().LongAlert(objSavePatientResponse.message);
                    }
                }
                else

                {
                    DependencyService.Get <IMessage>().LongAlert(Message);
                }
            }
            catch (InvalidOperationException ex)
            {
            }
            catch (Exception ex)
            {
                DependencyService.Get <IMessage>().LongAlert();
            }
            finally
            {
                overlay.IsVisible = false;
            }
        }