public ActionResult ListaAplicacionesCaracteristicas() { IAplicacionesCaracteristicasServicio srv = Servicios.AplicacionesCaracteristicasServicio(); IEnumerable <AplicacionCaracteristica> consulta = srv.Get(); SelectList resul = new SelectList(consulta, "AplicacionCaracteristicaID", "Nombre"); return(Json(resul, JsonRequestBehavior.AllowGet)); }
public ActionResult Leer([DataSourceRequest] DataSourceRequest request) { var srv = Servicios.AplicacionesCaracteristicasServicio(); var registros = srv.Get() .Select(r => AplicacionCaracteristicaModel.FromEntity(r)) .ToList(); return(Json(registros.ToDataSourceResult(request), JsonRequestBehavior.AllowGet)); }
//private string MapaRedireccionamiento(string urlOrigen) //{ // string cadenaAnalizar = urlOrigen; // if (urlOrigen.Contains(value: '#')) // { // cadenaAnalizar = cadenaAnalizar.Substring(urlOrigen.IndexOf(value: '#')); // } // var reglas = new Dictionary<string, string> // { // //[ExpresionRegular] = "Expresion de salida", // [@"^(?<base>#/.*)(?<resto>detalles.*)$"] = "${base}", // [@"^(?<base>#/.*)(?!<resto>detalles.*)?$"] = "${base}", // }; // foreach (var expresion in reglas.Keys) // { // var re = new Regex(expresion); // Match matches = re.Match(cadenaAnalizar); // if (matches.Success) // { // return re.Replace(cadenaAnalizar, reglas[expresion]); // } // } // return "/"; //} /// <summary> /// Actualiza la lista de características de una aplicación quitando y añadiendo las necesarias /// para que coincida con las indicadas en <paramref name="nuevaListaCaracteristicas"/>. /// </summary> /// <param name="aplicacion">Objeto correspondiente a la entidad Aplicación cuyas características van /// a ser modificadas.</param> /// <param name="nuevaListaCaracteristicas">IDs del nuevo conjunto de características de la /// aplicación.</param> private void ActualizarCaracteristicas(Aplicacion aplicacion, IEnumerable <long> nuevaListaCaracteristicas) { IAplicacionesCaracteristicasServicio srv = Servicios.AplicacionesCaracteristicasServicio(); // Obtener las características que no se eliminan y las que se añaden como nuevas IEnumerable <long> caracteristicasActuales = aplicacion.Caracteristicas.Select(ca => ca.AplicacionCaracteristicaID); IEnumerable <long> caracteristicasAniadirIDs = nuevaListaCaracteristicas == null ? new long[0] : nuevaListaCaracteristicas.Where(caid => !caracteristicasActuales.Contains(caid)); IEnumerable <AplicacionCaracteristica> caracteristicasNuevas = srv.Get(a => caracteristicasAniadirIDs.Contains(a.AplicacionCaracteristicaID)); IEnumerable <AplicacionCaracteristica> caracteristicasMantener = aplicacion.Caracteristicas .Where(aa => nuevaListaCaracteristicas.Contains(aa.AplicacionCaracteristicaID)); // Limpiar las características actuales de la aplicación y establecer el conjunto unión de las // dos colecciones obtenidas antes. IEnumerable <AplicacionCaracteristica> caracteristicas = caracteristicasNuevas.Union(caracteristicasMantener); aplicacion.Caracteristicas.Clear(); aplicacion.Caracteristicas.AddRange(caracteristicas); }
public async Task <ActionResult> Nuevo([DataSourceRequest] DataSourceRequest request, AplicacionGrid model) { DataSourceResult result = new[] { model }.ToDataSourceResult(request, ModelState); if (ModelState.IsValid) { try { IAplicacionesServicio srv = Servicios.AplicacionesServicio(); Aplicacion nueva = srv.Create(); model.ActualizarEntidad(nueva); if (model.Caracteristicas != null && model.Caracteristicas.Any()) { IAplicacionesCaracteristicasServicio acSrv = Servicios.AplicacionesCaracteristicasServicio(); nueva.Caracteristicas.AddRange(acSrv.Get(ca => model.Caracteristicas.Contains(ca.AplicacionCaracteristicaID))); } srv.Insert(nueva); await srv.ApplyChangesAsync(); result = new[] { AplicacionGrid.FromEntity(nueva) }.ToDataSourceResult(request, ModelState); } catch (SubdominioExisteException see) { log.Error($"Error al añadir {Txt.Aplicaciones.ArtEntidad}. Usuario: {CurrentUserID()}", see); result.Errors = new[] { string.Format(Txt.ErroresComunes.Modificar + see.Message, Txt.Aplicaciones.ArtEntidad).Frase() }; } catch (AplicacionExisteException see) { log.Error($"Error al modificar {Txt.Aplicaciones.ArtEntidad}. Usuario: {CurrentUserID()}", see); result.Errors = new[] { string.Format(Txt.ErroresComunes.Modificar + see.Message, Txt.Aplicaciones.ArtEntidad).Frase() }; } catch (Exception e) { log.Error("Error al añadir " + Txt.Aplicaciones.ArtEntidad + " " + model.Nombre, e); result.Errors = new[] { string.Format(Txt.ErroresComunes.Aniadir, Txt.Aplicaciones.ArtEntidad).Frase() }; } } return(Json(result)); }
public async Task <ActionResult> Modificar([DataSourceRequest] DataSourceRequest request, AplicacionCaracteristicaModel model) { DataSourceResult result = new[] { model }.ToDataSourceResult(request, ModelState); if (ModelState.IsValid) { try { var srv = Servicios.AplicacionesCaracteristicasServicio(); var modificar = srv.GetSingle(p => p.AplicacionCaracteristicaID == (long)model.AplicacionCaracteristicaID); if (modificar != null) { model.ActualizarEntidad(modificar); await srv.ApplyChangesAsync(); result = new[] { AplicacionCaracteristicaModel.FromEntity(modificar) }.ToDataSourceResult(request, ModelState); } else { result.Errors = new[] { string.Format(Txt.ErroresComunes.NoExiste, Txt.AplicacionesCaracteristicas.ArtEntidad).Frase() }; } } catch (AplicacionCaracteristicaExisteException cee) { log.Error($"Error al modificar {Txt.AplicacionesCaracteristicas.ArtEntidad}. Usuario: {CurrentUserID()}", cee); result.Errors = new[] { string.Format(Txt.ErroresComunes.Modificar + cee.Message, Txt.AplicacionesCaracteristicas.ArtEntidad).Frase() }; } catch (Exception e) { log.Error("Error al modificar el categoría con id=" + model.AplicacionCaracteristicaID, e); result.Errors = new[] { string.Format(Txt.ErroresComunes.Modificar, Txt.AplicacionesCaracteristicas.ArtEntidad).Frase() }; } } return(Json(result)); }