示例#1
0
        private async Task SaveTrackerAsync()
        {
            if (ActionType != ActionType.Submit)
            {
                return;
            }
            await Task.Run(() => { SetActivityResource(false, true); });

            if (await Validate())
            {
                var trackerList = await BuildTracker();

                if (trackerList.Count > 0)
                {
                    var response = await trackerService.SaveTrackerAsync(trackerList);

                    if (response == HttpConstants.SUCCESS)
                    {
                        var result = await MilestoneSaveAsync();

                        if (result)
                        {
                            var userMeta = new List <Meta>()
                            {
                                await metaService.AddMeta(GenderSelected.ToString(), MetaConstants.GENDER,
                                                          MetaConstants.GENDER, MetaConstants.LABEL)
                            };
                            if (IsGenderRequired)
                            {
                                var metaResult = await metaService.SaveMetaAsync(userMeta);

                                if (metaResult == HttpConstants.SUCCESS)
                                {
                                }
                            }

                            await SaveSuccessful(result
                                                 ?string.Empty
                                                 : TextResources.MessageMilestoneSubmissionFailed);
                        }
                    }
                    else if (response.ToString().Contains(HttpConstants.UNAUTHORIZED))
                    {
                        await authenticationService.LogoutAsync();

                        App.CurrentApp.MainPage = new Pages.MainPage.MainPage();
                    }
                    else
                    {
                        SetActivityResource(showError: true, errorMessage: response);
                    }
                }
                else
                {
                    SetActivityResource(showError: true, errorMessage: TextResources.NoRecordToProcess);
                }
            }
        }