예제 #1
0
        public async Task <ActionResult> Nuevo([DataSourceRequest] DataSourceRequest request, ParametroGrid model)
        {
            DataSourceResult result = new[] { model }.ToDataSourceResult(request, ModelState);

            if (ModelState.IsValid)
            {
                try
                {
                    var srv   = Servicios.ParametrosServicio();
                    var nuevo = srv.Create();
                    model.ActualizarEntidad(nuevo);
                    srv.Insert(nuevo);
                    await srv.ApplyChangesAsync();

                    result = new[] { ParametroGrid.FromEntity(nuevo) }.ToDataSourceResult(request, ModelState);
                }
                catch (ParametroExisteException pee)
                {
                    log.Error($"Error al añadir {Txt.Parametros.ArtEntidad}. Usuario: {CurrentUserID()}", pee);
                    result.Errors = new[] { string.Format(Txt.ErroresComunes.Modificar + " " + pee.Message, Txt.Parametros.ArtEntidad).Frase() };
                }
                catch (Exception e)
                {
                    log.Error("Error al añadir el parámetro " + model.Nombre, e);
                    result.Errors = new[] { string.Format(Txt.ErroresComunes.Aniadir, Txt.Parametros.ArtEntidad).Frase() };
                }
            }

            return(Json(result));
        }
예제 #2
0
        public ActionResult Leer([DataSourceRequest] DataSourceRequest request)
        {
            var srv       = Servicios.ParametrosServicio();
            var registros = srv.Get()
                            .Select(r => ParametroGrid.FromEntity(r));

            return(Json(registros.ToDataSourceResult(request), JsonRequestBehavior.AllowGet));
        }
예제 #3
0
        public ActionResult ListaParametros()
        {
            var srv       = Servicios.ParametrosServicio();
            var consulta  = srv.Get();
            var registros = consulta.Select(l => ParametroGrid.FromEntity(l));

            // Creamos el modelo de lista de selección a partir del resultado obtenido de la
            // consulta. Si se ha especificado un país, los grupos se establecen por
            // Pais/Provincia. Si no, sólo por Provincia.
            var lista = new SelectList(registros, "ParametroID", "Nombre");

            return(Json(lista, JsonRequestBehavior.AllowGet));
        }
예제 #4
0
        public async Task <ActionResult> Modificar([DataSourceRequest] DataSourceRequest request, ParametroGrid model)
        {
            DataSourceResult result = new[] { model }.ToDataSourceResult(request, ModelState);

            if (ModelState.IsValid)
            {
                try
                {
                    var srv       = Servicios.ParametrosServicio();
                    var modificar = srv.GetSingle(p => p.ParametroID == model.ParametroID);
                    if (modificar != null)
                    {
                        model.ActualizarEntidad(modificar);
                        await srv.ApplyChangesAsync();

                        result = new[] { ParametroGrid.FromEntity(modificar) }.ToDataSourceResult(request, ModelState);
                    }
                    else
                    {
                        result.Errors = new[] { string.Format(Txt.ErroresComunes.NoExiste, Txt.Parametros.ArtEntidad).Frase() };
                    }
                }
                catch (ParametroExisteException pee)
                {
                    log.Error($"Error al modificar {Txt.Parametros.ArtEntidad}. Usuario: {CurrentUserID()}", pee);
                    result.Errors = new[] { string.Format(Txt.ErroresComunes.Modificar + " " + pee.Message, Txt.Parametros.ArtEntidad).Frase() };
                }
                catch (Exception e)
                {
                    log.Error("Error al modificar el parámetro con id=" + model.ParametroID, e);
                    result.Errors = new[] { string.Format(Txt.ErroresComunes.Modificar, Txt.Parametros.ArtEntidad).Frase() };
                }
            }

            return(Json(result));
        }
예제 #5
0
        public async Task <ActionResult> Eliminar([DataSourceRequest] DataSourceRequest request, ParametroGrid model)
        {
            DataSourceResult result = new[] { model }.ToDataSourceResult(request, ModelState);

            try
            {
                var srv      = Servicios.ParametrosServicio();
                var eliminar = srv.GetSingle(p => p.ParametroID == model.ParametroID);
                if (eliminar != null)
                {
                    srv.Delete(eliminar);
                    await srv.ApplyChangesAsync();
                }
                else
                {
                    log.Debug("Eliminar parámetro: el parámetro con id=" + model.ParametroID + " no existe.");
                    result.Errors = new[] { string.Format(Txt.ErroresComunes.NoExiste, Txt.Parametros.ArtEntidad).Frase() };
                }
            }
            catch (Exception e)
            {
                log.Error("Error al eliminar el parámetro con id=" + model.ParametroID, e);
                result.Errors = new[] { string.Format(Txt.ErroresComunes.Eliminar, Txt.Parametros.ArtEntidad).Frase() };
            }
            return(Json(result));
        }