public Mensaje agregar(Parametros entity, DBContextAdapter dbContext) { try { inicializaVariableMensaje(); setSession(dbContext.context); getSession().Database.BeginTransaction(); List <ElementosAplicacion> lista = new List <ElementosAplicacion>(); foreach (var item in entity.elementosAplicacion) { ElementosAplicacion a = getSession().Set <ElementosAplicacion>().Find(item.id); lista.Add(a); } entity.elementosAplicacion = null; entity.elementosAplicacion = lista; getSession().Set <Parametros>().Add(entity); getSession().SaveChanges(); mensajeResultado.resultado = entity; mensajeResultado.noError = 0; mensajeResultado.error = ""; getSession().Database.CurrentTransaction.Commit(); } catch (Exception ex) { System.Diagnostics.Debug.WriteLine(concatena.Remove(0, concatena.Length).Append(msgError).Append("agregar()1_Error: ").Append(ex)); mensajeResultado.noError = ControlErroresEntity.buscaNoErrorPorExcepcion(ex); mensajeResultado.error = ex.GetBaseException().ToString(); mensajeResultado.resultado = null; getSession().Database.CurrentTransaction.Rollback(); } return(mensajeResultado); }
public Mensaje actualizar(Parametros entity, DBContextAdapter dbContext) { try { inicializaVariableMensaje(); setSession(dbContext.context); getSession().Database.BeginTransaction(); List <ElementosAplicacion> listaaux = new List <ElementosAplicacion>(); List <ElementosAplicacion> lista = entity.elementosAplicacion; entity.elementosAplicacion = null; getSession().Entry(entity).State = EntityState.Modified; getSession().SaveChanges(); Parametros param = getSession().Set <Parametros>().Include(a => a.elementosAplicacion).ToList().Find(ca => ca.id == entity.id); param.elementosAplicacion.Clear(); for (int i = 0; i < lista.Count; i++) { ElementosAplicacion a = getSession().Set <ElementosAplicacion>().Find(lista[i].id); listaaux.Add(a); } param.elementosAplicacion = listaaux; getSession().SaveChanges(); //var genero = getSession().Set<Genero>().FirstOrDefault(g => g.id == entity.id); //genero.clave = entity.clave; //genero.descripcion = entity.descripcion; //genero.empleados = entity.empleados; getSession().Set <Parametros>().AddOrUpdate(entity); getSession().SaveChanges(); mensajeResultado.resultado = true; mensajeResultado.noError = 0; mensajeResultado.error = ""; getSession().Database.CurrentTransaction.Commit(); } catch (Exception ex) { System.Diagnostics.Debug.WriteLine(concatena.Remove(0, concatena.Length).Append(msgError).Append("actualizar()1_Error: ").Append(ex)); mensajeResultado.noError = ControlErroresEntity.buscaNoErrorPorExcepcion(ex); mensajeResultado.error = ex.GetBaseException().ToString(); mensajeResultado.resultado = null; getSession().Database.CurrentTransaction.Rollback(); } return(mensajeResultado); }