private async Task <bool> TrySave()
        {
            PlotValidator    _validator        = new PlotValidator();
            ValidationResult validationResults = _validator.Validate(_plot);

            if (validationResults.IsValid)
            {
                _ = AddPlot(_selectedprojectid);
                return(true);
            }
            else
            {
                await Application.Current.MainPage.DisplayAlert("Update Plot", validationResults.Errors[0].ErrorMessage, "Ok");

                return(false);
            }
        }
        async Task UpdatePlot()
        {
            //  var validationResults = _projectValidator.Validate(_project);
            PlotValidator    _plotValidator    = new PlotValidator();
            ValidationResult validationResults = _plotValidator.Validate(_plot);

            if (validationResults.IsValid)
            {
                bool isUserAccept = await Application.Current.MainPage.DisplayAlert("Plot Details", "Update Plot Details", "OK", "Cancel");

                if (isUserAccept)
                {
                    _plot.LastModified = System.DateTime.UtcNow;
                    _plotRepository.UpdatePlot(_plot);
                    await _navigation.PopAsync();
                }
            }
            else
            {
                await Application.Current.MainPage.DisplayAlert("Add Plot", validationResults.Errors[0].ErrorMessage, "Ok");
            }
        }
        private async Task GoBack()
        {
            // display Alert for confirmation
            if (IsChanged)
            {
                PlotValidator _validator     = new PlotValidator();
                PlotValidator _fullvalidator = new PlotValidator(true);

                ValidationResult validationResults     = _validator.Validate(_plot);
                ValidationResult fullvalidationResults = _fullvalidator.Validate(_plot);

                ParseValidater _parser = new ParseValidater();
                (_plot.ERRORCOUNT, _plot.ERRORMSG) = _parser.Parse(fullvalidationResults);


//                PlotValidator _validator = new PlotValidator();
//              ValidationResult validationResults = _validator.Validate(_plot);
                if (validationResults.IsValid)
                {
                    _ = AddPlot(_selectedprojectid);
                    Shell.Current.Navigating -= Current_Navigating;
                    //      await Shell.Current.GoToAsync("..", true);
                    await _navigation.PopAsync(true);
                }
                else
                {
                    await Application.Current.MainPage.DisplayAlert("Update Plot", validationResults.Errors[0].ErrorMessage, "Ok");
                }
            }
            else
            {
                Shell.Current.Navigating -= Current_Navigating;
                //       await Shell.Current.GoToAsync("..", true);
                await _navigation.PopAsync(true);
            }
        }