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);
        }
        public static ObservableCollection <CheckToolOutInViewModel> LoadCheckOutInTools()
        {
            // Shop and inmate have to be selected
            if (SelectedShopId < 1 || SelectedInmateId < 1)
            {
                return(null);
            }

            CheckOutInTools.Clear();

            using (var db = new UnitOfWork())
            {
                var inmate = db.InmatesRepo.FindById(SelectedInmateId);
                var shop   = db.ShopsRepo.FindById(SelectedShopId);
                var tools  = shop.Name == AllShopsName?db.ToolsRepo.FindAll().ToList()
                                 : db.ToolsRepo.FindAll(t => t.ShopId == SelectedShopId).ToList();

                MapToolsToCheckOutInViewModel(tools, inmate, db);
            }

            return(CheckOutInTools);
        }