private void CheckBoxCheckOutIn_OnChecked(object sender, RoutedEventArgs e) { _checkBox = (CheckBox)sender; int toolId = (int)_checkBox.Tag; _checkBox.IsEnabled = false; _isOnChecked = true; backgroundWorkerUpdateToolIssued = new BackgroundWorker(); backgroundWorkerUpdateToolIssued.DoWork += BackgroundWorkerUpdateToolIssued_DoWork; backgroundWorkerUpdateToolIssued.RunWorkerCompleted += BackgroundWorkerUpdateToolIssued_RunWorkerCompleted; _checkOutInTool = ToolTrackerService.CheckOutInTools.FirstOrDefault(t => t.ToolId == toolId); if (_checkOutInTool == null) { return; } _newToolIssued = new ToolIssued { ToolId = _checkOutInTool.ToolId, DateTimeOut = DateTime.Now, ReceivedByInmateId = _checkOutInTool.InmateId, IssuedByOfficerId = ToolTrackerService.Officer.Id, ToolReturned = false }; // Update db on separate thread backgroundWorkerUpdateToolIssued.RunWorkerAsync(); //StopLoaderAnimation(); }
private void CheckBoxCheckOutIn_OnUnchecked(object sender, RoutedEventArgs e) { //StartLoaderAnimation(); _checkBox = (CheckBox)sender; int toolId = (int)_checkBox.Tag; _checkBox.IsEnabled = false; _isOnChecked = false; backgroundWorkerUpdateToolIssued = new BackgroundWorker(); backgroundWorkerUpdateToolIssued.DoWork += BackgroundWorkerUpdateToolIssued_DoWork; backgroundWorkerUpdateToolIssued.RunWorkerCompleted += BackgroundWorkerUpdateToolIssued_RunWorkerCompleted; _checkOutInTool = ToolTrackerService.CheckOutInTools.FirstOrDefault(t => t.ToolId == toolId); if (_checkOutInTool == null) { return; } // Update db on separate thread backgroundWorkerUpdateToolIssued.RunWorkerAsync(); //StopLoaderAnimation(); }
private static void MapToolToCheckOutInViewModel(Tool tool, Inmate inmate, UnitOfWork db) { var shop = db.ShopsRepo.FindById(tool.ShopId); var checkToolOutIn = new CheckToolOutInViewModel { ToolNumber = tool.ToolNumber, ToolDescription = tool.Description, ShopName = shop.Name, InmateId = inmate.Id, Inmate = inmate, ToolId = tool.Id, ToolReturned = true }; // check if tool is checked out bool toolCheckedOut = db.ToolsIssuedRepo .Exists(ti => ti.ToolId == tool.Id && !ti.ToolReturned); // if already checked out, get inmate name and assign to property if (toolCheckedOut) { // get ToolIssued obj var toolIssued = db.ToolsIssuedRepo.Find(ti => ti.ToolId == tool.Id && !ti.ToolReturned); var checkedOutByInmate = db.InmatesRepo.FindById(toolIssued.ReceivedByInmateId); checkToolOutIn.Inmate = checkedOutByInmate; checkToolOutIn.InmateId = checkedOutByInmate?.Id ?? 0; checkToolOutIn.IsCheckedOut = true; checkToolOutIn.ToolIssuedId = toolIssued.Id; checkToolOutIn.ToolReturned = toolIssued.ToolReturned; } CheckOutInTools.Add(checkToolOutIn); }