public override int Save(IModel model, SqlTransaction trx)
        {
            int resultado = 0;

            try
            {
                Cliente cliente   = (Cliente)model;
                int     idCliente = base.Save(cliente, trx);

                DomiciliosDAO domDao = new DomiciliosDAO();
                domDao.Propietario = PropietarioEnum.Cliente;
                foreach (Domicilio domicilio in cliente.Domicilios)
                {
                    domicilio.IdPropietario = idCliente;
                    int idDomicilio = domDao.Save(domicilio, trx);
                }

                TelefonosDAO telDao = new TelefonosDAO();
                telDao.Propietario = PropietarioEnum.Cliente;
                foreach (Telefono telefono in cliente.Telefonos)
                {
                    telefono.IdPropietario = idCliente;
                    int idTelefono = telDao.Save(telefono, trx);
                }

                resultado = idCliente;
            }
            catch (Exception)
            {
                throw;
            }

            return(resultado);
        }
        public override int Save(IModel model)
        {
            int            resultado = 0;
            SqlConnection  conn      = null;
            SqlTransaction trx       = null;

            try
            {
                Cliente cliente = (Cliente)model;
                conn = BuildConnection();
                conn.Open();
                trx = conn.BeginTransaction();

                int idCliente = base.Save(cliente, trx);

                DomiciliosDAO domDao = new DomiciliosDAO();
                domDao.Propietario = PropietarioEnum.Cliente;

                foreach (Domicilio domicilio in cliente.Domicilios)
                {
                    domicilio.IdPropietario = idCliente;
                    int idDomicilio = domDao.Save(domicilio, trx);
                }

                TelefonosDAO telDao = new TelefonosDAO();
                telDao.Propietario = PropietarioEnum.Cliente;
                foreach (Telefono telefono in cliente.Telefonos)
                {
                    telefono.IdPropietario = idCliente;
                    int idTelefono = telDao.Save(telefono, trx);
                }

                trx.Commit();
                resultado = idCliente;
            }
            catch (Exception)
            {
                if (trx != null)
                {
                    trx.Rollback();
                }
                throw;
            }
            finally
            {
                if (conn != null && conn.State == ConnectionState.Open)
                {
                    conn.Close();
                    conn.Dispose();
                }
            }

            return(resultado);
        }
Ejemplo n.º 3
0
        public override int Save(IModel model)
        {
            int            resultado = 0;
            SqlConnection  conn      = null;
            SqlTransaction trx       = null;

            try
            {
                Asesor asesor = (Asesor)model;
                conn = BuildConnection();
                conn.Open();
                trx = conn.BeginTransaction();

                int idAsesor = base.Save(asesor, trx);

                DomiciliosDAO domDao = new DomiciliosDAO();
                domDao.Propietario = PropietarioEnum.Asesor;

                foreach (Domicilio domicilio in asesor.Domicilios)
                {
                    domicilio.IdPropietario = idAsesor;
                    int idDomicilio = domDao.Save(domicilio, trx);
                }

                TelefonosDAO telDao = new TelefonosDAO();
                telDao.Propietario = PropietarioEnum.Asesor;
                foreach (Telefono telefono in asesor.Telefonos)
                {
                    telefono.IdPropietario = idAsesor;
                    int idTelefono = telDao.Save(telefono, trx);
                }

                RelacionAsesoresDocumentosDAO relDao = new RelacionAsesoresDocumentosDAO();
                foreach (RelacionAsesoresDocumentos rel in asesor.RelacionAsesoresDocumentos)
                {
                    rel.IdAsesor = idAsesor;
                    int idRelacion = relDao.Save(rel, trx);
                }

                trx.Commit();
                resultado = idAsesor;
            }
            catch (Exception)
            {
                if (trx != null)
                {
                    trx.Rollback();
                }
                throw;
            }
            finally
            {
                if (conn != null && conn.State == ConnectionState.Open)
                {
                    conn.Close();
                    conn.Dispose();
                }
            }

            return(resultado);
        }