private async Task <TipoMaterialEspecificacionViewModel> ObtenerTipoMaterialEspecificacion(int id, TipoMaterialEspecificacionViewModel tipoMaterialEspecificacionView = null) { if (tipoMaterialEspecificacionView == null) { var tipoMaterial = new TipoMaterialEspecificacionViewModel { TipoMaterialId = 0, TipoMaterial = await db.TipoMaterial.Where(x => x.TipoMaterialId == id).Select(x => new TipoMaterial { DescripcionTipoMaterial = x.DescripcionTipoMaterial, TipoMaterialId = x.TipoMaterialId, }).FirstOrDefaultAsync(), TipoMaterialEspecificacion = await ListaTipoMaterialEspecificacion(id) }; return(tipoMaterial); } var tipoMaterialEspecificacionResult = new TipoMaterialEspecificacionViewModel { TipoMaterialId = tipoMaterialEspecificacionView.TipoMaterialId, EspecificacionId = tipoMaterialEspecificacionView.EspecificacionId, TipoMaterialEspecificacion = await ListaTipoMaterialEspecificacion(id), TipoMaterial = await db.TipoMaterial.Where(x => x.TipoMaterialId == id).Select(x => new TipoMaterial { DescripcionTipoMaterial = x.DescripcionTipoMaterial, }).FirstOrDefaultAsync(), }; return(tipoMaterialEspecificacionResult); }
public async Task <IActionResult> Especificaciones(TipoMaterialEspecificacionViewModel tipoMaterialEspecificacion) { try { await cargarListaEspecificacionesViewData(); var existeRegistro = false; if (!await db.TipoMaterialEspecificacion.AnyAsync(c => c.EspecificacionId == tipoMaterialEspecificacion.EspecificacionId && c.TipoMaterialId == tipoMaterialEspecificacion.TipoMaterialId)) { var p = new TipoMaterialEspecificacion { TipoMaterialId = tipoMaterialEspecificacion.TipoMaterialId, EspecificacionId = tipoMaterialEspecificacion.EspecificacionId, }; await db.AddAsync(p); } else { existeRegistro = true; } if (!existeRegistro) { await db.SaveChangesAsync(); TempData["Mensaje"] = $"{Mensaje.Informacion}|{Mensaje.Satisfactorio}"; return(View(await ObtenerTipoMaterialEspecificacion(tipoMaterialEspecificacion.TipoMaterialId, null))); } else { TempData["Mensaje"] = $"{Mensaje.Error}|{Mensaje.ExisteRegistro}"; } return(View(await ObtenerTipoMaterialEspecificacion(tipoMaterialEspecificacion.TipoMaterialId, tipoMaterialEspecificacion))); } catch (Exception) { return(this.Redireccionar($"{Mensaje.Error}|{Mensaje.Excepcion}")); } }