Пример #1
0
        public async Task <FetchSurveyFailedReasonsResult> FetchFailedSurveyReasons(
            string v_sCompanyName,
            DateTime v_dLastUpdate,
            string v_sAuthID,
            string v_sToken)
        {
            m_wcfClient = new WcfExt116.ServiceClient();
            FetchSurveyFailedReasonsResult result = new FetchSurveyFailedReasonsResult();

            try
            {
                WcfExt116.FetchSurveyFailedReasonsResult sResult = await m_wcfClient.FetchFailedSurveyReasonsAsync(
                    v_sCompanyName,
                    v_dLastUpdate,
                    v_sAuthID,
                    v_sToken);

                if (sResult.bSuccessfull == true)
                {
                    result.bSuccessfull    = sResult.bSuccessfull;
                    result.bLastUpdateDate = sResult.bLastUpdateDate;
                    result.sfrReasons      = new ObservableCollection <SurveyFailedReason>();
                    foreach (WcfExt116.SurveyFailedReason o in sResult.sfrReasons)
                    {
                        SurveyFailedReason oSFR = new SurveyFailedReason();
                        oSFR.bMandatoryNote  = o.bMandatoryNote;
                        oSFR.iDisplayOrder   = o.iDisplayOrder;
                        oSFR.iProgressStatus = o.iProgressStatus;
                        oSFR.sReason         = o.sReason;
                        result.sfrReasons.Add(oSFR);
                    }
                }
                return(result);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
                //return null;
            }
        }
Пример #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);

            }

        }