public ActionResult Add(ResourceTechnologiesAddViewModel viewModel) { ValidateResourceTechnolgies(viewModel); if (ModelState.IsValid) { var resourceTechnolgies = new ResourceTechnologies() { ResourceId = viewModel.ResourceId, TechnologyId = viewModel.TechnologyId, }; _resourceTechnologiesRepository.Add(resourceTechnolgies); TempData["Message"] = "Your technology was successfully added!"; return(RedirectToAction("Edit", "Resources", new { id = viewModel.ResourceId })); } viewModel.Resource = _resourcesRepository.Get(viewModel.ResourceId); viewModel.Init(_technologyRepository); return(View(viewModel)); }
private void ValidateResourceTechnolgies(ResourceTechnologiesAddViewModel viewModel) { if (ModelState.IsValidField("ResourceId") && ModelState.IsValidField("TechnologyId")) { if (_resourcesRepository.ResourceHasTechnologyAlready(viewModel.ResourceId, viewModel.TechnologyId)) { ModelState.AddModelError("TechnologyId", "This technology already exists for this resource."); } } }
public ActionResult Add(int resourceId) { var resource = _resourcesRepository.Get(resourceId); if (resource == null) { return(HttpNotFound()); } var viewModel = new ResourceTechnologiesAddViewModel() { Resource = resource }; viewModel.Init(_technologyRepository); return(View(viewModel)); }