public AllClientCasesViewModel GetAllCasesForClient(string clientId, string clientName) { var cases = this.casesRepository.AllAsNoTracking() .Where(x => x.ClientId == clientId) .Select(x => new SingleCaseViewModel() { CaseStatus = x.CaseStatus.ToString(), CaseId = x.Id, CaseNumber = x.CaseNumber, AttorneyName = x.Attorney.FullName, JudgeName = x.Judge.FullName, TrusteeName = x.Trustee.FullName, DateFiled = x.DateFiled, }) .ToList() .OrderByDescending(y => y.DateFiled) .ToList(); var result = new AllClientCasesViewModel() { ClientId = clientId, Cases = cases, ClientName = clientName, }; return(result); }
public void GetAllCasesForClientTests() { var options = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase(databaseName: "TestGetAllCasesForClientDb") .Options; using var dbContext = new ApplicationDbContext(options); dbContext.Cases.AddRange( new Case() { CaseNumber = "1", Attorney = new ApplicationUser() { FirstName = "niki", LastName = "mitrev", }, ClientId = "1", Judge = new Judge(), Trustee = new Trustee(), DateFiled = DateTime.UtcNow, }, new Case() { CaseNumber = "3", Attorney = new ApplicationUser() { FirstName = "niki", LastName = "mitrev", }, ClientId = "1", Judge = new Judge(), Trustee = new Trustee(), DateFiled = DateTime.UtcNow.AddDays(1), }); dbContext.SaveChanges(); using var casesRepository = new EfDeletableEntityRepository <Case>(dbContext); using var notesRepository = new EfDeletableEntityRepository <Note>(dbContext); var notesService = new NotesService(notesRepository); var casesService = new CasesService(casesRepository, notesService); AllClientCasesViewModel result = casesService.GetAllCasesForClient("1", "Gosho"); var countOfCases = result.Cases.Count(); var clientName = result.ClientName; var caseOnTop = result.Cases.First(); Assert.Equal(2, countOfCases); Assert.Equal("Gosho", clientName); Assert.Equal("3", caseOnTop.CaseNumber); }
public IActionResult AllClientCases(string clientName, string clientId) { AllClientCasesViewModel model = this.casesService.GetAllCasesForClient(clientId, clientName); return(this.View(model)); }