Ejemplo n.º 1
0
        /// <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());
        }
Ejemplo n.º 2
0
        /// <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);
        }
Ejemplo n.º 3
0
        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");
        }
Ejemplo n.º 4
0
        /// <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);
            }
        }