public static TipoRespuestaGrilla LiquidacionGrilla(int Estado, string Proveedor, string Sucursal, string FlujoONBase, string Placa, DateTime FechaIncio, DateTime FechaFin) { TipoRespuestaGrilla objRespuesta = new TipoRespuestaGrilla(); string strSelect, strWhere, strGroupby; strSelect = "SELECT l.[numero_orden],l.[fecha_orden],l.[proveedor],l.id_estado,sum(l.[precious]) as Total, SUM(CASE liquidacion WHEN 'True' THEN preciobs WHEN 'False' THEN 0 END) as sumabspagado, SUM(CASE liquidacion WHEN 'True' THEN 0 WHEN 'False' THEN preciobs END) as sumabsnopagado,SUM(CASE liquidacion WHEN 'True' THEN precious WHEN 'False' THEN 0 END) as sumauspagado, SUM(CASE liquidacion WHEN 'True' THEN 0 WHEN 'False' THEN precious END) as sumausnopagado,f.flujoOnBase,f.nombreAsegurado FROM liquidacion001 as l inner join Flujo as f ON (l.id_flujo=f.idFlujo) "; strWhere = "WHERE f.estado=" + Estado.ToString() + " and l.fecha_orden>= @fecha_orden_emp and l.fecha_orden <= @fecha_orden_ter "; strGroupby = "GROUP BY l.[numero_orden],l.[fecha_orden],l.[proveedor],l.id_estado,f.flujoOnBase,f.nombreAsegurado"; string strComando = strSelect + strWhere + strGroupby; SqlConnection sqlConexion = new SqlConnection(CotizacionICRL.strCadenaConexion); SqlDataAdapter sqlAdaptador = new SqlDataAdapter(strComando, sqlConexion); try { if (Sucursal.Trim().Length > 0) { strWhere = strWhere + "AND f.f.agenciaAtencion = '" + Sucursal.Trim() + "' "; } if (FlujoONBase.Trim().Length > 0) { strWhere = strWhere + "AND f.flujoOnBase = '" + FlujoONBase.Trim() + "' "; } if (Placa.Trim().Length > 0) { strWhere = strWhere + "AND f.placaVehiculo = '" + Placa.Trim() + "' "; } if (Proveedor.Trim().Length > 0) { strWhere = strWhere + "AND f.placaVehiculo = '" + Proveedor.Trim() + "' "; } sqlAdaptador.SelectCommand.Parameters.Add("@fecha_orden_emp", System.Data.SqlDbType.DateTime).Value = FechaIncio; sqlAdaptador.SelectCommand.Parameters.Add("@fecha_orden_ter", System.Data.SqlDbType.DateTime).Value = FechaFin; sqlConexion.Open(); sqlAdaptador.Fill(objRespuesta.dsLiquidacionGrilla); sqlAdaptador.Dispose(); objRespuesta.correcto = true; } catch (Exception ex) { objRespuesta.correcto = false; objRespuesta.mensaje = "No se puo traer el detalle de las liquidaciones debido a: " + ex.Message; } finally { sqlConexion.Close(); sqlConexion.Dispose(); } return(objRespuesta); }
public static TipoRespuestaGrilla LiquidacionGrilla(int Estado, string Proveedor, string Sucursal, string FlujoONBase, string Placa, DateTime FechaIncio, DateTime FechaFin) { TipoRespuestaGrilla objRespuesta = new TipoRespuestaGrilla(); string strSelect, strWhere, strGroupby; strSelect = "SELECT l.[numero_orden],l.[fecha_orden],l.[proveedor],l.id_estado,sum(l.[precious]) as Total, SUM(CASE liquidacion WHEN 'True' THEN preciobs WHEN 'False' THEN 0 END) as sumabspagado, SUM(CASE liquidacion WHEN 'True' THEN 0 WHEN 'False' THEN preciobs END) as sumabsnopagado,SUM(CASE liquidacion WHEN 'True' THEN precious WHEN 'False' THEN 0 END) as sumauspagado, SUM(CASE liquidacion WHEN 'True' THEN 0 WHEN 'False' THEN precious END) as sumausnopagado,f.flujoOnBase,f.nombreAsegurado,f.placaVehiculo,f.idFlujo FROM liquidacion001 as l inner join Flujo as f ON (l.id_flujo=f.idFlujo) "; if (Estado > 0) { strWhere = "WHERE f.estado=" + Estado.ToString() + " and l.fecha_orden>= @fecha_orden_emp and l.fecha_orden <= @fecha_orden_ter "; } else { strWhere = "WHERE l.fecha_orden>= @fecha_orden_emp and l.fecha_orden <= @fecha_orden_ter "; } strGroupby = "GROUP BY l.[numero_orden],l.[fecha_orden],l.[proveedor],l.id_estado,f.flujoOnBase,f.nombreAsegurado,f.placaVehiculo,f.idFlujo"; string strComando; SqlConnection sqlConexion = new SqlConnection(CotizacionICRL.strCadenaConexion); SqlDataAdapter sqlAdaptador; try { if (Sucursal.Trim().Length > 0) { strWhere = strWhere + "AND f.agenciaAtencion = '" + Sucursal.Trim() + "' "; } if (FlujoONBase.Trim().Length > 0) { strWhere = strWhere + "AND f.flujoOnBase = '" + FlujoONBase.Trim() + "' "; } if (Placa.Trim().Length > 0) { strWhere = strWhere + "AND f.placaVehiculo = '" + Placa.Trim() + "' "; } if (Proveedor.Trim().Length > 0) { strWhere = strWhere + "AND l.proveedor = '" + Proveedor.Trim() + "' "; } strComando = strSelect + strWhere + strGroupby; SqlCommand sqlComando = new SqlCommand(strComando, sqlConexion); SqlDataReader sqlDatos; sqlAdaptador = new SqlDataAdapter(strComando, sqlConexion); sqlAdaptador.SelectCommand.Parameters.Add("@fecha_orden_emp", System.Data.SqlDbType.DateTime).Value = FechaIncio; sqlAdaptador.SelectCommand.Parameters.Add("@fecha_orden_ter", System.Data.SqlDbType.DateTime).Value = FechaFin; TipoGrilla tdpFila; sqlComando.Parameters.Add("@fecha_orden_emp", System.Data.SqlDbType.DateTime).Value = FechaIncio; sqlComando.Parameters.Add("@fecha_orden_ter", System.Data.SqlDbType.DateTime).Value = FechaFin; sqlConexion.Open(); sqlDatos = sqlComando.ExecuteReader(); //Estado codigo a descripcion (A) AccesoDatos adatos = new AccesoDatos(); List <ListaNomenclador> estadosnom = adatos.FlTraeNomenGenerico("Estados", 0); while (sqlDatos.Read()) { tdpFila = new TipoGrilla(); tdpFila.numero_orden = sqlDatos["numero_orden"] != DBNull.Value ? sqlDatos["numero_orden"].ToString() : string.Empty; tdpFila.fecha_orden = sqlDatos["fecha_orden"] != DBNull.Value ? sqlDatos["fecha_orden"].ToString() : string.Empty; tdpFila.proveedor = sqlDatos["proveedor"] != DBNull.Value ? sqlDatos["proveedor"].ToString() : string.Empty; tdpFila.id_estado = sqlDatos["id_estado"] != DBNull.Value ? sqlDatos["id_estado"].ToString() : string.Empty; tdpFila.total = sqlDatos["Total"] != DBNull.Value ? sqlDatos["Total"].ToString() : string.Empty; tdpFila.pagadobs = sqlDatos["sumabspagado"] != DBNull.Value ? sqlDatos["sumabspagado"].ToString() : string.Empty; tdpFila.nopagadobs = sqlDatos["sumabsnopagado"] != DBNull.Value ? sqlDatos["sumabsnopagado"].ToString() : string.Empty; tdpFila.pagadous = sqlDatos["sumauspagado"] != DBNull.Value ? sqlDatos["sumauspagado"].ToString() : string.Empty; tdpFila.nopagadous = sqlDatos["sumausnopagado"] != DBNull.Value ? sqlDatos["sumausnopagado"].ToString() : string.Empty; tdpFila.flujo_onbase = sqlDatos["flujoOnBase"] != DBNull.Value ? sqlDatos["flujoOnBase"].ToString() : string.Empty; tdpFila.nombre_asegurado = sqlDatos["nombreAsegurado"] != null ? sqlDatos["nombreAsegurado"].ToString() : string.Empty; tdpFila.placa = sqlDatos["placaVehiculo"] != DBNull.Value ? sqlDatos["placaVehiculo"].ToString() : string.Empty; tdpFila.id_flujo = sqlDatos["idFlujo"] != DBNull.Value ? sqlDatos["idFlujo"].ToString() : string.Empty; //Formatear fecha if (!string.IsNullOrWhiteSpace(tdpFila.fecha_orden)) { tdpFila.fecha_orden = Convert.ToDateTime(tdpFila.fecha_orden).ToString("dd/MM/yyyy", System.Globalization.CultureInfo.InvariantCulture); } //Estado codigo a descripcion (B) foreach (ListaNomenclador estadonom in estadosnom) { if (estadonom.codigo.Trim() == tdpFila.id_estado.Trim()) { tdpFila.id_estado = estadonom.descripcion; break; } } objRespuesta.listaLiquidacionGrilla.Add(tdpFila); } sqlDatos.Close(); sqlComando.Dispose(); sqlAdaptador.Fill(objRespuesta.dsLiquidacionGrilla); sqlAdaptador.Dispose(); objRespuesta.correcto = true; } catch (Exception ex) { objRespuesta.correcto = false; objRespuesta.mensaje = "No se puo traer el detalle de las liquidaciones debido a: " + ex.Message; } finally { sqlConexion.Close(); sqlConexion.Dispose(); } return(objRespuesta); }