private void ExecuteNavigateToHouseholdsCommand()
 {
     ApplicationInstanceData.GoToView(new HouseholdsSearchContentPage
     {
         BindingContext = new HouseholdsSearchContentPageModel(ApplicationInstanceData)
     });
 }
Exemple #2
0
 private void ExecuteNavigateToGetNewApiKeyViewCommand()
 {
     ApplicationInstanceData.GoToView(new AuthenticationContentPage
     {
         BindingContext = new AuthenticationContentPageModel(ApplicationInstanceData)
     });
 }
 private void ExecuteNavigateToAboutCommand()
 {
     ApplicationInstanceData.GoToView(new AboutContentPage
     {
         BindingContext = new AboutContentPageModel(ApplicationInstanceData)
     });
 }
Exemple #4
0
 public HouseholdEditContentPageModel(ApplicationInstanceData applicationInstanceData)
 {
     IsCreate        = true;
     SaveCommandVerb = applicationInstanceData.SelectedLocalization.Translations[@"Submit"];
     Title           = applicationInstanceData.SelectedLocalization.Translations[@"AddNewHousehold"];
     Init(applicationInstanceData);
 }
        private void ExecuteNavigateToLandingPageCheckSelectionCommand()
        {
            if (!ApplicationInstanceData.SelectedLocalization.Abbreviation.Equals(SelectedLocalization.Abbreviation))
            {
                ApplicationInstanceData.SetLocalization(SelectedLocalization.Abbreviation);
                SetLocalizationSelectionChanged();

                // save pref
                ApplicationInstanceData.SerializedApplicationInstanceData.Localization = SelectedLocalization.Abbreviation;
                ApplicationInstanceData.SaveSerializedApplicationInstanceData();
            }

            if (isFromMainMenu)
            {
                // this view localization refresh
                NotifyPropertyChange(nameof(ApplicationInstanceData));

                // menu model localization refresh
                var menuContentPageModel = (MenuContentPageModel)ApplicationInstanceData.RootPage.Master.BindingContext;
                menuContentPageModel.NotifyPropertyChange(nameof(menuContentPageModel.ApplicationInstanceData));

                return;
            }

            Application.Current.MainPage = new LandingContentPage
            {
                BindingContext = new LandingContentPageModel(ApplicationInstanceData)
            };
        }
Exemple #6
0
        private void Init(ApplicationInstanceData applicationInstanceData)
        {
            ApplicationInstanceData = applicationInstanceData;

            CancelCommand = new Command(ExecuteCancelCommand);
            SaveCommand   = new Command(ExecuteSaveCommand);
        }
Exemple #7
0
 public IncomeSourceEditContentPageModel(ApplicationInstanceData applicationInstanceData, IncomeSource incomeSource)
 {
     IsCreate        = false;
     SaveCommandVerb = applicationInstanceData.SelectedLocalization.Translations[@"Save"];
     Title           = applicationInstanceData.SelectedLocalization.Translations[@"EditIncomeSource"];
     IncomeSource    = incomeSource;
     Init(applicationInstanceData);
 }
 public PersonEditContentPageModel(ApplicationInstanceData applicationInstanceData, Person person)
 {
     IsCreate        = false;
     SaveCommandVerb = applicationInstanceData.SelectedLocalization.Translations[@"Save"];
     Title           = applicationInstanceData.SelectedLocalization.Translations[@"EditHouseholdMember"];
     Person          = person;
     Init(applicationInstanceData);
 }
        private void ExecuteNavigateToLocalizationSelectionCommand()
        {
            var view      = new LocalizationSelectionContentPage();
            var viewModel = new LocalizationSelectionContentPageModel(ApplicationInstanceData, true);

            view.BindingContext = viewModel;
            ApplicationInstanceData.GoToView(view);
        }
Exemple #10
0
 public IncomeSourceEditContentPageModel(ApplicationInstanceData applicationInstanceData, Household parentHousehold)
 {
     IsCreate        = true;
     SaveCommandVerb = applicationInstanceData.SelectedLocalization.Translations[@"Submit"];
     Title           = applicationInstanceData.SelectedLocalization.Translations[@"AddIncomeSource"];
     ParentHousehold = parentHousehold;
     Init(applicationInstanceData);
 }
Exemple #11
0
 public HouseholdEditContentPageModel(ApplicationInstanceData applicationInstanceData, Household household)
 {
     IsCreate        = false;
     SaveCommandVerb = applicationInstanceData.SelectedLocalization.Translations[@"Save"];
     Title           = applicationInstanceData.SelectedLocalization.Translations[@"EditHousehold"];
     Household       = household;
     Init(applicationInstanceData);
 }
 public PersonFollowUpEditContentPageModel(ApplicationInstanceData applicationInstanceData, PersonFollowUp personFollowUp)
 {
     IsCreate        = false;
     SaveCommandVerb = applicationInstanceData.SelectedLocalization.Translations[@"Save"];
     Title           = applicationInstanceData.SelectedLocalization.Translations[@"EditFollowUp"];
     PersonFollowUp  = personFollowUp;
     Init(applicationInstanceData);
 }
 public PersonFollowUpEditContentPageModel(ApplicationInstanceData applicationInstanceData, Person parentPerson)
 {
     IsCreate        = true;
     SaveCommandVerb = applicationInstanceData.SelectedLocalization.Translations[@"Submit"];
     Title           = applicationInstanceData.SelectedLocalization.Translations[@"AddFollowUp"];
     ParentPerson    = parentPerson;
     Init(applicationInstanceData);
 }
 public ServiceInstanceEditContentPageModel(ApplicationInstanceData applicationInstanceData, ServiceInstance serviceInstance)
 {
     IsCreate        = false;
     SaveCommandVerb = applicationInstanceData.SelectedLocalization.Translations[@"Save"];
     Title           = applicationInstanceData.SelectedLocalization.Translations[@"EditServiceAssignment"];
     ServiceInstance = serviceInstance;
     Init(applicationInstanceData);
 }
Exemple #15
0
 public SettingsContentPageModel(ApplicationInstanceData applicationInstanceData)
 {
     RevertChangesCommand = new Command(ExecuteRevertChangesCommand);
     CommitChangesCommand = new Command(ExecuteCommitChangesCommand);
     NavigateToGetNewApiKeyViewCommand = new Command(ExecuteNavigateToGetNewApiKeyViewCommand);
     ApplicationInstanceData           = applicationInstanceData;
     SetDpmsUrl();
     SetApiKeyObtained();
 }
Exemple #16
0
 public IncomeSourceViewContentPageModel(ApplicationInstanceData applicationInstanceData, IncomeSource incomeSource)
 {
     ApplicationInstanceData = applicationInstanceData;
     IncomeSource            = incomeSource;
     EditCommand             = new Command(ExecuteEditCommand);
     DeleteCommand           = new Command(ExecuteDeleteCommand);
     AllowEditDelete         = !incomeSource.HasExternalId;
     EditDeleteRowHeight     = AllowEditDelete ? 80 : 0;
 }
 public PersonViewContentPageModel(ApplicationInstanceData applicationInstanceData, Person person)
 {
     ApplicationInstanceData = applicationInstanceData;
     Person              = person;
     EditCommand         = new Command(ExecuteEditCommand);
     DeleteCommand       = new Command(ExecuteDeleteCommand);
     AllowEditDelete     = !person.HasExternalId;
     EditDeleteRowHeight = AllowEditDelete ? 80 : 0;
 }
Exemple #18
0
 public ServiceInstanceViewContentPageModel(ApplicationInstanceData applicationInstanceData, ServiceInstance serviceInstance)
 {
     ApplicationInstanceData = applicationInstanceData;
     ServiceInstance         = serviceInstance;
     EditCommand             = new Command(ExecuteEditCommand);
     DeleteCommand           = new Command(ExecuteDeleteCommand);
     AllowEditDelete         = !serviceInstance.HasExternalId;
     EditDeleteRowHeight     = AllowEditDelete ? 80 : 0;
 }
 public HouseholdViewContentPageModel(ApplicationInstanceData applicationInstanceData, Household household)
 {
     ApplicationInstanceData = applicationInstanceData;
     Household           = household;
     EditCommand         = new Command(ExecuteEditCommand);
     DeleteCommand       = new Command(ExecuteDeleteCommand);
     AllowEditDelete     = !household.HasExternalId;
     EditDeleteRowHeight = AllowEditDelete ? 80 : 0;
 }
        public CustomFieldRankListViewModel(ApplicationInstanceData applicationInstanceData, string name, string helpText)
        {
            ApplicationInstanceData = applicationInstanceData;

            Name     = name;
            HelpText = helpText;

            AddAnswerCommand   = new Command(ExecuteAddAnswerCommand);
            ClearAnswerCommand = new Command(ExecuteClearAnswerCommand);
        }
 public MenuContentPageModel(ApplicationInstanceData applicationInstanceData)
 {
     HideMenuCommand = new Command(ExecuteHideMenuCommand);
     NavigateToLandingViewCommand      = new Command(ExecuteNavigateToLandingViewCommand);
     NavigateToHouseholdsCommand       = new Command(ExecuteNavigateToHouseholdsCommand);
     NavigateToHouseholdMembersCommand = new Command(ExecuteNavigateToHouseholdMembersCommand);
     SyncCommand = new Command(ExecuteSyncCommand);
     NavigateToSettingsCommand = new Command(ExecuteNavigateToSettingsCommand);
     NavigateToAboutCommand    = new Command(ExecuteNavigateToAboutCommand);
     NavigateToLocalizationSelectionCommand = new Command(ExecuteNavigateToLocalizationSelectionCommand);
     ApplicationInstanceData = applicationInstanceData;
 }
Exemple #22
0
        public PersonFollowUpViewContentViewModel(ApplicationInstanceData applicationInstanceData, PersonFollowUp personFollowUp)
        {
            ApplicationInstanceData = applicationInstanceData;
            PersonFollowUp          = personFollowUp;

            WorkActivitiesReadableList      = StatusCustomizationValueConverter.GetWorkActivitiesReadableList(PersonFollowUp, ApplicationInstanceData);
            HazardousConditionsReadableList = StatusCustomizationValueConverter.GetHazardousConditionsReadableList(PersonFollowUp, ApplicationInstanceData);
            HouseholdTasksReadableList      = StatusCustomizationValueConverter.GetHouseholdTasksReadableList(personFollowUp, ApplicationInstanceData);

            HaveJobReturningToReadable = ViewModelDisplayValueConverter.GetBooleanTranslated(ApplicationInstanceData.SelectedLocalization, PersonFollowUp.HaveJobReturningTo);
            EnrolledInSchoolReadable   = ViewModelDisplayValueConverter.GetBooleanTranslated(ApplicationInstanceData.SelectedLocalization, PersonFollowUp.EnrolledInSchool);
        }
 private void Init(ApplicationInstanceData applicationInstanceData)
 {
     NavigateToLandingPageCommand = new Command(() => ExecuteNavigateToLandingPageCommand());
     NavigateToLandingPageCheckSelectionCommand = new Command(() => ExecuteNavigateToLandingPageCheckSelectionCommand());
     ApplicationInstanceData = applicationInstanceData;
     Localizations           = new ObservableCollection <Localization>();
     foreach (var availableLocalization in ApplicationInstanceData.AvailableLocalizations)
     {
         Localizations.Add(availableLocalization);
     }
     SelectedLocalization = ApplicationInstanceData.SelectedLocalization;
 }
Exemple #24
0
        public static Tuple <bool, string> SyncNewParentObjects <T>(
            ApplicationInstanceData applicationInstanceData,
            string apiPath,
            DbSet <T> data) where T : class, ISyncable <T>, new()
        {
            try
            {
                // post new households last
                foreach (var objectInstance in data.Where(a => a.GetExternalId().HasValue == false))
                {
                    var objectJson = objectInstance.GetJsonFromObject();
                    // TODO: if child update parent id here before post
                    var postSuccess = Helper.Rest.RestHelper.PerformRestPostRequestWithApiKey(
                        applicationInstanceData.SerializedApplicationInstanceData.Url,
                        apiPath,
                        applicationInstanceData.SerializedApplicationInstanceData.ApiKey,
                        objectJson);

                    if (postSuccess.Item1)
                    {
                        // set last updated at from JSON response
                        dynamic jsonResponseParse = JsonConvert.DeserializeObject(postSuccess.Item2);
                        if (jsonResponseParse.status.Value.ToString().Equals(@"success"))
                        {
                            objectInstance.SetLastUpdatedAt(jsonResponseParse.updated_at.Value);
                            objectInstance.SetCreatedAt(jsonResponseParse.created_at.Value);
                            objectInstance.SetExternalId((int?)jsonResponseParse.id);
                        }
                        else
                        {
                            // TODO: error log
                            return(new Tuple <bool, string>(false, @"Add error"));
                        }
                    }
                    else
                    {
                        // TODO: error log
                        return(new Tuple <bool, string>(false, @"Add error"));
                    }
                }
                applicationInstanceData.Data.SaveChanges();
            }
            catch
            {
                // TODO: error log
                return(new Tuple <bool, string>(false, @"Sync error"));
            }
            return(new Tuple <bool, string>(true, @""));
        }
Exemple #25
0
        public static Tuple <bool, string> PostCustomValues <T>(ApplicationInstanceData applicationInstanceData, string apiPath, DbSet <T> data)
            where T : class, IObjectToJsonConvertible <T>, ISyncableAsChild <T>, ISyncableWithCustomFieldSecondParent <T>, new()
        {
            try
            {
                foreach (var objectInstance in data.Where(a => a.GetExternalId() == null))
                {
                    objectInstance.SetMdpmsdbContext(applicationInstanceData.Data);
                    objectInstance.SetIds();
                    var objectJson  = objectInstance.GetJsonFromObject();
                    var postSuccess = Helper.Rest.RestHelper.PerformRestPostRequestWithApiKey(
                        applicationInstanceData.SerializedApplicationInstanceData.Url,
                        apiPath,
                        applicationInstanceData.SerializedApplicationInstanceData.ApiKey,
                        objectJson);

                    if (postSuccess.Item1)
                    {
                        dynamic jsonResponseParse = JsonConvert.DeserializeObject(postSuccess.Item2);
                        if (jsonResponseParse.status.Value.ToString().Equals(@"success"))
                        {
                            objectInstance.SetLastUpdatedAt(jsonResponseParse.updated_at.Value);
                            objectInstance.SetCreatedAt(jsonResponseParse.created_at.Value);
                            objectInstance.SetExternalId((int?)jsonResponseParse.id);
                        }
                        else
                        {
                            // TODO: error log
                            return(new Tuple <bool, string>(false, @"Add error"));
                        }
                    }
                    else
                    {
                        // TODO: error log
                        return(new Tuple <bool, string>(false, @"Add error"));
                    }
                }
                applicationInstanceData.Data.SaveChanges();
            }
            catch
            {
                // TODO: error log
                return(new Tuple <bool, string>(false, @"Sync error"));
            }
            return(new Tuple <bool, string>(true, @""));
        }
        public static string GetWorkActivitiesReadableList(Person person, ApplicationInstanceData applicationInstanceData)
        {
            var sb = new StringBuilder();
            var i  = 0;
            var workActivityCount = person.PeopleWorkActivities.Count();

            foreach (var workActivity in person.PeopleWorkActivities)
            {
                sb.Append(applicationInstanceData.Data.StatusCustomizationWorkActivities.First(a => a.InternalId == workActivity.WorkActivityInternalId).DisplayName);
                if (i != (workActivityCount - 1))
                {
                    sb.Append(@", ");
                }
                i++;
            }
            return(sb.ToString());
        }
        private void Init(ApplicationInstanceData applicationInstanceData)
        {
            ApplicationInstanceData = applicationInstanceData;

            // Custom Fields
            var customFieldInit = Helpers.CustomFieldInit.InitCustomFields(@"Household", applicationInstanceData);

            CustomFields        = customFieldInit.Item1;
            CustomFieldControls = customFieldInit.Item2;

            // *** Person ***
            if (isCreate)
            {
                Household = new Household
                {
                    SoftDeleted         = false,
                    IntakeDate          = DateTime.Today,
                    HouseholdName       = @"",
                    AddressLine1        = @"",
                    AddressLine2        = @"",
                    PostalCode          = @"",
                    DependentLocality   = @"",
                    Locality            = @"",
                    AdminvArea          = @"",
                    DependentAdminvArea = @"",
                    Country             = @"",
                    AddressInfo         = @""
                };
            }

            // set temp/locally cached properties to support save/cancel
            IntakeDate          = Household.IntakeDate;
            HouseholdName       = Household.HouseholdName;
            AddressLine1        = Household.AddressLine1;
            AddressLine2        = Household.AddressLine2;
            PostalCode          = Household.PostalCode;
            DependentLocality   = Household.DependentLocality;
            Locality            = Household.Locality;
            AdminvArea          = Household.AdminvArea;
            DependentAdminvArea = Household.DependentAdminvArea;
            Country             = Household.Country;
            AddressInfo         = Household.AddressInfo;
        }
        private void Init(ApplicationInstanceData applicationInstanceData)
        {
            ApplicationInstanceData = applicationInstanceData;
            if (isCreate)
            {
                IncomeSource = new IncomeSource
                {
                    ProductServiceName      = @"",
                    EstimatedVolumeProduced = 0,
                    EstimatedVolumeSold     = 0,
                    UnitOfMeasure           = @"",
                    EstimatedIncome         = 0.0m,
                    Currency = @""
                };
            }

            // set temp/locally cached properties to support save/cancel
            ProductServiceName      = IncomeSource.ProductServiceName;
            EstimatedVolumeProduced = (IncomeSource.EstimatedVolumeProduced == null) ? 0 : (int)IncomeSource.EstimatedVolumeProduced;
            EstimatedVolumeSold     = (IncomeSource.EstimatedVolumeSold == null) ? 0 : (int)IncomeSource.EstimatedVolumeSold;
            UnitOfMeasure           = IncomeSource.UnitOfMeasure;
            EstimatedIncome         = (IncomeSource.EstimatedIncome == null) ? 0.0m : (decimal)IncomeSource.EstimatedIncome;
            Currency = IncomeSource.Currency;
        }
        private async void ExecuteDeleteCommand()
        {
            // is it allowed?
            if (Household.HasExternalId)
            {
                return;
            }

            // are you sure?  all children will be deleted as well
            var actionDecision = await ApplicationInstanceData.App.MainPage.DisplayAlert(
                ApplicationInstanceData.SelectedLocalization.Translations[@"Confirm"],
                ApplicationInstanceData.SelectedLocalization.Translations[@"ConfirmationMessageDeleteHousehold"],
                ApplicationInstanceData.SelectedLocalization.Translations[@"OK"],
                ApplicationInstanceData.SelectedLocalization.Translations[@"Cancel"]);

            if (actionDecision)
            {
                ApplicationInstanceData.Data.DeleteHousehold(Household.InternalId);
                ApplicationInstanceData.Data.SaveChanges();
                ApplicationInstanceData.GoToView(new HouseholdsSearchContentPage {
                    BindingContext = new HouseholdsSearchContentPageModel(ApplicationInstanceData)
                });
            }
        }
 public IncomeSourceEditContentViewModel(ApplicationInstanceData applicationInstanceData, IncomeSource incomeSource)
 {
     IncomeSource = incomeSource;
     isCreate     = false;
     Init(applicationInstanceData);
 }