public static string SerializeObject <T>(IFileAccessManager logFileManager, T item, string sMoreInfoForExceptionThrowned = "") { string res = ""; try { res = JsonConvert.SerializeObject(item); } catch (Exception e) { MobileCenter_Helper.ReportError(logFileManager, e, "SerializeObjectAsync<" + typeof(T).FullName + ">", "Error during JSON Serialization...\n\nitem = " + item.ToString() + "\n\nException.StackTrace = " + e.StackTrace + "\n\nMore Information... " + sMoreInfoForExceptionThrowned + "\n\nException.Message = " + e.Message); } return(res); }
private T GetItem <T>(IFileAccessManager logFileManager, Expression <Func <T, bool> > Filter) where T : new() { lock (locker) { string s = "GetItem(" + typeof(T).ToString() + ", " + ((LambdaExpression)Filter).Body.ToString() + ")"; DateTime start = DateTime.Now; T res = m_connection.Table <T>().Where(Filter).FirstOrDefault(); TimeSpan diff = DateTime.Now - start; TrajetTramLogger.LogConsoleDebug(logFileManager, "End(" + diff.Seconds + "s " + diff.Milliseconds + "ms) " + s, "DatabaseTrajetTram"); return(res); } }
public Trajet Addtrajet(IFileAccessManager logFileManager, Trajet trajet) { //Should verify primary key manually ? ref number and date ?? ask client int iLocalIDCreated = InsertItem <Trajet>(logFileManager, trajet); if (iLocalIDCreated > 0) { return(trajet); } else { return(null);//not inserted } }
public static void ReportError(IFileAccessManager logFileManager, Exception e, [CallerFilePath] string sTitle = "", [CallerMemberName] string sDescription = "") { MobileCenter_Helper.AddAttachmentAndReportToMobileCenter(logFileManager, FormatErrorReporting(e, sTitle, sDescription).ToString()); MobileCenter_Helper instance = MobileCenter_Helper.GetInstance(); if (instance.m_sbLogs != null) { lock (locker) { instance.m_sbLogs.Clear(); instance.m_sbLogs = null; } } }
public static void ReportError(IFileAccessManager logFileManager, Exception e, StringBuilder dicInfos) { MobileCenter_Helper.AddAttachmentAndReportToMobileCenter(logFileManager, FormatErrorReporting(e, dicInfos).ToString()); MobileCenter_Helper instance = MobileCenter_Helper.GetInstance(); if (instance.m_sbLogs != null) { lock (locker) { instance.m_sbLogs.Clear(); instance.m_sbLogs = null; } } }
private static void AddAttachmentAndReportToMobileCenter(IFileAccessManager logFileManager, string sDesc) { TrajetTramLogger.LogConsoleDebug(logFileManager, "Exception - ", sDesc); //Always send crash report without asking to user Crashes.ShouldProcessErrorReport = (ErrorReport report) => { return(true); }; Crashes.ShouldAwaitUserConfirmation = () => { return(false); }; //Add attachments to the error Crashes.GetErrorAttachments = (ErrorReport report) => { return(new ErrorAttachmentLog[] { ErrorAttachmentLog.AttachmentWithText(sDesc, "attachment.txt") }); }; }
private static Trajet GettrajetDetailsToShowOnScreen(IFileAccessManager logFileManager, Trajet trajet) { if (trajet == null) { return(null); } List <Arret> lsarret = LocalDatabase.Get().GetArretOftrajet(logFileManager, trajet); trajet.m_lsarret = new List <Arret>(); if (lsarret != null && lsarret.Count > 0) { trajet.m_lsarret.AddRange(lsarret); } return(trajet); }
public static async Task <List <Trajet> > GetAlltrajetsToShowOnScreen(IFileAccessManager logFileManager) { return(await Task.Factory.StartNew(() => { //Remove all old trajets (2 days or more) List <Trajet> lstrajetsToShow = LocalDatabase.Get().GetAlltrajetInDatabase(logFileManager); foreach (Trajet m in lstrajetsToShow) { if (m.m_datetrajet.Date < DateTime.Now.Date.AddDays(-2)) { LocalDatabase.Get().RemovetrajetAndItsarret(logFileManager, m); } } //Get the list of trajet to show on screen lstrajetsToShow = LocalDatabase.Get().GetAlltrajetInDatabase(logFileManager); return lstrajetsToShow; })); }
public static T DeserializeObject <T>(IFileAccessManager logFileManager, string value, string sMoreInfoForExceptionThrowned) { T res = default(T); try { res = JsonConvert.DeserializeObject <T>(value); } catch (Exception e) { MobileCenter_Helper.ReportError(logFileManager, e, "DeserializeObjectAsync<" + typeof(T).FullName + ">", "Error during JSON Deserialization..." + "\n\ntext to deserialize = \"" + value + "\"\n\nMore Information... " + sMoreInfoForExceptionThrowned + "\n\nException.StackTrace = " + e.StackTrace + "\n\nException.Message = " + e.Message); } return(res); }
public Arret GetArretFromLocalID(IFileAccessManager logFileManager, int iLocalID) { Expression <Func <Arret, bool> > filter = child => child.m_iLocalID == iLocalID; return(GetItem <Arret>(logFileManager, filter)); }
public void Updatetrajet(IFileAccessManager logFileManager, Trajet trajet) { SaveItem <Trajet>(logFileManager, trajet); }
/*public trajet Gettrajet(string sRefNumber, DateTime date) * { * //Expression<Func<trajet, bool>> filter = child => child.m_sRefNumber == sRefNumber && child.m_datetrajet.Year == date.Year && child.m_datetrajet.Month == date.Month && child.m_datetrajet.Day == date.Day; * var res = GetItems<trajet>(); * * foreach (trajet m in res) * if (m.m_sRefNumber == sRefNumber && m.m_datetrajet.Year == date.Year && m.m_datetrajet.Month == date.Month && m.m_datetrajet.Day == date.Day) * return m; * return null; * }*/ public Trajet Gettrajet(IFileAccessManager logFileManager, int iLocalID) { Expression <Func <Trajet, bool> > filter = child => child.m_iLocalID == iLocalID; return(GetItem <Trajet>(logFileManager, filter)); }
public static Task <string> SerializeObjectAsync <T>(IFileAccessManager logFileManager, T item, string sMoreInfoForExceptionThrowned = "") { return(Task.Factory.StartNew(() => SerializeObject <T>(logFileManager, item, sMoreInfoForExceptionThrowned))); }
public static Task <T> DeserializeObjectAsync <T>(IFileAccessManager logFileManager, string value, string sMoreInfoForExceptionThrowned) { return(Task.Factory.StartNew(() => DeserializeObject <T>(logFileManager, value, sMoreInfoForExceptionThrowned))); }
public static void TrackGPS(IFileAccessManager logFileManager, string sLog) { TrajetTramLogger.LogConsoleDebug(logFileManager, "GPS - ", sLog); Analytics.TrackEvent("GPS - " + sLog, new Dictionary <string, string> ()); }
public void Prepare(IFileAccessManager logFileManager) { m_bHasBeenPrepared = true; LocalDatabase.Get().Updatetrajet(logFileManager, this); }
public FileAccessController(IFileAccessManager iFileAccessManager, ILogger <FileAccessController> iLogger) { this.iFileAccessManager = iFileAccessManager; this.iLogger = iLogger; }