コード例 #1
0
        public static void insertarCliente(Cliente cli)
        {
            string         cadenaConexion = ConfigurationManager.ConnectionStrings["CreamTimeConexion"].ConnectionString;
            SqlConnection  cn             = new SqlConnection();
            SqlTransaction tran           = null;

            try
            {
                cn.ConnectionString = cadenaConexion;
                cn.Open();
                tran = cn.BeginTransaction();
                int vigente = 1; //Por defecto inserta activo

                Domicilio domicilio = DaoDomicilio.insertarDomicilio(cli.Domicilio, cn, tran);

                string sql = "INSERT INTO personas (nombre,apellido,dni,id_rol,fecha_nacimiento,vigente,id_sexo,telefono,email,id_domicilio)";
                sql += " VALUES (@Nombre,@Apellido,@Dni,@IdRol,@FechaNacimiento,@Vigente,@IdSexo,@Telefono,@Email,@IdDomicilio);Select @@Identity;";

                SqlCommand cmd = new SqlCommand();
                cmd.CommandText = sql;
                cmd.Connection  = cn;
                cmd.Transaction = tran;
                cmd.Parameters.AddWithValue("@Nombre", cli.Nombre);
                cmd.Parameters.AddWithValue("@Apellido", cli.Apellido);
                cmd.Parameters.AddWithValue("@Dni", cli.Dni);
                cmd.Parameters.AddWithValue("@IdRol", cli.Rol.Id);
                cmd.Parameters.AddWithValue("@FechaNacimiento", cli.Fecha_nacimiento);
                cmd.Parameters.AddWithValue("@Vigente", vigente);
                cmd.Parameters.AddWithValue("@IdSexo", cli.Sexo.Id);
                cmd.Parameters.AddWithValue("@Telefono", cli.Telefono);
                cmd.Parameters.AddWithValue("@Email", cli.Email);
                cmd.Parameters.AddWithValue("@IdDomicilio", domicilio.Id);

                int cliente_id = Convert.ToInt32(cmd.ExecuteScalar());
                cli.Id = cliente_id;

                DaoUsuario.insertarUsuario(cli.Usuario, cn, tran, cli.Id);

                tran.Commit();
            }
            catch (Exception ex)
            {
                if (cn.State == ConnectionState.Open)
                {
                    tran.Rollback();
                }
                throw new ApplicationException("Error al insertar cliente." + ex.Message);
            }
            finally
            {
                if (cn.State == ConnectionState.Open)
                {
                    cn.Close();
                }
            }
        }
コード例 #2
0
        public void insertarProveedor(Proveedor p)
        {
            string         cadenaConexion = ConfigurationManager.ConnectionStrings["CreamTimeConexion"].ConnectionString;
            SqlConnection  cn             = new SqlConnection();
            SqlTransaction tran           = null;

            try
            {
                cn.ConnectionString = cadenaConexion;
                cn.Open();
                tran = cn.BeginTransaction();
                int       vigente   = 1; //Por defecto inserta activo
                Domicilio domicilio = DaoDomicilio.insertarDomicilio(p.Domicilio, cn, tran);

                string sql = "INSERT INTO proveedores (razon_social,cuit,vigente,fecha_alta,id_domicilio, telefono,email)";
                sql += " VALUES (@RazonSocial,@Cuit,@Vigente,@FechaAlta,@IdDomicilio, @Telefono, @Email)";

                SqlCommand cmd = new SqlCommand();
                cmd.CommandText = sql;
                cmd.Connection  = cn;
                cmd.Transaction = tran;
                cmd.Parameters.AddWithValue("@RazonSocial", p.RazonSocial);
                cmd.Parameters.AddWithValue("@Cuit", p.Cuit);
                cmd.Parameters.AddWithValue("@Vigente", vigente);
                cmd.Parameters.AddWithValue("@FechaAlta", p.FechaDeAlta);
                cmd.Parameters.AddWithValue("@IdDomicilio", domicilio.Id);
                cmd.Parameters.AddWithValue("@Telefono", p.Telefono);
                cmd.Parameters.AddWithValue("@Email", p.Email);
                cmd.ExecuteNonQuery();

                tran.Commit();
            }
            catch (SqlException ex)
            {
                if (cn.State == ConnectionState.Open)
                {
                    tran.Rollback(); //Vuelvo atras los cambios
                }
                throw new ApplicationException("Error al insertar el proveedor." + ex.Message);
            }
            finally
            {
                if (cn.State == ConnectionState.Open)
                {
                    cn.Close();
                }
            }
        }