Пример #1
0
        /// <summary>
        /// v1.0.21 - Should I check for failed survey reasons.
        /// </summary>
        /// <returns></returns>
        private static ShouldICheckForSurveyReasonResult ShouldICheckForFailedSurveyReasons()
        {

            ShouldICheckForSurveyReasonResult cResult = new ShouldICheckForSurveyReasonResult();
            cResult.bCheck = false;
            cResult.dLastUpdate = DateTime.MinValue;

            try
            {

                int iDaysBetweenChecks = Convert.ToInt32(DependencyService.Get<IMain>().GetAppResourceValue("CheckFailedReasonsDaysBetweenChecks").ToString());

                AppSettingsTable cSettings = Main.p_cDataAccess.ReturnSettings();
                if (cSettings != null)
                {

                    if (cSettings.LastSurveyFailedCheckDateTime.HasValue == true)
                    {
                        TimeSpan tsDiff = DateTime.Now.Subtract(cSettings.LastSurveyFailedCheckDateTime.Value);
                        if (tsDiff.TotalDays >= iDaysBetweenChecks)
                        {
                            cResult.bCheck = true;
                            cResult.dLastUpdate = cSettings.LastSurveyFailedUpdateDateTime.Value;
                        }

                    }
                    else
                    {
                        cResult.bCheck = true;
                    }

                }
                else
                {
                    cResult.bCheck = true;
                }

                return cResult;

            }
            catch (Exception ex)
            {
                //cMain.ReportError(ex, cMain.GetCallerMethodName(), string.Empty);
                return cResult;

            }

        }
Пример #2
0
        /// <summary>
        /// v1.0.19 - Check for Failed Survey reasons.
        /// </summary>
        public async static Task CheckForFailedSurveyReasons()
        {

            WcfExt116 cAX = null;
            try
            {

                //If already checking then leave.
                if (Main.m_bCheckingSurveyFailedReasons == true) { return; }
                Main.m_bCheckingSurveyFailedReasons = true;

                ShouldICheckForSurveyReasonResult cCheckResult = Main.ShouldICheckForFailedSurveyReasons();
                if (cCheckResult.bCheck == true)
                {

                    //For calling AX wcf
                    cAX = new WcfExt116();

                    //Get update base enums from AX
                    FetchSurveyFailedReasonsResult fsrResult = await DependencyService.Get<IWcfExt116>().FetchFailedSurveyReasons(
                        cAX.m_cCompanyName,                        
                        cCheckResult.dLastUpdate,
                        Settings.p_sSetting_AuthID,
                        Session.Token);

                    if (fsrResult != null)
                    {

                        if (fsrResult.bSuccessfull == true)
                        {

                            AppSettingsTable cSettings = Main.p_cDataAccess.ReturnSettings();

                            if (fsrResult.sfrReasons.Count > 0)
                            {

                                bool bUpdateOK = Main.p_cDataAccess.UpdateFailedSurveyReasonsTable(fsrResult.sfrReasons);
                                if (bUpdateOK == true)
                                {

                                    cSettings.LastSurveyFailedUpdateDateTime = fsrResult.bLastUpdateDate;

                                }


                            }

                            cSettings.LastSurveyFailedCheckDateTime = DateTime.Now;

                            await Main.p_cDataAccess.SaveSettings(cSettings);

                        }

                    }

                }

                //Close connection.
                if (cAX != null)
                {
                    await DependencyService.Get<IWcfExt116>().CloseAXConnection();
                }

                //Reset checking flag.
                Main.m_bCheckingSurveyFailedReasons = false;

            }
            catch (Exception ex)
            {

                Main.m_bCheckingSurveyFailedReasons = false; //Reset checking flag.
                //cMain.ReportError(ex, cMain.GetCallerMethodName(), string.Empty);

            }

        }