public void Save(int GateID, int bindingID, bool active) { using (var db = new NFC_Check_DBContext()) { Log log = new Log(); log.BindigId = bindingID; log.GateId = GateID; log.Time = DateTime.Now; log.Event = active ? "Login" : "Logout"; db.Log.Add(log); db.SaveChanges(); } }
public void ErrorSave(int GateId, string comment) { using (var db = new NFC_Check_DBContext()) { Log log = new Log(); log.BindigId = -1; log.GateId = GateId; log.Time = DateTime.Now; log.Event = "Error"; log.Comment = comment; db.Log.Add(log); db.SaveChanges(); } }
Thread th; //delay thread private void NFC_Code_TextChanged(object sender, TextChangedEventArgs e) // NFC code control { if (th != null) { th.Interrupt(); th = null; } if (NFC_Code.Text.Length == 10) { DataBase dataB = new DataBase(); Log log = new Log(); try { using (var db = new NFC_Check_DBContext()) { if (img.Source == null) { tool = db.Tool.Where(a => a.NfcId == int.Parse(NFC_Code.Text)).First(); if (tool != null) //Tool OK { bitmapim.UriSource = new Uri(img.BaseUri, tool.Image); // dimension, so long as one dimension measurement is provided img.Source = bitmapim; Name.Text = tool.Type; } else //Invalid Tool { dataB.ErrorSave(1, "Invalid tool"); errorText.Text = "Invalid tool!"; ErrorMSGPop.IsOpen = true; } } else { Employee emp = db.Employee.Where(a => a.BadgeId == int.Parse(NFC_Code.Text)).First(); Binding bind = db.Binding.Where(a => a.EmployeeId == emp.EmployeeId && a.ToolId == tool.ToolId).LastOrDefault(); if (emp != null) { if (bind == null) { dataB.ErrorSave(1, "Invalid binding!"); errorText.Text = "Invalid binding!"; ErrorMSGPop.IsOpen = true; } else //Entry OK { dataB.Save(1, bind.BindingId, bind.Log.Last().Active); bitmapim.UriSource = new Uri(img.BaseUri, emp.Image); // dimension, so long as one dimension measurement is provided img.Source = bitmapim; Name.Text = emp.FirstName + " " + emp.Surname; } } else { dataB.ErrorSave(1, "Invalid employee!"); errorText.Text = "Invalid employee!"; ErrorMSGPop.IsOpen = true; } } } } catch (Exception ex) { using (var db = new NFC_Check_DBContext()) //connection problem { dataB.ErrorSave(1, ex.Message); errorText.Text = ex.Message; ErrorMSGPop.IsOpen = true; NFC_Code.Text = ""; } } NFC_Code.Text = ""; } }