public void BuscaFusoHorario(FusoHorario fusoHorario) { try { string sql = "select FUSOHORARIO, FUSOHORARIOVERAO, CTRLHORARIOVERAO, INIHORARIOVERAO, FINHORARIOVERAO from dbEMPRESA where ID_EMPRESA = 1"; SqlConnection conexao = DBConnection.Conexao.ConectaSql; if (conexao.State != ConnectionState.Open) conexao.Open(); SqlCommand command = new SqlCommand(sql, conexao); SqlDataReader reader = command.ExecuteReader(); if (reader.Read()) { fusoHorario.FusoHorarioAtual = Convert.ToInt32(reader["FUSOHORARIO"]); fusoHorario.FusoHorarioVerao = Convert.ToInt32(reader["FUSOHORARIOVERAO"]); if (Convert.ToString(reader["CTRLHORARIOVERAO"]) == "S") fusoHorario.ControlaHorarioVerao = true; else fusoHorario.ControlaHorarioVerao = false; fusoHorario.InicioHorarioVerao = Convert.ToDateTime(reader["INIHORARIOVERAO"]); fusoHorario.FinalHorarioVerao = Convert.ToDateTime(reader["FINHORARIOVERAO"]); } conexao.Close(); } catch (Exception ex) { throw new Exception("Não foi possível buscar o fuso horário atual. Erro: " + ex.Message); } }
public static DateTime ArrumarFusoHorario(DateTime data, FusoHorario.FusoHorario fusoHorario) { DateTime dataAlterada; try { int dataIni = DateTime.Compare(data, fusoHorario.InicioHorarioVerao); int dataFim = DateTime.Compare(data, fusoHorario.FinalHorarioVerao); if (dataIni >= 0 && dataFim <= 0) { if (fusoHorario.ControlaHorarioVerao) dataAlterada = data.AddHours(fusoHorario.FusoHorarioVerao); else dataAlterada = data.AddHours(fusoHorario.FusoHorarioAtual); } else dataAlterada = data.AddHours(fusoHorario.FusoHorarioAtual); } catch (Exception ex) { throw new Exception("Não foi possível converter a data para o fuso correto. Erro: " + ex.Message); } //DateTime dataAlterada; //try //{ // int dataIni = DateTime.Compare(data, fusoHorario.InicioHorarioVerao); // int dataFim = DateTime.Compare(data, fusoHorario.FinalHorarioVerao); // if (dataIni >= 0 && dataFim <= 0) // { // if (fusoHorario.ControlaHorarioVerao) // dataAlterada = new DateTime(data.Year, data.Month, ArrumarDia(data.Day, data.Hour, fusoHorario.FusoHorarioVerao), ArrumarHora(data.Hour, fusoHorario.FusoHorarioVerao), data.Minute, data.Second, data.Kind); // else // dataAlterada = new DateTime(data.Year, data.Month, ArrumarDia(data.Day, data.Hour, fusoHorario.FusoHorarioAtual), ArrumarHora(data.Hour, fusoHorario.FusoHorarioAtual), data.Minute, data.Second, data.Kind); // } // else // dataAlterada = new DateTime(data.Year, data.Month, ArrumarDia(data.Day, data.Hour, fusoHorario.FusoHorarioAtual), ArrumarHora(data.Hour, fusoHorario.FusoHorarioAtual), data.Minute, data.Second, data.Kind); //} //catch (Exception ex) //{ // throw new Exception("Não foi possível converter a data para o fuso correto. Erro: " + ex.Message); //} return dataAlterada; }
public static FusoHorario ObterInstancia() { if (instancia == null) instancia = new FusoHorario(); return instancia; }
private void IniciaFusoHorario() { FusoHorario.ControleFusoHorario controleFuso = new FusoHorario.ControleFusoHorario(); fusoHorario = FusoHorario.FusoHorario.ObterInstancia(); controleFuso.BuscaFusoHorario(fusoHorario); }