/// <summary> /// Método para consultar un contacto por id en la base de datos /// </summary> /// <param name="contacto"></param> /// <returns>un contacto</returns> public Entidad ConsultarXId(Entidad contacto) { Logger.EscribirInfo(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name, RecursosDAOContacto.MensajeInicioInfoLogger, System.Reflection.MethodBase.GetCurrentMethod().Name); List <Parametro> parametros = new List <Parametro>(); Parametro parametro = new Parametro(); try { //Se agregan los parámetro que recibe el stored procedure parametro = new Parametro(RecursosDAOContacto.ParametroId, SqlDbType.Int, contacto.Id.ToString(), false); parametros.Add(parametro); //Guardo la tabla que me regresa el procedimiento de consultar contactos DataTable dt = EjecutarStoredProcedureTuplas(RecursosDAOContacto.ConsultarContactoId, parametros); //Por cada fila de la tabla voy a guardar los datos foreach (DataRow row in dt.Rows) { int conId = int.Parse(row[RecursosDAOContacto.ConIdContacto].ToString()); string conName = row[RecursosDAOContacto.ConNombreContacto].ToString(); string conLName = row[RecursosDAOContacto.ConApellidoContacto].ToString(); string conDepart = row[RecursosDAOContacto.ConDepartamentoContacto].ToString(); string conRol = row[RecursosDAOContacto.ConCargoContacto].ToString(); string conTele = row[RecursosDAOContacto.ConTelefono].ToString(); string conEmail = row[RecursosDAOContacto.ConCorreo].ToString(); int conTypeC = int.Parse(row[RecursosDAOContacto.ConTipoCompania].ToString()); int conCompId = int.Parse(row[RecursosDAOContacto.ConIdCompania].ToString()); //Creo un objeto de tipo Contacto con los datos de la fila y lo guardo en una lista de contactos Entidad nuevoContacto = FabricaEntidades.crearContactoConId(conId, conName, conLName, conDepart, conRol, conTele, conEmail, conTypeC, conCompId); return(nuevoContacto); } } catch (NullReferenceException ex) { Logger.EscribirError(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name, ex); throw new ConsultarContactoException("DS-505", "Ingreso de un argumento con valor invalido", ex); } catch (ExceptionTGConBD ex) { Logger.EscribirError(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name, ex); throw new BaseDeDatosContactoException("DS-505", "Error con la base de datos", ex); } Logger.EscribirInfo(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name, RecursosDAOContacto.MensajeFinInfoLogger, System.Reflection.MethodBase.GetCurrentMethod().Name); return(FabricaEntidades.crearContactoVacio()); }
/// <summary> /// Método para consultar todos los contactos de la base de datos /// </summary> /// <returns></returns> public List <Entidad> ConsultarTodos() { Logger.EscribirInfo(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name, RecursosDAOContacto.MensajeInicioInfoLogger, System.Reflection.MethodBase.GetCurrentMethod().Name); List <Parametro> parametros = new List <Parametro>(); List <Entidad> lista = new List <Entidad>(); try { //Guardo la tabla que me regresa el procedimiento de consultar contactos DataTable dt = EjecutarStoredProcedureTuplas(RecursosDAOContacto.ConsultarTodosContactos, parametros); //Por cada fila de la tabla voy a guardar los datos foreach (DataRow row in dt.Rows) { int conId = int.Parse(row[RecursosDAOContacto.ConIdContacto].ToString()); string conName = row[RecursosDAOContacto.ConNombreContacto].ToString(); string conLName = row[RecursosDAOContacto.ConApellidoContacto].ToString(); string conDepart = row[RecursosDAOContacto.ConDepartamentoContacto].ToString(); string conRol = row[RecursosDAOContacto.ConCargoContacto].ToString(); string conTele = row[RecursosDAOContacto.ConTelefono].ToString(); string conEmail = row[RecursosDAOContacto.ConCorreo].ToString(); int conTypeC = int.Parse(row[RecursosDAOContacto.ConTipoCompania].ToString()); int conCompId = int.Parse(row[RecursosDAOContacto.ConIdCompania].ToString()); //Creo un objeto de tipo Contacto con los datos de la fila y lo guardo en una lista de contactos Entidad nuevoContacto = FabricaEntidades.crearContactoConId(conId, conName, conLName, conDepart, conRol, conTele, conEmail, conTypeC, conCompId); lista.Add(nuevoContacto); } } catch (ExceptionTGConBD ex) { Logger.EscribirError(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name, ex); throw new BaseDeDatosContactoException("DS-505", "Error con la base de datos", ex); } catch (Exception ex) { Logger.EscribirError(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name, ex); throw new ConsultarContactoException(RecursoGeneralBD.Mensaje_Generico_Error, ex); } Logger.EscribirInfo(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name, RecursosDAOContacto.MensajeFinInfoLogger, System.Reflection.MethodBase.GetCurrentMethod().Name); return(lista); }
public void PruebaComandoModificarContacto() { Entidad _contactoModificar; _contactoModificar = FabricaEntidades.crearContactoConId(5, "nombre modificado", "igual", "igual", "igual", "igual", "igual", 1, 1); _comandoEntidad = FabricaComandos.CrearComandoConsultarContacto(_contactoModificar); Entidad contactoConsulta = _comandoEntidad.Ejecutar(); ContactoM5 nuevo = ( ContactoM5 )contactoConsulta; Assert.AreEqual(nuevo.Nombre, "Pedro"); _comandoBool = FabricaComandos.CrearComandoModificarContacto(_contactoModificar); _respuesta = _comandoBool.Ejecutar(); Assert.True(_respuesta); _comandoEntidad = FabricaComandos.CrearComandoConsultarContacto(_contactoModificar); contactoConsulta = _comandoEntidad.Ejecutar(); nuevo = ( ContactoM5 )contactoConsulta; Assert.AreEqual(nuevo.Nombre, "nombre modificado"); }
/// <summary> /// Método para modificar el contacto /// </summary> public void ModificarContacto() { try { Entidad contacto = FabricaEntidades.crearContactoConId(_vista.GetidCont(), _vista.input_nombre, _vista.input_apellido, _vista.input_departamento, _vista.item_cargo, _vista.input_telefono, _vista.input_correo, _vista.GetTypeComp(), _vista.GetIdComp()); Comando <bool> comandoEntidad = FabricaComandos.CrearComandoModificarContacto(contacto); comandoEntidad.Ejecutar(); _vista.BotonAceptar(_vista.GetTypeComp(), _vista.GetIdComp()); } catch (ModificarContactoException ex) { Alerta(ex.Mensaje + ", por favor intente de nuevo.", 0); } catch (BaseDeDatosContactoException ex) { Alerta(ex.Mensaje + ", por favor intente de nuevo.", 0); } }