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(); } } }
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(); } } }