private async Task <TipoNormaEspecificacionViewModel> ObtenerNormaEspecificacion(int id, TipoNormaEspecificacionViewModel tipoNormaEspecificacionView = null) { if (tipoNormaEspecificacionView == null) { var tipoNorma = new TipoNormaEspecificacionViewModel { NormaId = 0, TipoNorma = await db.TipoNorma.Where(x => x.TipoNormaId == id).Select(x => new TipoNorma { DescripcionNorma = x.DescripcionNorma, Sae = x.Sae, }).FirstOrDefaultAsync(), Normas = await ListaNormaEspecificacion(id) }; return(tipoNorma); } var NormaEspecificacionResult = new TipoNormaEspecificacionViewModel { TipoNormaId = tipoNormaEspecificacionView.TipoNormaId, EspecificacionId = tipoNormaEspecificacionView.EspecificacionId, Normas = await ListaNormaEspecificacion(id), TipoNorma = await db.TipoNorma.Where(x => x.TipoNormaId == id).Select(x => new TipoNorma { DescripcionNorma = x.DescripcionNorma, Sae = x.Sae, }).FirstOrDefaultAsync(), }; return(NormaEspecificacionResult); }
public async Task <IActionResult> Especificaciones(TipoNormaEspecificacionViewModel tipoNormaEspecificacion) { try { await cargarListaEspecificacionesViewData(); if (tipoNormaEspecificacion.ValorMinimo == null && tipoNormaEspecificacion.ValorMaximo == null) { TempData["Mensaje"] = $"{Mensaje.Error}|{Mensaje.DebeIntroducirAlMenosUnRango}"; return(View(await ObtenerNormaEspecificacion(tipoNormaEspecificacion.TipoNormaId, tipoNormaEspecificacion))); } if (tipoNormaEspecificacion.ValorMinimo > tipoNormaEspecificacion.ValorMaximo) { TempData["Mensaje"] = $"{Mensaje.Error}|{Mensaje.ValorMinimoMayorRangoMaximo}"; return(View(await ObtenerNormaEspecificacion(tipoNormaEspecificacion.TipoNormaId, tipoNormaEspecificacion))); } var existeRegistro = false; if (!await db.Norma.AnyAsync(c => c.EspecificacionId == tipoNormaEspecificacion.EspecificacionId && c.TipoNormaId == tipoNormaEspecificacion.TipoNormaId)) { var p = new Norma { TipoNormaId = tipoNormaEspecificacion.TipoNormaId, EspecificacionId = tipoNormaEspecificacion.EspecificacionId, ValorMaximo = tipoNormaEspecificacion.ValorMaximo, ValorMinimo = tipoNormaEspecificacion.ValorMinimo, }; await db.AddAsync(p); } else { existeRegistro = true; } if (!existeRegistro) { await db.SaveChangesAsync(); TempData["Mensaje"] = $"{Mensaje.MensajeSatisfactorio}|{Mensaje.Satisfactorio}"; return(View(await ObtenerNormaEspecificacion(tipoNormaEspecificacion.TipoNormaId, null))); } else { TempData["Mensaje"] = $"{Mensaje.Error}|{Mensaje.ExisteRegistro}"; } return(View(await ObtenerNormaEspecificacion(tipoNormaEspecificacion.TipoNormaId, tipoNormaEspecificacion))); } catch (Exception) { return(this.Redireccionar($"{Mensaje.Error}|{Mensaje.Excepcion}")); } }