public async Task <ActionResult> Get([FromHeader] Guid id) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } try { return(Ok(await _service.Get(id))); } catch (ArgumentException ex) { return(StatusCode((int)HttpStatusCode.InternalServerError, ex.Message)); } }
public JsonResult Edit(ParametroModeloVista entidad) { var parametroSistema = _iParametroService.Get(entidad.Id); parametroSistema.Categoria = CategoriaParametro.General; parametroSistema.Codigo = entidad.Codigo; parametroSistema.Descripcion = entidad.Descripcion; parametroSistema.EsEditable = entidad.EsEditable; parametroSistema.Nombre = entidad.Nombre; parametroSistema.SistemaId = _application.GetCurrentSistema().Id; parametroSistema.Tipo = entidad.Tipo; parametroSistema.Valor = entidad.Valor; parametroSistema.TieneOpciones = entidad.Opciones.Count > 0; //Actualizados var actualizados = parametroSistema.Opciones.Where(c => entidad.Opciones.Any(d => c.Id == d.Id)); foreach (var actualizado in actualizados) { var elemento = entidad.Opciones.FirstOrDefault(i => i.Id == actualizado.Id); if (elemento != null) { actualizado.Texto = elemento.Texto; actualizado.Valor = elemento.Valor; } } //Nuevos var nuevos = entidad.Opciones.Where(c => c.Id == 0); foreach (var nuevo in nuevos) { var ap = new ParametroOpcion(); ap.Texto = nuevo.Texto; ap.Valor = nuevo.Valor; parametroSistema.Opciones.Add(ap); } //Eliminados var eliminados = parametroSistema.Opciones.Where(c => entidad.Opciones.All(d => c.Id != d.Id)).ToList(); _iParametroService.EliminarOpciones(eliminados); _iParametroService.SaveOrUpdate(parametroSistema); return(Json(entidad, JsonRequestBehavior.AllowGet)); }