Пример #1
0
        public static void InsertarCliente(Cliente c)
        {
            SqlConnection con = new SqlConnection(cadena);
            try
            {
                con.Open();
                string sql = "INSERT INTO Clientes (apellido, nombre, idTipoDocumento,  numeroDocumento, fechaNacimiento, genero) VALUES (@apellido,@nombre, @idTipoDocumento,  @numeroDocumento, @fechaNacimiento, @genero)";

                SqlCommand cmd = new SqlCommand();
                cmd.CommandText = sql;
                cmd.Connection = con;

                cmd.Parameters.AddWithValue("@apellido", c.apellido);
                cmd.Parameters.AddWithValue("@nombre", c.nombre);
                cmd.Parameters.AddWithValue("@idTipoDocumento", c.tipoDocumento.idTipoDocumento);
                cmd.Parameters.AddWithValue("@numeroDocumento", c.numeroDocumento);
                cmd.Parameters.AddWithValue("@fechaNacimiento", c.fechaNacimiento);
                cmd.Parameters.AddWithValue("@genero", c.genero);
                cmd.ExecuteNonQuery();

            }
            catch (SqlException e)
            {
                throw new ApplicationException("Error al insertar cliente ");
            }
            finally
            {
                con.Close();
            }
        }
Пример #2
0
        public static void ActualizarCliente(Cliente c)
        {
            SqlConnection con = new SqlConnection(cadena);
            try
            {
                con.Open();
                string sql = "UPDATE Clientes SET apellido = @apellido, nombre = @nombre, idTipoDocumento = @idTipoDocumento,  numeroDocumento = @numeroDocumento, fechaNacimiento=@fechaNacimiento, genero=@genero WHERE idCliente = @idCliente";

                SqlCommand cmd = new SqlCommand();
                cmd.CommandText = sql;
                cmd.Connection = con;
                cmd.Parameters.AddWithValue("@idCliente", c.idCliente);
                cmd.Parameters.AddWithValue("@apellido", c.apellido);
                cmd.Parameters.AddWithValue("@nombre", c.nombre);
                cmd.Parameters.AddWithValue("@idTipoDocumento", c.tipoDocumento.idTipoDocumento);
                cmd.Parameters.AddWithValue("@numeroDocumento", c.numeroDocumento);
                cmd.Parameters.AddWithValue("@fechaNacimiento", c.fechaNacimiento);
                cmd.Parameters.AddWithValue("@genero", c.genero);
                cmd.ExecuteNonQuery();
            }
            catch (SqlException e)
            {
                throw new ApplicationException("Error al actualizar Cliente");
            }
            finally
            {
                con.Close();
            }
        }
Пример #3
0
        public static void EliminarCliente(Cliente c)
        {
            SqlConnection con = new SqlConnection(cadena);
            try
            {
                con.Open();
                string sql = "DELETE FROM Clientes WHERE idCliente = @idCliente";

                SqlCommand cmd = new SqlCommand();
                cmd.CommandText = sql;
                cmd.Connection = con;
                cmd.Parameters.AddWithValue("@idCliente", c.idCliente);
                cmd.ExecuteNonQuery();

            }

            catch (SqlException e)
            {
                if (e.Number == 547)
                {
                    throw new ApplicationException("No se puede eliminar el cliente, este tiene un vehículo asignado");
                }
                throw new ApplicationException("Error al eliminar Cliente");
            }
            finally
            {
                con.Close();
            }
        }
Пример #4
0
 public static void eliminarCliente(Cliente c)
 {
     try {
         ClienteDAO.EliminarCliente(c);
     }catch (ApplicationException e)
     {
         throw e;
     }
 }
Пример #5
0
 public static void insertarCliente(Cliente c)
 {
     ClienteDAO.InsertarCliente(c);
 }
Пример #6
0
 public static void actualizarCliente(Cliente c)
 {
     ClienteDAO.ActualizarCliente(c);
 }
Пример #7
0
        public static Cliente ObtenerPorId(int id)
        {
            Cliente c = new Cliente();

            SqlConnection cn = new SqlConnection();
            cn.ConnectionString = cadena;
            cn.Open();
            SqlCommand cmd = new SqlCommand();
            cmd.Connection = cn;

            string consulta = "SELECT c.idCliente, c.apellido, c.nombre, t.idTipoDocumento, t.nombreTipoDocumento, c.numeroDocumento, c.fechaNacimiento, c.genero FROM Clientes c JOIN TiposDocumento T ON (c.idTipoDocumento = t.idTipoDocumento) WHERE c.idCliente = @idCliente";
            cmd.CommandText = consulta;
            cmd.Parameters.AddWithValue("@idCliente", id);

            SqlDataReader dr = cmd.ExecuteReader();
            try {
            while (dr.Read())
            {

                c.idCliente = (int)dr["idCliente"];
                c.apellido = dr["apellido"].ToString();
                c.nombre = dr["nombre"].ToString();
                c.numeroDocumento = (int)dr["numeroDocumento"];
                c.fechaNacimiento= DateTime.Parse(dr["fechaNacimiento"].ToString());
                c.genero = (bool?) dr["genero"];
                TipoDocumento t = new TipoDocumento();
                t.idTipoDocumento = (int)dr["idTipoDocumento"];
                t.nombreTipoDocumento = dr["nombreTipoDocumento"].ToString();
                c.tipoDocumento = t;

            }
            }catch (SqlException e)
            {
                throw new ApplicationException("Error al obtener cliente");
            }finally
            {
                dr.Close();
                cn.Close();
            }

            return c;
        }
Пример #8
0
        public static List<Cliente> ObtenerTodos()
        {
            List<Cliente> listaClientes = new List<Cliente>();

            SqlConnection con = new SqlConnection(cadena);
            try
            {
                con.Open();
                string sql = "SELECT c.idCliente, c.apellido, c.nombre, t.idTipoDocumento, t.nombreTipoDocumento, c.numeroDocumento, c.fechaNacimiento, c.genero FROM Clientes c JOIN TiposDocumento T ON (c.idTipoDocumento = t.idTipoDocumento)";
                SqlCommand cmd = new SqlCommand();
                cmd.CommandText = sql;
                cmd.Connection = con;
                SqlDataReader dr = cmd.ExecuteReader();

                while (dr.Read())
                {
                    Cliente c = new Cliente();
                    c.idCliente = (int)dr["idCliente"];
                    c.apellido = dr["apellido"].ToString();
                    c.nombre = dr["nombre"].ToString();
                    c.numeroDocumento = (int)dr["numeroDocumento"];
                    c.fechaNacimiento = DateTime.Parse(dr["fechaNacimiento"].ToString());
                    TipoDocumento tipoDoc = new TipoDocumento();
                    tipoDoc.idTipoDocumento = (int)dr["idTipoDocumento"];
                    tipoDoc.nombreTipoDocumento = dr["nombreTipoDocumento"].ToString();
                    c.tipoDocumento = tipoDoc;
                    c.genero = (bool?)dr["genero"];
                    c.generarString();
                    c.completarNombre();

                    listaClientes.Add(c);
                }
            }
            catch (SqlException e)
            {
                throw new ApplicationException("Surgió un porblema al obtener clientes");
            }
            finally
            {
                con.Close();
            }
            return listaClientes;
        }
Пример #9
0
        public static List<Reparacion> Obtener(int idVehiculo, int idEstado, decimal totalDesde, decimal totalHasta, string orden)
        {
            List<Reparacion> listaReparaciones = new List<Reparacion>();
            SqlConnection con = new SqlConnection(cadena);
            try
            {
                con.Open();
                SqlCommand cmd = new SqlCommand();
                string sql = "SELECT Reparaciones.idReparacion, Vehiculos.dominio, Clientes.apellido, Clientes.nombre, EstadosReparacion.nombreEstado, Reparaciones.fechaFin, Reparaciones.totalMO";
                //Facturas.numeroFactura, Facturas.fechaFactura, Vehiculos.dominio, Clientes.apellido, Clientes.nombre, Clientes.numeroDocumento, Reparaciones.totalMO, Facturas.total";
                sql += " FROM Reparaciones JOIN Vehiculos ON Reparaciones.idVehiculo = Vehiculos.idVehiculo JOIN Clientes ON Vehiculos.idCliente = Clientes.idCliente ";
                sql += "JOIN EstadosReparacion ON Reparaciones.idEstado = EstadosReparacion.idEstado";

                string where = "";

                if (idVehiculo != 0)
                {
                    where += " AND (Vehiculos.idVehiculo = @idVehiculo)";
                    cmd.Parameters.AddWithValue("@idVehiculo", idVehiculo);
                }
                if (idEstado != 0)
                {
                    where += " AND (EstadosReparacion.idEstado = @idEstado)";
                    cmd.Parameters.AddWithValue("@idEstado", idEstado);
                }

                if (totalDesde > -1 && totalHasta > -1)
                {
                    where += " AND (Reparaciones.totalMO BETWEEN @totalDesde AND @totalHasta)";
                    cmd.Parameters.AddWithValue("@totalDesde", totalDesde);
                    cmd.Parameters.AddWithValue("@totalHasta", totalHasta);
                }
                else
                {
                    if (totalDesde > -1)
                    {
                        where += " AND (Reparaciones.totalMO > @totalDesde)";
                        cmd.Parameters.AddWithValue("@totalDesde", totalDesde);
                    }
                    else
                    {
                        if (totalHasta > -1)
                        {
                            where += " AND (Reparaciones.totalMO < @totalHasta)";
                            cmd.Parameters.AddWithValue("@totalHasta", totalHasta);
                        }
                    }
                }

                if (where != "")
                {
                    sql += " WHERE ";
                    sql += where.Substring(5);
                }
                if(orden != "")
                {
                    sql += " ORDER BY " + orden;
                }
                cmd.CommandText = sql;
                cmd.Connection = con;
                SqlDataReader dr = cmd.ExecuteReader();

                while (dr.Read())
                {

                    Reparacion r = new Reparacion();
                    Vehiculo v = new Vehiculo();
                    Cliente c = new Cliente();
                    EstadoReparacion e = new EstadoReparacion();

                    v.dominio = dr["dominio"].ToString();
                    c.apellido = dr["apellido"].ToString();
                    c.nombre = dr["nombre"].ToString();
                    c.completarNombre();
                    e.nombreEstado = dr["nombreEstado"].ToString();
                    r.idReparacion = (int)dr["idReparacion"];
                    if(dr["fechaFin"] == DBNull.Value)
                    {
                        r.fechaFin = null;
                    }
                    else
                        r.fechaFin = DateTime.Parse(dr["fechaFin"].ToString());
                    r.totalMO = (decimal)dr["totalMO"];

                    v.cliente = c;
                    r.vehiculo = v;
                    r.estadoReparacion = e;

                    listaReparaciones.Add(r);
                }
            }
            catch(SqlException e) {
                throw e;
                    //new ApplicationException("Surgió un porblema al obtener facturas");
            }
            finally
            {
                con.Close();
            }

            return listaReparaciones;
        }
Пример #10
0
        public static List<Reparacion> ObtenerTodas()
        {
            List<Reparacion> listaReparaciones = new List<Reparacion>();
            SqlConnection con = new SqlConnection(cadena);
            try
            {
                con.Open();
                SqlCommand cmd = new SqlCommand();
                string sql = "SELECT Vehiculos.dominio, Clientes.apellido, Clientes.nombre, Reparaciones.idReparacion, Reparaciones.totalMO, EstadosReparacion.nombreEstado";
                sql += " FROM Reparaciones INNER JOIN Vehiculos ON Reparaciones.idVehiculo = Vehiculos.idVehiculo INNER JOIN";
                sql += " EstadosReparacion ON Reparaciones.idEstado = EstadosReparacion.idEstado INNER JOIN Clientes ON Vehiculos.idCliente = Clientes.idCliente";
                sql += " WHERE Reparaciones.idEstado = @idEstado";
                cmd.Parameters.AddWithValue("@idEstado", 3);

                cmd.CommandText = sql;
                cmd.Connection = con;
                SqlDataReader dr = cmd.ExecuteReader();

                while (dr.Read())
                {
                    Reparacion r = new Reparacion();
                    Vehiculo v = new Vehiculo();
                    Cliente c = new Cliente();
                    EstadoReparacion e = new EstadoReparacion();

                    r.idReparacion = (int)dr["idReparacion"];
                    v.dominio = dr["dominio"].ToString();
                    c.apellido = dr["apellido"].ToString();
                    c.nombre = dr["nombre"].ToString();
                    c.completarNombre();
                    r.totalMO = (decimal)dr["totalMO"];
                    e.nombreEstado = dr["nombreEstado"].ToString();

                    r.estadoReparacion = e;
                    v.cliente = c;
                    r.vehiculo = v;

                    listaReparaciones.Add(r);
                }
            }
            catch (SqlException e)
            {
                throw new ApplicationException("Surgió un porblema al obtener reparaciones");
            }
            finally
            {
                con.Close();
            }
            return listaReparaciones;
        }
Пример #11
0
        public static List<Factura> Obtener(DateTime? fechaDesde, DateTime? fechaHasta, int idCliente, decimal totalDesde, decimal totalHasta)
        {
            List<Factura> listaFacturas = new List<Factura>();

            SqlConnection con = new SqlConnection(cadena);
            try
            {
                con.Open();
                SqlCommand cmd = new SqlCommand();
                string sql = "SELECT Facturas.numeroFactura, Facturas.fechaFactura, Vehiculos.dominio, Clientes.apellido, Clientes.nombre, Clientes.numeroDocumento, Reparaciones.totalMO, Facturas.total";
                sql += " FROM Reparaciones JOIN Facturas ON Reparaciones.idReparacion = Facturas.idReparacion JOIN Vehiculos ON Reparaciones.idVehiculo = Vehiculos.idVehiculo JOIN Clientes ON Vehiculos.idCliente = Clientes.idCliente";

                string where = "";

                if (fechaDesde != null && fechaHasta != null)
                {
                    where += " AND (Facturas.fechaFactura BETWEEN @fechaDesde AND @fechaHasta)";
                    cmd.Parameters.AddWithValue("@fechaDesde", fechaDesde);
                    cmd.Parameters.AddWithValue("@fechaHasta", fechaHasta);
                }
                else
                {
                    if (fechaDesde != null)
                    {
                        where += " AND (Facturas.fechaFactura > @fechaDesde)";
                        cmd.Parameters.AddWithValue("@fechaDesde", fechaDesde);
                    }
                    else
                    {
                        if (fechaHasta != null)
                        {
                            where += " AND (Facturas.fechaFactura < @fechaHasta)";
                            cmd.Parameters.AddWithValue("@fechaHasta", fechaHasta);
                        }
                    }
                }

                if (idCliente != 0)
                {
                    where += " AND (Clientes.idCliente = @idCliente)";
                    cmd.Parameters.AddWithValue("@idCliente", idCliente);
                }

                if (totalDesde > -1 && totalHasta > -1)
                {
                    where += " AND (Facturas.total BETWEEN @totalDesde AND @totalHasta)";
                    cmd.Parameters.AddWithValue("@totalDesde", totalDesde);
                    cmd.Parameters.AddWithValue("@totalHasta", totalHasta);
                }
                else
                {
                    if (totalDesde > -1)
                    {
                        where += " AND (Facturas.total > @totalDesde)";
                        cmd.Parameters.AddWithValue("@totalDesde", totalDesde);
                    }
                    else
                    {
                        if (totalHasta > -1)
                        {
                            where += " AND (Facturas.total < @totalHasta)";
                            cmd.Parameters.AddWithValue("@totalHasta", totalHasta);
                        }
                    }
                }

                if (where != "")
                {
                    sql += " WHERE ";
                    sql += where.Substring(5);
                }

                cmd.CommandText = sql;
                cmd.Connection = con;
                SqlDataReader dr = cmd.ExecuteReader();

                while (dr.Read())
                {
                    Factura f = new Factura();
                    Reparacion r = new Reparacion();
                    Vehiculo v = new Vehiculo();
                    Cliente c = new Cliente();

                    f.numeroFactura = (int)dr["numeroFactura"];
                    f.fechaFactura = DateTime.Parse(dr["fechaFactura"].ToString());
                    v.dominio = dr["dominio"].ToString();
                    c.apellido = dr["apellido"].ToString();
                    c.nombre = dr["nombre"].ToString();
                    c.numeroDocumento = (int)dr["numeroDocumento"];
                    c.completarNombre();
                    r.totalMO = (decimal)dr["totalMO"];
                    f.total = (decimal)dr["total"];

                    v.cliente = c;
                    r.vehiculo = v;
                    f.reparacion = r;

                    listaFacturas.Add(f);
                }
            }
            catch (SqlException e)
            {
                throw new ApplicationException("Surgió un porblema al obtener facturas");
            }
            finally
            {
                con.Close();
            }
            return listaFacturas;
        }
Пример #12
0
        public static List<Vehiculo> ObtenerTodos(string orden)
        {
            List<Vehiculo> list = new List<Vehiculo>();
            SqlConnection cn = new SqlConnection();
            cn.ConnectionString = cadena;
            try
            {
                cn.Open();
                SqlCommand cmd = new SqlCommand();
                cmd.Connection = cn;

                string consulta = "SELECT V.idVehiculo, V.dominio, V.km, pinturaDanada, V.idMarca, M.nombreMarca, V.idCliente, C.nombre, C.apellido, V.ano FROM Vehiculos V JOIN Marcas M ON V.idMarca = M.idMarca JOIN Clientes C ON C.idCliente = V.idCliente";
                if(orden != null)
                    consulta += " ORDER BY " + orden;
                cmd.CommandText = consulta;

                SqlDataReader dr = cmd.ExecuteReader();

                while (dr.Read())
                {
                    Vehiculo v = new Vehiculo();
                    v.idVehiculo = (int)dr["idVehiculo"];
                    v.dominio = dr["dominio"].ToString();

                    if (dr["km"] == DBNull.Value) v.km = null;
                    else v.km = (int?)dr["km"];

                    v.pinturaDanada = (Boolean)dr["pinturaDanada"];
                    v.ano = (int)dr["ano"];

                    Marca m = new Marca();
                    m.idMarca = (int)dr["idMarca"];
                    m.nombreMarca = dr["nombreMarca"].ToString();

                    v.marca = m;

                    Cliente c = new Cliente();
                    c.idCliente = (int)dr["idCliente"];
                    c.apellido = dr["apellido"].ToString();
                    c.nombre = dr["nombre"].ToString();
                    c.completarNombre();
                    v.cliente = c;

                    list.Add(v);
                }
            }
            catch(SqlException e) { throw e; }
            finally
            {

                cn.Close();
            }

            return list;
        }
Пример #13
0
        public static Vehiculo ObtenerPorId(int id)
        {
            Vehiculo v = new Vehiculo();

            SqlConnection cn = new SqlConnection();
            cn.ConnectionString = cadena;
            cn.Open();
            SqlCommand cmd = new SqlCommand();
            cmd.Connection = cn;

            string consulta = "SELECT V.idVehiculo, V.dominio, V.km, pinturaDanada, V.idMarca, M.nombreMarca, V.idCliente, C.nombre, C.apellido, V.ano FROM Vehiculos V JOIN Marcas M ON V.idMarca = M.idMarca JOIN Clientes C ON C.idCliente = V.idCliente WHERE V.idVehiculo = @idVehiculo";
            cmd.CommandText = consulta;
            cmd.Parameters.AddWithValue("@idVehiculo", id);

            SqlDataReader dr = cmd.ExecuteReader();

            while (dr.Read())
            {
                v.idVehiculo = (int)dr["idVehiculo"];
                v.dominio = dr["dominio"].ToString();

                if (dr["km"] == DBNull.Value) v.km = null;
                else v.km = (int?)dr["km"];

                v.pinturaDanada = (Boolean)dr["pinturaDanada"];
                v.ano = (int)dr["ano"];

                Marca m = new Marca();
                m.idMarca = (int)dr["idMarca"];
                m.nombreMarca = dr["nombreMarca"].ToString();

                v.marca = m;

                Cliente c = new Cliente();
                c.idCliente = (int)dr["idCliente"];
                c.apellido = dr["apellido"].ToString();
                c.nombre = dr["nombre"].ToString();
                c.completarNombre();
                v.cliente = c;

            }

            dr.Close();
            cn.Close();
            return v;
        }