public async Task <IActionResult> Create(DepartamentoAndAreaTrabajoViewModel model) { if (ModelState.IsValid) { var doesAreaTrabajoExists = _db.AreaTrabajo.Include(s => s.Departamento).Where(s => s.Nombre == model.AreaTrabajo.Nombre && s.Departamento.Id == model.AreaTrabajo.DepartamentoId); if (doesAreaTrabajoExists.Count() > 0) { //Error StatusMessage = "Error: El Area existe dentro de " + doesAreaTrabajoExists.First().Departamento.Nombre + " ingrese un area diferente"; } else { _db.AreaTrabajo.Add(model.AreaTrabajo); await _db.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } } DepartamentoAndAreaTrabajoViewModel modelVm = new DepartamentoAndAreaTrabajoViewModel() { DepartamentoList = await _db.Departamento.ToListAsync(), AreaTrabajo = model.AreaTrabajo, AreaTrabajoList = await _db.AreaTrabajo.OrderBy(p => p.Nombre).Select(p => p.Nombre).ToListAsync(), StatusMessage = StatusMessage }; return(View(modelVm)); }
//GET - CREATE public async Task <IActionResult> Create() { DepartamentoAndAreaTrabajoViewModel model = new DepartamentoAndAreaTrabajoViewModel() { DepartamentoList = await _db.Departamento.ToListAsync(), AreaTrabajo = new Models.AreaTrabajo(), AreaTrabajoList = await _db.AreaTrabajo.OrderBy(p => p.Nombre).Select(p => p.Nombre).Distinct().ToListAsync() }; return(View(model)); }
//GET - EDIT public async Task <IActionResult> Edit(int?id) { if (id == null) { return(NotFound()); } var AreaTrabajo = await _db.AreaTrabajo.SingleOrDefaultAsync(m => m.Id == id); if (AreaTrabajo == null) { return(NotFound()); } DepartamentoAndAreaTrabajoViewModel model = new DepartamentoAndAreaTrabajoViewModel() { DepartamentoList = await _db.Departamento.ToListAsync(), AreaTrabajo = AreaTrabajo, AreaTrabajoList = await _db.AreaTrabajo.OrderBy(p => p.Nombre).Select(p => p.Nombre).Distinct().ToListAsync() }; return(View(model)); }