private async void LoadHardwares() { HardwareCollection.Clear(); var collection = await DbHandler.Instance.GetHardwareCollection(); HardwareCollection.AddRange(collection); }
private async void UpdateReport() { try { var hardwares = await DbHandler.Instance.GetHardwareCollection(); if (hardwares != null && hardwares.Count > 0) { AllHardwares.Clear(); AllHardwares.AddRange(hardwares); } var users = await DbHandler.Instance.GetUserCollection(); if (users != null && users.Count > 0) { //var reports = from user in users // group user by user.Name into g // select new UserReport // { // UserName = g.Key, // Designation = g.First().Designation, // Department = g.First().Department, // Hardwares = hardwares.Where(h => h.ComputerUserId.HasValue && h.ComputerUserId.Value == g.First()) // }; UserCollection.Clear(); UserCollection.AddRange(users); } var report = from hardware in hardwares group hardware by hardware.Model into g select new HardwareCountReport { Category = g.First().Category.ToString(), Model = g.Key, Count = g.Count().ToString() }; HardwareCollection.Clear(); HardwareCollection.AddRange(report); ActiveHardwareCollection.Clear(); ActiveHardwareCollection.AddRange(hardwares.Where(h => h.Status == HardwareStatus.RUNNING) .Select(hw => new HardwareReport { Category = hw.Category.ToString(), SerialNo = hw.SerialNo, HardwareTagNo = hw.HardwareTagNo, BrandName = hw.BrandName, Model = hw.Model, HardwareSerialNo = hw.HardwareSerialNo, ReceiveDate = hw.ReceiveDate.HasValue ? hw.ReceiveDate.Value.ToString("dd.MM.yyyy", CultureInfo.InvariantCulture) : string.Empty, ComputerUserName = users != null && users.Any(u => hw.ComputerUserId.HasValue && hw.ComputerUserId.Value == u.Id) ? users.FirstOrDefault(u => hw.ComputerUserId.Value == u.Id).Name : string.Empty, Comments = hw.Comments })); InActiveHardwareCollection.Clear(); InActiveHardwareCollection.AddRange(hardwares.Where(h => h.Status == HardwareStatus.UN_USED) .Select(hw => new HardwareReport { Category = hw.Category.ToString(), SerialNo = hw.SerialNo, HardwareTagNo = hw.HardwareTagNo, BrandName = hw.BrandName, Model = hw.Model, HardwareSerialNo = hw.HardwareSerialNo, ReceiveDate = hw.ReceiveDate.HasValue ? hw.ReceiveDate.Value.ToString("dd.MM.yyyy", CultureInfo.InvariantCulture) : string.Empty, ComputerUserName = users != null && users.Any(u => hw.ComputerUserId.HasValue && hw.ComputerUserId.Value == u.Id) ? users.FirstOrDefault(u => hw.ComputerUserId.Value == u.Id).Name : string.Empty, Comments = hw.Comments })); InRepairHardwareCollection.Clear(); InRepairHardwareCollection.AddRange(hardwares.Where(h => h.Status == HardwareStatus.REPAIR_TO_ITD) .Select(hw => new HardwareReport { Category = hw.Category.ToString(), SerialNo = hw.SerialNo, HardwareTagNo = hw.HardwareTagNo, BrandName = hw.BrandName, Model = hw.Model, HardwareSerialNo = hw.HardwareSerialNo, ReceiveDate = hw.ReceiveDate.HasValue ? hw.ReceiveDate.Value.ToString("dd.MM.yyyy", CultureInfo.InvariantCulture) : string.Empty, ComputerUserName = users != null && users.Any(u => hw.ComputerUserId.HasValue && hw.ComputerUserId.Value == u.Id) ? users.FirstOrDefault(u => hw.ComputerUserId.Value == u.Id).Name : string.Empty, Comments = hw.Comments })); UserReportCollection.Clear(); UserReportCollection.AddRange(hardwares.Select(hw => new HardwareReport { Category = hw.Category.ToString(), SerialNo = hw.SerialNo, HardwareTagNo = hw.HardwareTagNo, BrandName = hw.BrandName, Model = hw.Model, HardwareSerialNo = hw.HardwareSerialNo, ReceiveDate = hw.ReceiveDate.HasValue ? hw.ReceiveDate.Value.ToString("dd.MM.yyyy", CultureInfo.InvariantCulture) : string.Empty, ComputerUserName = users != null && users.Any(u => hw.ComputerUserId.HasValue && hw.ComputerUserId.Value == u.Id) ? users.FirstOrDefault(u => hw.ComputerUserId.Value == u.Id).Name : string.Empty, Comments = hw.Comments })); } catch (Exception x) { Log.Error("Error: ", x); } }