예제 #1
0
 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));
     }
 }
예제 #2
0
        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));
        }