public static DataTable TraerVentasPorFecha(DateTime inicio, DateTime fin, out InfoVenta infoVenta) { //CONEXION SqlConnection cnn = new SqlConnection(ClasesBase.Properties.Settings.Default.Cadena); //CONFIGURACION DE LA CONSULTA Ventas por Rango fecha SqlCommand cmd = new SqlCommand(); cmd.CommandText = "SELECT * FROM VistaVentas WHERE [FECHA DE VENTA] between @inicio AND @fin"; //filtro la vista por dni cliente cmd.CommandType = CommandType.Text; cmd.Connection = cnn; //CONFIG PARAMETROS cmd.Parameters.AddWithValue("@inicio", inicio); cmd.Parameters.AddWithValue("@fin", fin); //CONFIGURACION DE LA CONSULTA Ventas por Rango fecha - Anuladas SqlCommand cmdA = new SqlCommand(); cmdA.CommandText = "SELECT * FROM VistaVentas WHERE ([FECHA DE VENTA] between @inicio AND @fin) AND ESTADO='ANULADA'"; cmdA.CommandType = CommandType.Text; cmdA.Connection = cnn; //CONFIG PARAMETROS cmdA.Parameters.AddWithValue("@inicio", inicio); cmdA.Parameters.AddWithValue("@fin", fin); //CONFIGURACION DE LA CONSULTA Ventas por Rango fecha - Importe Total de Ventas Activas SqlCommand cmdIT = new SqlCommand(); cmdIT.CommandText = "SELECT ESTADO,ISNULL(SUM(PRECIO),0) AS 'ImporteTotal' FROM VistaVentas WHERE [FECHA DE VENTA] between @inicio AND @fin GROUP BY ESTADO"; cmdIT.CommandType = CommandType.Text; cmdIT.Connection = cnn; //CONFIG PARAMETROS cmdIT.Parameters.AddWithValue("@inicio", inicio); cmdIT.Parameters.AddWithValue("@fin", fin); //CREACION DE LA TABLA DataTable dtVentas = new DataTable(); DataTable dtAnuladas = new DataTable(); DataTable dtImporteTotal = new DataTable(); //CREACION DEL ADAPTADOR SqlDataAdapter da = new SqlDataAdapter(cmd); SqlDataAdapter daAnuladas = new SqlDataAdapter(cmdA); SqlDataAdapter daImporteTotal = new SqlDataAdapter(cmdIT); //LLENAR LA TABLAS da.Fill(dtVentas); daAnuladas.Fill(dtAnuladas); daImporteTotal.Fill(dtImporteTotal); //ASIGNO VARIABLES infoVenta = new InfoVenta(); infoVenta.CantidadVentas = dtVentas.Rows.Count; infoVenta.CantidadVentasAnuladas = dtAnuladas.Rows.Count; infoVenta.ImporteTotalVentasConfirmadas = (dtImporteTotal.Rows.Count > 0 && dtImporteTotal.Rows[0][0].ToString() == "ACTIVA") ? int.Parse(dtImporteTotal.Rows[0][1].ToString()) : 0; infoVenta.ImporteTotalVentasAnuladas = dtImporteTotal.Rows.Count == 2 ? int.Parse(dtImporteTotal.Rows[1][1].ToString()) : 0; //caso solo anuladas infoVenta.ImporteTotalVentasAnuladas = (dtImporteTotal.Rows.Count == 1 && dtImporteTotal.Rows[0][0].ToString() == "ANULADA") ? int.Parse(dtImporteTotal.Rows[0][1].ToString()) : infoVenta.ImporteTotalVentasAnuladas; //DEVOLVER LA TABLA return(dtVentas); }
public static DataTable TraerVentasPorCliente(string cliDni, out InfoVenta infoVenta) { //CONEXION SqlConnection cnn = new SqlConnection(ClasesBase.Properties.Settings.Default.Cadena); //CONFIGURACION DE LA CONSULTA Ventas por CLIENTE SqlCommand cmd = new SqlCommand(); cmd.CommandText = "SELECT * FROM VistaVentas WHERE [DNI CLIENTE] = @clidni"; //filtro la vista por dni cliente cmd.CommandType = CommandType.Text; cmd.Connection = cnn; //CONFIG PARAMETROS cmd.Parameters.AddWithValue("@clidni", cliDni); //cofiguramos el parametro q enviamos //CONFIGURACION DE LA CONSULTA Ventas por CLIENTE - Anuladas SqlCommand cmdA = new SqlCommand(); cmdA.CommandText = "SELECT * FROM VistaVentas WHERE [DNI CLIENTE] = @clidni AND ESTADO='ANULADA'"; cmdA.CommandType = CommandType.Text; cmdA.Connection = cnn; //CONFIG PARAMETROS cmdA.Parameters.AddWithValue("@clidni", cliDni); //CONFIGURACION DE LA CONSULTA Ventas por cliente - Importe Total de Ventas Activas SqlCommand cmdIT = new SqlCommand(); cmdIT.CommandText = "SELECT ESTADO,ISNULL(SUM(PRECIO),0) AS 'ImporteTotal' FROM VistaVentas WHERE [DNI CLIENTE] = @clidni GROUP BY ESTADO"; cmdIT.CommandType = CommandType.Text; cmdIT.Connection = cnn; //CONFIG PARAMETROS cmdIT.Parameters.AddWithValue("@clidni", cliDni); //CREACION DE LA TABLA DataTable dtVentas = new DataTable(); DataTable dtAnuladas = new DataTable(); DataTable dtImporteTotal = new DataTable(); //CREACION DEL ADAPTADOR SqlDataAdapter da = new SqlDataAdapter(cmd); SqlDataAdapter daAnuladas = new SqlDataAdapter(cmdA); SqlDataAdapter daImporteTotal = new SqlDataAdapter(cmdIT); //LLENAR LA TABLAS da.Fill(dtVentas); daAnuladas.Fill(dtAnuladas); daImporteTotal.Fill(dtImporteTotal); //ASIGNO VARIABLES infoVenta = new InfoVenta(); infoVenta.CantidadVentas = dtVentas.Rows.Count; infoVenta.CantidadVentasAnuladas = dtAnuladas.Rows.Count; infoVenta.ImporteTotalVentasConfirmadas = (dtImporteTotal.Rows.Count > 0 && dtImporteTotal.Rows[0][0].ToString() == "ACTIVA") ? int.Parse(dtImporteTotal.Rows[0][1].ToString()) : 0; infoVenta.ImporteTotalVentasAnuladas = dtImporteTotal.Rows.Count == 2 ? int.Parse(dtImporteTotal.Rows[1][1].ToString()) : 0; //caso solo anuladas infoVenta.ImporteTotalVentasAnuladas = (dtImporteTotal.Rows.Count == 1 && dtImporteTotal.Rows[0][0].ToString() == "ANULADA") ? int.Parse(dtImporteTotal.Rows[0][1].ToString()) : infoVenta.ImporteTotalVentasAnuladas; //DEVOLVER LA TABLA return(dtVentas); }