コード例 #1
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));
        }
コード例 #2
0
        public JsonResult Create(ParametroModeloVista entidad)
        {
            var parametroSistema = new ParametroSistema();

            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.TieneOpciones = entidad.Opciones.Count > 0;
            parametroSistema.Tipo          = entidad.Tipo;
            parametroSistema.Valor         = entidad.Valor;
            parametroSistema.Opciones      = new List <ParametroOpcion>();
            foreach (var opcion in entidad.Opciones)
            {
                var ap = new ParametroOpcion();
                ap.Texto = opcion.Texto;
                ap.Valor = opcion.Valor;
                parametroSistema.Opciones.Add(ap);
            }
            _iParametroService.SaveOrUpdate(parametroSistema);
            return(Json(entidad, JsonRequestBehavior.AllowGet));
        }