private async Task <ArrestReportSaveResult> SaveReport()
        {
            try
            {
                Dictionary <String, String> validationErrors;
                if (Report.Validate(out validationErrors))
                {
                    await ComputerReportsController.SaveArrestRecordAsync(Report);

                    if (Report == Globals.PendingArrestReport)
                    {
                        Globals.PendingArrestReport = new ArrestReport();
                    }
                    NotifyForEvent(ArrestReportSaveResult.SAVE);
                    return(ArrestReportSaveResult.SAVE);
                }
                else
                {
                    if (OnArrestReportValidationError != null)
                    {
                        OnArrestReportValidationError(this, validationErrors);
                    }
                    return(ArrestReportSaveResult.SAVE_ERROR);
                }
            }
            catch (Exception e)
            {
                Function.Log(e.ToString());
                return(ArrestReportSaveResult.SAVE_FAILED);
            }
        }