public HeatMapViewModel(ITaskRepository taskRepository, IParkingLotRepository lotRepository, RouterService router) { _taskRepository = taskRepository; _router = router; ParkingLots = lotRepository.All(); Tasks = taskRepository.All().SelectMany(x => x.Inspections).ToList(); OpenTaskCommand = new RelayCommand(OpenTask); ClearCacheCommand = new RelayCommand(ClearCache); }
private void Generate(WebBrowser browser) { Regions.Clear(); foreach (var address in _addressRepository.All()) { if (!Regions.Contains(address.Province)) { Regions.Add(address.Province); } } _browser = browser; var tasks = _taskRepository.All(); var DataElementList = new List <NewInspectionDataElement>(); var values = new Dictionary <string, int>(); foreach (var item in tasks) { if (((item.Customer == SelectedCustomer) || SelectAllCustomers) && (item.DatetimeCreated != null) && (item.DateTimeEnd != null) && (item.DateTimeStart != null) && (item.ParkingLot?.Address != null)) { if ((item.DatetimeCreated < EndDateTime) && (item.DatetimeCreated > BeginDateTime) && (item.ParkingLot.Address.Province.Equals(SelectedRegion) || SelectAllRegions)) { var month = item.DatetimeCreated.ToString("MMMMM"); if (!values.ContainsKey(month)) { values.Add(month, 0); } values[month]++; } } } foreach (var item in values) { DataElementList.Add(new NewInspectionDataElement { month = item.Key, amount = item.Value.ToString() }); } var o = JsonConvert.SerializeObject(DataElementList); browser.InvokeScript("go", o); Customers.Clear(); _customerRepository.All().ForEach(Customers.Add); }
private void Search() { Tasks.Clear(); var search = _taskRepository.All(); if (!string.IsNullOrWhiteSpace(SearchString)) { search.Where(t => t.Customer != null) .Where(t => t.Customer.Name.ToLower().Contains(SearchString.ToLower()) || t.Customer.Email.ToLower().Contains(SearchString.ToLower()) || t.ParkingLot.Address.City.ToLower().Contains(SearchString.ToLower()) || t.ParkingLot.Address.Street.ToLower().Contains(SearchString.ToLower()) || t.ParkingLot.Address.ZipCode.ToLower().Contains(SearchString.ToLower()) || t.ParkingLot.Address.Number.ToLower().Contains(SearchString.ToLower()) || t.ParkingLot.Address.Country.ToLower().Contains(SearchString.ToLower()) ).ToList().ForEach(Tasks.Add); return; } search.ForEach(Tasks.Add); }
private void Generate(WebBrowser browser) { if (SelectAllCustomers == false && SelectedCustomer == null) { return; } _browser = browser; var DataElementList = new List <DataElement>(); var list = _taskRepository.All(); foreach (var item in list) { if (item.ParkingLot.Address != null && item.DateTimeEnd != null && item.DateTimeStart != null || item.Customer?.Name != null) { bool region = true; if (SelectedRegion != null && item.ParkingLot.Address != null && item.ParkingLot.Address.Province != null) { if (!item.ParkingLot.Address.Province.Equals(SelectedRegion)) { region = false; } } if ((region || SelectAllRegions == true) && item.DateTimeStart > BeginDateTime && item.DateTimeStart < EndDateTime && (item.Customer.Name == SelectedCustomer?.Name || SelectAllCustomers == true)) { var inspections = item.Inspections; List <Employee> employees = (from i in inspections from ii in i.InspectionInspectors select ii.Employee).ToList(); if (employees.Contains(SelectedEmployee) || SelectAllEmployees == true) { List <TimeSpan> spans = new List <TimeSpan>(); foreach (var i in item.Inspections) { TimeSpan span; if (i.DateTimeDone != null) { TimeSpan?tempSpan = i.DateTimeDone - i.DateTimeStarted; span = tempSpan.Value; spans.Add(span); } } if (spans.Count > 0) { double duration = spans.Average(timeSpan => timeSpan.TotalMinutes); int finalDuration = (int)duration; DataElementList.Add(new DataElement { inspection = item.Customer.Name, duration = finalDuration.ToString() }); } } } } } var o = new DataSet { data = DataElementList, ChartType = SelectedChart }; var test = JsonConvert.SerializeObject(o); browser.InvokeScript("go", test); Regions.Clear(); foreach (var address in _addressRepository.All()) { if (!Regions.Contains(address.Province)) { Regions.Add(address.Province); } } Customers.Clear(); _customerRepository.All().ForEach(Customers.Add); _userRepository.All().ForEach(Inspectors.Add); }
public IEnumerable <Task> All(int userId) { return(taskRepository.All(userId)); }