public Rules_Aplicacion(UsuarioLogueado data) : base(data) { dao = DAO_Aplicacion.Instance; _rulesPregunta = new Rules_Pregunta(data); _rulesTema = new Rules_Tema(data); }
public Resultado <Pregunta> Insertar(_Model.Comandos.Comando_PreguntaNueva comando) { var resultado = new Resultado <Pregunta>(); var resultadoTransaccion = dao.Transaction(() => { try { var validarComando = ValidarComandoInsertar(comando); if (!validarComando.Ok) { resultado.Error = validarComando.Error; return(false); } //Busco la Aplicacion var resultadoAplicacion = new Rules_Aplicacion(getUsuarioLogueado()).GetById(comando.Aplicacion.Value); if (!resultadoAplicacion.Ok) { resultado.Error = resultadoAplicacion.Error; return(false); } var aplicacion = resultadoAplicacion.Return; if (aplicacion == null || aplicacion.FechaBaja != null) { resultado.Error = "La Aplicacion no existe o esta dada de baja"; return(false); } //Busco el tema var resultadoTema = new Rules_Tema(getUsuarioLogueado()).GetById(comando.Tema.Value); if (!resultadoTema.Ok) { resultado.Error = resultadoTema.Error; return(false); } var tema = resultadoTema.Return; if (tema == null || tema.FechaBaja != null) { resultado.Error = "El tema no existe o esta dado de baja"; return(false); } //Creo la entidad var entity = new Pregunta() { Aplicacion = aplicacion, Tema = tema, IdUsuarioAlta = comando.IdUsuario.Value, Titulo = comando.Titulo, Descripcion = comando.Descripcion, Tags = comando.Tags, }; //Inserto var resultadoInsertar = base.Insert(entity); if (!resultadoInsertar.Ok) { resultado.Error = resultadoInsertar.Error; return(false); } resultado.Return = resultadoInsertar.Return; return(true); } catch (Exception e) { resultado.Error = "Error procesando la solicitud"; return(false); } }); if (resultado.Ok && !resultadoTransaccion) { resultado.Error = "Error procesando la solicitud"; return(resultado); } return(resultado); }
public Resultado <Pregunta> Actualizar(_Model.Comandos.Comando_PreguntaActualizar comando) { var resultado = new Resultado <Pregunta>(); var resultadoTransaccion = dao.Transaction(() => { try { //Busco la entidad var resultadoEntity = GetByIdObligatorio(comando.Id.Value); if (!resultadoEntity.Ok) { resultado.Error = resultadoEntity.Error; return(false); } var entity = resultadoEntity.Return; if (entity == null || entity.FechaBaja != null) { resultado.Error = "La pregunta no existe o esta dada de baja"; return(false); } //Busco la Aplicacion var resultadoAplicacion = new Rules_Aplicacion(getUsuarioLogueado()).GetById(comando.Aplicacion.Value); if (!resultadoAplicacion.Ok) { resultado.Error = resultadoAplicacion.Error; return(false); } var aplicacion = resultadoAplicacion.Return; if (aplicacion == null || aplicacion.FechaBaja != null) { resultado.Error = "La Aplicacion no existe o esta dada de baja"; return(false); } //Busco el tema var resultadoTema = new Rules_Tema(getUsuarioLogueado()).GetById(comando.Tema.Value); if (!resultadoTema.Ok) { resultado.Error = resultadoTema.Error; return(false); } var tema = resultadoTema.Return; if (tema == null || tema.FechaBaja != null) { resultado.Error = "El tema no existe o esta dado de baja"; return(false); } //Actualizo entity.Id = comando.Id.Value; entity.Titulo = comando.Titulo; entity.Descripcion = comando.Descripcion; entity.Tags = comando.Tags; entity.Aplicacion = aplicacion; entity.Tema = tema; //Actualizo var resultadoUpdate = base.Update(entity); if (!resultadoUpdate.Ok) { resultado.Error = resultadoUpdate.Error; return(false); } resultado.Return = resultadoUpdate.Return; return(true); } catch (Exception e) { resultado.Error = "Error procesando la solicitud"; return(false); } }); if (resultado.Ok && !resultadoTransaccion) { resultado.Error = "Error procesando la solicitud"; return(resultado); } return(resultado); }