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; } }
/// <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); } }