123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131 |
-
- using System;
- using System.Collections.Generic;
- using System.IO;
- using System.Text;
- using System.Threading.Tasks;
- using Xamarin.Essentials;
- using Xamarin.Forms;
- namespace comal.timesheets
- {
- public delegate void RequestSendError(string message);
- public class MobileLogging
- {
- public MobileLogging(LogType type, string entitytype, string message, string page)
- {
- SaveLog(type, entitytype, message, page);
- }
- private void SaveLog(LogType type, string entitytype, string message, string page)
- {
- var log = CreateMessage(type, entitytype, message, page);
- try
- {
- const string errorFileName = "Errorscache.log";
- string libraryPath = "";
- if (Device.RuntimePlatform.Equals(Device.iOS))
- libraryPath = Environment.GetFolderPath(Environment.SpecialFolder.Resources);
- else
- libraryPath = Environment.GetFolderPath(Environment.SpecialFolder.Personal);
- var errorFilePath = Path.Combine(libraryPath, errorFileName);
- var errorMessage = "";
- if (File.Exists(errorFilePath))
- {
- errorMessage = File.ReadAllText(errorFilePath);
- }
- errorMessage = errorMessage + System.Environment.NewLine + log + System.Environment.NewLine;
- File.WriteAllText(errorFilePath, errorMessage);
- }
- catch
- {
- }
- }
- public async void OpenEmail(string log)
- {
- var message = new EmailMessage
- {
- Subject = "Error Logs from " + GlobalVariables.EmpName,
- Body = log,
- To = new List<string> { "support@prsdigital.com.au" }
- };
- await Email.ComposeAsync(message);
- }
- private bool TestTeam()
- {
- if (App.DBSettings.UserID == "Peter"
- || App.DBSettings.UserID == "frank"
- || App.DBSettings.UserID == "Dijkstra"
- || App.DBSettings.UserID == "TAN"
- || App.DBSettings.UserID == "shirley"
- || App.DBSettings.UserID == "FRANK"
- || App.DBSettings.UserID == "KENRIC"
- || App.DBSettings.UserID == "NICK"
- || App.DBSettings.UserID == "PETER"
- )
- return true;
- else
- return false;
- }
- private string CreateMessage(LogType type, string entitytype, string message, string page)
- {
- return ConnectionType(type)
- + Area(entitytype)
- + Date()
- + Page(page)
- + Message(message)
- + End();
- }
- private string Area(string entitytype)
- {
- return "Area: " + entitytype + System.Environment.NewLine;
- }
- private string ConnectionType(LogType type)
- {
- return "Connection Type: " + type.ToString() + System.Environment.NewLine;
- }
- private string Date()
- {
- return "Date: " + DateTime.Now.ToString("HH:mm dd-MMM-yy") + System.Environment.NewLine;
- }
- private string Page(string page)
- {
- return "Page: " + page + System.Environment.NewLine;
- }
- private string Message(string message)
- {
- return "Error Message: " + message + Environment.NewLine;
- }
- private string End()
- {
- return "END" + Environment.NewLine;
- }
- }
- public enum LogType
- {
- Query,
- Save,
- Delete,
- Validate,
- UIUpdate,
- BackgroundProcess
- }
- }
|