Example #1
0
        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);
        }
Example #2
0
        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);
            }
        }
Example #3
0
        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
            }
        }
Example #4
0
        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;
                }
            }
        }
Example #5
0
        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;
                }
            }
        }
Example #6
0
        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")
                });
            };
        }
Example #7
0
        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);
        }
Example #8
0
        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;
            }));
        }
Example #9
0
        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);
        }
Example #10
0
        public Arret GetArretFromLocalID(IFileAccessManager logFileManager, int iLocalID)
        {
            Expression <Func <Arret, bool> > filter = child => child.m_iLocalID == iLocalID;

            return(GetItem <Arret>(logFileManager, filter));
        }
Example #11
0
 public void Updatetrajet(IFileAccessManager logFileManager, Trajet trajet)
 {
     SaveItem <Trajet>(logFileManager, trajet);
 }
Example #12
0
        /*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));
        }
Example #13
0
 public static Task <string> SerializeObjectAsync <T>(IFileAccessManager logFileManager, T item, string sMoreInfoForExceptionThrowned = "")
 {
     return(Task.Factory.StartNew(() => SerializeObject <T>(logFileManager, item, sMoreInfoForExceptionThrowned)));
 }
Example #14
0
 public static Task <T> DeserializeObjectAsync <T>(IFileAccessManager logFileManager, string value, string sMoreInfoForExceptionThrowned)
 {
     return(Task.Factory.StartNew(() => DeserializeObject <T>(logFileManager, value, sMoreInfoForExceptionThrowned)));
 }
Example #15
0
        public static void TrackGPS(IFileAccessManager logFileManager, string sLog)
        {
            TrajetTramLogger.LogConsoleDebug(logFileManager, "GPS - ", sLog);

            Analytics.TrackEvent("GPS - " + sLog, new Dictionary <string, string> ());
        }
Example #16
0
        public void Prepare(IFileAccessManager logFileManager)
        {
            m_bHasBeenPrepared = true;

            LocalDatabase.Get().Updatetrajet(logFileManager, this);
        }
Example #17
0
 public FileAccessController(IFileAccessManager iFileAccessManager,
                             ILogger <FileAccessController> iLogger)
 {
     this.iFileAccessManager = iFileAccessManager;
     this.iLogger            = iLogger;
 }