public SoftwareDetails(string id, ObservableCollection <Software> viewModelSoftwareList, MainWindowViewModel mainWindowViewModel) { _mainWindowViewModel = mainWindowViewModel; _adding = false; _softwareList = viewModelSoftwareList; _viewModel = new SoftwareDetailsViewModel(id); DataContext = _viewModel; InitializeComponent(); }
public async Task <IActionResult> Details(int?id) { if (id == null || id == 0) { return(NotFound()); } var Software = await _context.Softwares.Include(t => t.Tipi) .Include(u => u.AppUser).ThenInclude(t => t.Team).ThenInclude(d => d.Department) .Include(ta => ta.TechArea) .Include(t => t.Tipi) .Include(it => it.ItOwner) .Include(p => p.Purpose) .Include(R => R.Reseller) .Include(sbot => sbot.SoftwareBusinessOwnerTeams) .FirstOrDefaultAsync(s => s.SoftwareId == id); var softwareBusinessOwnerTeams = _context.SoftwareBusinessOwnerTeams.Where(sbot => sbot.SoftwareId == id).ToList(); List <Team> businessOwnerTeams = new List <Team>(); foreach (var bot in softwareBusinessOwnerTeams) { var tempTeam = await _context.Teams.Where(t => t.TeamId == bot.BusinessOwnerTeamId).FirstOrDefaultAsync(); businessOwnerTeams.Add(tempTeam); } Software.BusinessOwnerTeams = businessOwnerTeams; if (Software.Reseller == null) { Software.Reseller = new Reseller { Name = "" }; } var vm = new SoftwareDetailsViewModel(); //Color vm.Software = Software; if (Software.DaysLeft() < 30) { vm.BackgroundColor = "bg-red"; vm.FontColor = "col-deep-orange"; } else if (Software.DaysLeft() > 30 && Software.DaysLeft() < 60) { vm.BackgroundColor = "bg-orange"; vm.FontColor = "col-blue-grey"; } else { vm.BackgroundColor = "bg-teal"; vm.FontColor = "col-teal"; } List <Software> softwareToBeRemoved = _context.Softwares.Where(s => s.SoftwareId == id).ToList(); //See also var SeeAlsoSoftwares = await _context.Softwares .Include(t => t.Tipi) .Where(s => s.TipiId == Software.TipiId).Except(softwareToBeRemoved).Take(5).ToListAsync(); vm.SeeAlso = SeeAlsoSoftwares; var Graph = new TestGraph(); Graph.DaysLeft = Software.DaysLeft(); Graph.DaysPassed = Software.DaysPassed(); Graph.TotalDays = Software.TotalDays(); //Percentage stuff vm.Graph = Graph; return(View(vm)); }