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);
            }
        }
Exemplo n.º 2
0
 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();
 }
Exemplo n.º 3
0
        /// <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;

            }


        }
Exemplo n.º 4
0
 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())
     });
 }
Exemplo n.º 5
0
        /// <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() + ")");
            }
        }
Exemplo n.º 6
0
        /// <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);
            }
        }