public void UploadCheckLogToDropbox(Context ctx, CheckLogs checklogs) { var files = ctx.FileList(); var _CheckType = 0; if(checklogs.CheckType.Equals(CheckType.IN)) _CheckType = 1; string Name = checklogs.employee.Name; string Number = checklogs.employee.Number; string CheckTime = checklogs.CheckTime.ToString(@"yyyy-MM-dd HH:mm:ss"); var _localtion = GPSHelper.GetInstance().GetLocation(); ISharedPreferences settings = PreferenceManager.GetDefaultSharedPreferences(EmployeeManagement._context); string phoneName = ""; phoneName = settings.GetString("pref_phoneName", ""); string content = string.Format("{0},\"{1}\",{2},{3},{4},{5},{6}", _CheckType, Name, Number, CheckTime, phoneName, checklogs.x, checklogs.y); var fileName = files.Where(L => L.ToLower().Equals("trans-ap" + checklogs.employee.Number + ".csv")).FirstOrDefault(); List<string> list = new List<string>(); if (fileName == null) { fileName = "Trans-aP" + checklogs.employee.Number + ".csv"; list.Add(content); SaveAsPrivateFileToDropboxTransFile(ctx, list, fileName); } else { var file = ctx.GetFileStreamPath(fileName); var lines = readFile(file.AbsolutePath); int count = lines.Length; foreach (var line in lines) { list.Add(line); } list.Add(content); SaveAsPrivateFileToDropboxTransFile(ctx, list, fileName); } }
public void DeleteCheckLogFromDropBox(Context ctx, CheckLogs log) { var files = ctx.FileList(); var fileName = files.Where(L => L.ToLower().Equals("trans-ap" + log.employee.Number + ".csv")).FirstOrDefault(); List<string> list = new List<string>(); var file = ctx.GetFileStreamPath(fileName); var lines = readFile(file.AbsolutePath); int count = lines.Length; // Needed so only first instance is deleted in case of duplicate transactions bool firstDeleted = false; foreach (var line in lines) { var comma = ','; var cells = line.Split(comma); var _CheckType = 0; if (log.CheckType.Equals(CheckType.IN)) _CheckType = 1; var match = cells[0].Equals(_CheckType.ToString()) && cells[1].Equals("\""+log.employee.Name+"\"") && cells[2].Equals(log.employee.Number) && cells[3].Equals(log.CheckTime.ToString(@"yyyy-MM-dd HH:mm:ss")) ; // If not a match, or if a match exists but a log was already deleted, then add it to the list. if (!match || (match && firstDeleted)) list.Add(line); else firstDeleted = true; // If test fails, that means a match was found, make sure not to delete future duplicates } SaveAsPrivateFileToDropboxTransFile(ctx, list, fileName); }
public void AddLogWithoutSync(CheckType type, DateTime datetime, double thisX, double thisY) { var item = new CheckLogs(this, type, datetime, thisX, thisY); _Logs.Sort((x, y) => x.CheckTime.CompareTo(y.CheckTime)); }
//public bool DeleteCheckLog(string Id) public void DeleteCheckLog(CheckLogs log) { List<CheckLogs> logs = this._Logs; //var items = logs.Where(L => L.Id == Id); //CheckLogs log = logs.First(L => L.Id == Id); var count = logs.Count; logs.Remove(log); DropboxHelper.GetInstance().DeleteCheckLogFromDropBox(EmployeeManagement._context, log); }
public void AddLog(CheckType type, DateTime datetime) { var item = new CheckLogs(this, type, datetime); DropboxHelper.GetInstance().UploadCheckLogToDropbox(EmployeeManagement._context, item); _Logs.Sort((x, y) => x.CheckTime.CompareTo(y.CheckTime)); }