private async Task <bool> IsProjectAlreadyOnDevice(string v_sProjectNo) { try { //Check if project has already been downloaded cProjectTable cProject = Main.p_cDataAccess.IsProjectAlreadyDownloaded(v_sProjectNo); if (cProject != null) { StringBuilder sbMsg = new StringBuilder(); sbMsg.Append("This project has already been downloaded onto your device:"); sbMsg.Append(Environment.NewLine); sbMsg.Append(Environment.NewLine); sbMsg.Append("Project No: " + v_sProjectNo); sbMsg.Append(Environment.NewLine); sbMsg.Append("Project Name: " + cProject.ProjectName); sbMsg.Append(Environment.NewLine); sbMsg.Append(Environment.NewLine); sbMsg.Append("Any changes to the project or sub projects will be applied in the syncing process."); await DisplayAlert("Project Already Downloaded", sbMsg.ToString(), "OK"); return(true); } return(false); } catch (Exception ex) { //cMain.ReportError(ex, cMain.GetCallerMethodName(), string.Empty); return(false); } }
private object m_sfImageFolder = null;//StorageFolder public PhotoScreenPage(SurveyInputResult ProjectInfo) { InitializeComponent(); this.m_cProject = Main.p_cDataAccess.GetSubProjectProjectData(ProjectInfo.SubProjectNo); this.ToolbarItems.Add(new ToolbarItem() { Text = "Save", Icon = String.Format("{0}{1}.png", Device.OnPlatform("Icons/", "", "Assets/Icons/"), "save"), Command = new Command(() => btnSaveChanges_Click()) }); this.Title = ProjectInfo.ProjectNo + " - " + ProjectInfo.ProjectName; SurveyInputPhotoPage_Loaded(); }
/// <summary> /// /// </summary> /// <param name="v_cWorkDB"></param> /// <returns></returns> public static string ReturnAddress(cProjectTable v_cWorkDB) { string sAddress = string.Empty; try { sAddress = Main.RemoveNewLinesFromString(v_cWorkDB.DeliveryStreet); if (v_cWorkDB.DeliveryCity.Length > 0) { if (sAddress.Length > 0) { sAddress += ", "; } sAddress += Main.RemoveNewLinesFromString(v_cWorkDB.DeliveryCity); } if (v_cWorkDB.DlvState.Length > 0) { if (sAddress.Length > 0) { sAddress += ", "; } sAddress += v_cWorkDB.DlvState; } if (v_cWorkDB.DlvZipCode.Length > 0) { if (sAddress.Length > 0) { sAddress += ", "; } sAddress += Main.RemoveNewLinesFromString(v_cWorkDB.DlvZipCode); } return sAddress; } catch (Exception ex) { //cMain.ReportError(ex, cMain.GetCallerMethodName(), string.Empty); return sAddress; } }
public SurveyFailedPage(SurveyInputResult item) { InitializeComponent(); Title = "Survey Failed"; tbProjectNo.Text = item.DeliveryStreet + ", " + item.DlvZipCode; tbSubProjectNo.Text = item.SubProjectNo; txtFailedComment.HeightRequest = 200; PopulateFailedDropDown(); //this.m_cSurvey = (SurveyInputResult)e.Parameter; this.m_cProject = Main.p_cDataAccess.GetSubProjectProjectData(item.SubProjectNo); this.ToolbarItems.Add(new ToolbarItem() { Text = "Save", Icon = String.Format("{0}{1}.png", Device.OnPlatform("Icons/", "", "Assets/Icons/"), "save"), Command = new Command(() => btnUpdateSurveyFailed_Click()) }); }
/// <summary> /// Apply survey dates to passed to passed objects. /// </summary> /// <param name="v_cProjectData"></param> /// <param name="v_cUpdates"></param> /// <returns></returns> public static Settings.SurveyDatesApply ApplySurveyDates(cProjectTable v_cProjectData, List <cUpdatesTable> v_cUpdates, DateTime v_dSurveyDate, string v_sSubProjectNo, string v_sSurveyorName, string v_sSurveyorProfile, string v_sMachineName) { Settings.SurveyDatesApply cReturn = new Settings.SurveyDatesApply(); try { cReturn.cProjectData = v_cProjectData; cReturn.cUpdates = v_cUpdates; //AX sets the time one hour forward, so we take one hour off the date we save in the updates table for uploading to AX DateTime dAXAdjDateTime = v_dSurveyDate; //.AddHours(-1); v1.0.9 JM removed the add 1 hour from the AX date //Update class cReturn.cProjectData.MxmConfirmedAppointmentIndicator = (int)Settings.YesNoBaseEnum.Yes; cReturn.cUpdates = Settings.AddToUpdatesList(cReturn.cUpdates, v_sSubProjectNo, "MxmConfirmedAppointmentIndicator", ((int)Settings.YesNoBaseEnum.Yes).ToString()); cReturn.cProjectData.EndDateTime = v_dSurveyDate; cReturn.cUpdates = Settings.AddToUpdatesList(cReturn.cUpdates, v_sSubProjectNo, "StartDateTime", dAXAdjDateTime.ToString()); cReturn.cProjectData.StartDateTime = v_dSurveyDate; cReturn.cUpdates = Settings.AddToUpdatesList(cReturn.cUpdates, v_sSubProjectNo, "EndDateTime", dAXAdjDateTime.ToString()); cReturn.cProjectData.SurveyorName = v_sSurveyorName; cReturn.cUpdates = Settings.AddToUpdatesList(cReturn.cUpdates, v_sSubProjectNo, "MxmSurveyorName", v_sSurveyorName); cReturn.cProjectData.SurveyorProfile = v_sSurveyorProfile; cReturn.cUpdates = Settings.AddToUpdatesList(cReturn.cUpdates, v_sSubProjectNo, "MxmSurveyorProfile", v_sSurveyorProfile); cReturn.cProjectData.SurveyorPCTag = v_sMachineName; cReturn.cUpdates = Settings.AddToUpdatesList(cReturn.cUpdates, v_sSubProjectNo, "MxmSurveyorPCTag", v_sMachineName); if (DependencyService.Get <ISettings>().IsThisTheSurveyorApp() == true) { cReturn.cProjectData.MxmSurveyletterRequired = (int)Settings.YesNoBaseEnum.Yes; cReturn.cUpdates = Settings.AddToUpdatesList(cReturn.cUpdates, v_sSubProjectNo, "MxmSurveyletterRequired", ((int)Settings.YesNoBaseEnum.Yes).ToString()); cReturn.cProjectData.MxmSMSSent = (int)Settings.YesNoBaseEnum.No; cReturn.cUpdates = Settings.AddToUpdatesList(cReturn.cUpdates, v_sSubProjectNo, "MxmSMSSent", ((int)Settings.YesNoBaseEnum.No).ToString()); cReturn.cProjectData.MxmNextDaySMS = (int)Settings.YesNoBaseEnum.No; cReturn.cUpdates = Settings.AddToUpdatesList(cReturn.cUpdates, v_sSubProjectNo, "MxmNextDaySMS", ((int)Settings.YesNoBaseEnum.No).ToString()); } else { cReturn.cProjectData.MxmSurveyletterRequired = (int)Settings.YesNoBaseEnum.Yes; cReturn.cUpdates = Settings.AddToUpdatesList(cReturn.cUpdates, v_sSubProjectNo, "ABPAXInstallletterRequired", ((int)Settings.YesNoBaseEnum.Yes).ToString()); cReturn.cProjectData.MxmSMSSent = (int)Settings.YesNoBaseEnum.No; cReturn.cUpdates = Settings.AddToUpdatesList(cReturn.cUpdates, v_sSubProjectNo, "ABPAXInstallSMSSent", ((int)Settings.YesNoBaseEnum.No).ToString()); cReturn.cProjectData.MxmNextDaySMS = (int)Settings.YesNoBaseEnum.No; cReturn.cUpdates = Settings.AddToUpdatesList(cReturn.cUpdates, v_sSubProjectNo, "ABPAXInstallNextDaySMS", ((int)Settings.YesNoBaseEnum.No).ToString()); //v1.0.10 - Set the confirmed action date. cReturn.cProjectData.ConfirmedActionDateTime = DateTime.Now; } //Return populated object. return(cReturn); } catch (Exception ex) { StringBuilder sbParams = new StringBuilder(); sbParams.Append("SurveyDate=" + v_dSurveyDate.ToString()); sbParams.Append(",SubProjectNo=" + v_sSubProjectNo); sbParams.Append(",SurveyorName=" + v_sSurveyorName); sbParams.Append(",SurveyorProfile=" + v_sSurveyorProfile); sbParams.Append(",MachineName=" + v_sMachineName); throw new Exception(ex.Message + " - PARAMS(" + sbParams.ToString() + ")"); } }
/// <summary> /// v1.0.2 - Un Confirm surveys. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private async void btnUnConfirmSurveys_Click() { try { //Nothing selected, let user know. if (GetSelection().Count == 0) { await DisplayAlert("Selection Required", "You need to select at least one sub-project before you can continue.", "OK"); this.lvResults.Focus(); return; } //Remove sub-projects that do not have confirmation flags. List <string> lsToUnConfirm = new List <string>(); foreach (SurveyDatesResult cSurvey in GetSelection()) { if (cSurvey.MxmConfirmedAppointmentIndicator.HasValue == true) { if (cSurvey.MxmConfirmedAppointmentIndicator.Value == (int)Settings.YesNoBaseEnum.Yes) { //Record sub project we are going to un-confirm lsToUnConfirm.Add(cSurvey.SubProjectNo); } } } //If no sub project are confirmed let user know and quit. if (lsToUnConfirm.Count == 0) { await DisplayAlert("No sub-projects confirmed.", "None of the sub-projects selected have confirmed appointments.", "OK"); this.lvResults.Focus(); return; } //Build confirmation message. StringBuilder sbMessage = new StringBuilder(); sbMessage.Append("Are you sure you want to un-confirm the following sub-projects:"); sbMessage.Append(Environment.NewLine); sbMessage.Append(Environment.NewLine); //Add sub-projects to message. foreach (string sSubProject in lsToUnConfirm) { sbMessage.Append(sSubProject); sbMessage.Append(Environment.NewLine); } //Ask user if they want to continue bool cAnswer = await DisplayAlert("Confirm Action", sbMessage.ToString(), "Yes", "No"); if (cAnswer == true) { cProjectTable cSubProjectData = null; foreach (string sProject in lsToUnConfirm) { //Fetch sub project data cSubProjectData = Main.p_cDataAccess.GetSubProjectProjectData(sProject); //Update confirmed flag. cSubProjectData.MxmConfirmedAppointmentIndicator = (int)Settings.YesNoBaseEnum.No; //Save back to database. Main.p_cDataAccess.UpdateSubProjectData(cSubProjectData); //Add to log table. Main.p_cDataAccess.AddToUpdateTable(sProject, "MxmConfirmedAppointmentIndicator", ((int)Settings.YesNoBaseEnum.No).ToString()); } } //Refresh screen //this.DisplaySearchResults(); await DisplayAlert("Information", "You have to search again to show changed state", "OK"); //Reselect //this.ReselectSubProject(lsToUnConfirm); } catch (Exception ex) { //cMain.ReportError(ex, cMain.GetCallerMethodName(), string.Empty); } }