public ActionResult Edit(StateListViewModel model) { var availableResources = stateAuditRepo.FilteredGet().Where(x => x.ResourceId == model.ResourceId && x.StateId == model.StateId).FirstOrDefault() ?? new StateAudit(); availableResources.TotalAvailable = availableResources.TotalAvailable - model.Total; stateAuditRepo.Update(availableResources); var addResources = cityAuditRepo.FilteredGet().Where(x => x.CityId == model.CityId && x.ResourceId == model.ResourceId).FirstOrDefault(); if (addResources == null) { var res = new CityAudit { ResourceId = model.ResourceId, CityId = model.CityId, TotalAvailable = model.Total }; cityAuditRepo.Insert(res); } else { addResources.TotalAvailable = addResources.TotalAvailable + model.Total; cityAuditRepo.Update(addResources); } var request = CityRequestsRepo.FilteredGet().Where(x => x.Id == model.Id).FirstOrDefault(); CityRequestsRepo.Delete(request); return(RedirectToActionPermanent("GetRequests")); }
public void Index_Contains_All_States() { // Arrange - create the mock repository Mock <IItemRepository> mock = new Mock <IItemRepository>(); mock.Setup(m => m.States).Returns(new State[] { new State { StateID = 1, Name = "P1" }, new State { StateID = 2, Name = "P2" }, new State { StateID = 3, Name = "P3" }, }.AsQueryable <State>()); // Arrange - create a controller StateController target = new StateController(mock.Object); // Action StateListViewModel result = target.List(null, 1).ViewData.Model as StateListViewModel; // Assert Assert.Equal(3, result.States.Count()); Assert.Equal("P1", result.States[0].Name); Assert.Equal("P2", result.States[1].Name); Assert.Equal("P3", result.States[2].Name); }
// GET: State public ActionResult Index() { using (var context = new Context()) { var stateList = new StateListViewModel { //Convert each State to a StateViewModel States = context.States.Select(p => new StateViewModel { Id = p.Id, Name = p.Name, Acronym = p.Acronym }).ToList() }; stateList.TotalStates = stateList.States.Count; ViewBag.Title = "Work With States"; return(View(stateList)); } }