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);
        }
Exemplo n.º 3
0
 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));
 }
Exemplo n.º 4
0
 //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);
 }
Exemplo n.º 5
0
 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));
 }