public TList_Chopeira Select(Utils.TpBusca[] vBusca, int vTop, string vNM_Campo) { TList_Chopeira lista = new TList_Chopeira(); bool podeFecharBco = false; if (Banco_Dados == null) { podeFecharBco = CriarBanco_Dados(false); } System.Data.SqlClient.SqlDataReader reader = ExecutarBusca(SqlCodeBusca(vBusca, Convert.ToInt16(vTop), vNM_Campo)); try { while (reader.Read()) { TRegistro_Chopeira reg = new TRegistro_Chopeira(); if (!reader.IsDBNull(reader.GetOrdinal("id_chopeira"))) { reg.Id_chopeira = reader.GetInt32(reader.GetOrdinal("id_chopeira")); } if (!reader.IsDBNull(reader.GetOrdinal("ds_chopeira"))) { reg.Ds_chopeira = reader.GetString(reader.GetOrdinal("ds_chopeira")); } if (!reader.IsDBNull(reader.GetOrdinal("nr_chopeira"))) { reg.Nr_chopeira = reader.GetString(reader.GetOrdinal("nr_chopeira")); } if (!reader.IsDBNull(reader.GetOrdinal("voltagem"))) { reg.Voltagem = reader.GetString(reader.GetOrdinal("voltagem")); } if (!reader.IsDBNull(reader.GetOrdinal("qt_torneiras"))) { reg.Qt_torneiras = reader.GetString(reader.GetOrdinal("qt_torneiras")); } if (!reader.IsDBNull(reader.GetOrdinal("cancelado"))) { reg.Cancelado = reader.GetBoolean(reader.GetOrdinal("cancelado")); } lista.Add(reg); } } finally { reader.Close(); reader.Dispose(); if (podeFecharBco) { deletarBanco_Dados(); } } return(lista); }
public TList_Chopeira Select(string Cd_empresa, DateTime Dt_reserva, DateTime Dt_prevretorno) { StringBuilder sql = new StringBuilder(); sql.AppendLine("declare @startDate datetime; ") .AppendLine("declare @endDate datetime; ") .AppendLine("set @startDate = '" + Dt_reserva.ToString("yyyyMMdd") + "';") .AppendLine("set @endDate = '" + Dt_prevretorno.ToString("yyyyMMdd") + "';") .AppendLine("with dateRange as ") .AppendLine("(") .AppendLine("select dt = @startDate ") .AppendLine("where @startDate <= @endDate") .AppendLine("union all") .AppendLine("select dateadd(dd, 1, dt)") .AppendLine("from dateRange") .AppendLine("where dateadd(dd, 1, dt) <= @endDate") .AppendLine(")") .AppendLine("select a.voltagem, a.QT_Torneiras, count(1) as Qt_chopeira, ") .AppendLine("Qt_reservada = isnull((select count(1) from TB_RES_ReservaChopp x ") .AppendLine(" inner join VTB_RES_ItensReserva y ") .AppendLine(" on x.CD_Empresa = y.CD_Empresa ") .AppendLine(" and x.ID_Reserva = y.ID_Reserva ") .AppendLine(" and isnull(x.ST_Registro, 'A') = 'A' ") .AppendLine(" and (isnull(y.ST_Registro, '0') = '0' or isnull(y.ST_Registro, '0') = '1' or isnull(y.ST_Registro, '0') = '2') ") .AppendLine(" and exists(select 1 from dateRange w where convert(datetime, floor(convert(decimal(30,10), w.dt))) ") .AppendLine(" between convert(datetime, floor(convert(decimal(30,10), x.DT_Reserva))) ") .AppendLine(" and convert(datetime, floor(convert(decimal(30,10), x.DT_PrevRetorno))))") .AppendLine(" and x.cd_empresa = '"+ Cd_empresa.Trim() + "'") .AppendLine(" and y.voltagem = a.voltagem ") .AppendLine(" and y.qt_torneiras = a.qt_torneiras), 0) ") .AppendLine("from tb_res_chopeira a ") .AppendLine("where a.cancelado = 0 ") .AppendLine("group by voltagem, QT_Torneiras "); TList_Chopeira lista = new TList_Chopeira(); bool podeFecharBco = false; if (Banco_Dados == null) { podeFecharBco = CriarBanco_Dados(false); } System.Data.SqlClient.SqlDataReader reader = ExecutarBusca(sql.ToString()); try { while (reader.Read()) { TRegistro_Chopeira reg = new TRegistro_Chopeira(); if (!reader.IsDBNull(reader.GetOrdinal("voltagem"))) { reg.Voltagem = reader.GetString(reader.GetOrdinal("voltagem")); } if (!reader.IsDBNull(reader.GetOrdinal("qt_torneiras"))) { reg.Qt_torneiras = reader.GetString(reader.GetOrdinal("qt_torneiras")); } if (!reader.IsDBNull(reader.GetOrdinal("Qt_chopeira"))) { reg.Qt_chopeira = reader.GetInt32(reader.GetOrdinal("Qt_chopeira")); } if (!reader.IsDBNull(reader.GetOrdinal("Qt_reservada"))) { reg.Qt_reservada = reader.GetInt32(reader.GetOrdinal("Qt_reservada")); } lista.Add(reg); } } finally { reader.Close(); reader.Dispose(); if (podeFecharBco) { deletarBanco_Dados(); } } return(lista); }