public static void Gravar(HistoricoAlteracaoAtendimento historicoAlteracao) { string sqlInsert = @"INSERT INTO HISTORICOALTERACAOATENDIMENTO (CODIGOOPERADOR,CODIGOCLIENTE,NOMECLIENTE,DATAOPERACAO, DESCRICAOOPERACAO,NOMEATENDENTE,NOMESERVICO,DTHORAINICIAL, NOMEOPERADOR) VALUES (:CODIGOOPERADOR, :CODIGOCLIENTE, :NOMECLIENTE, :DATAOPERACAO, :DESCRICAOOPERACAO, :NOMEATENDENTE, :NOMESERVICO, :DTHORAINICIAL, :NOMEOPERADOR)"; OracleConnection conexao = PersistenciaOracle.ObterConexao(); conexao.Open(); OracleCommand comando = new OracleCommand(sqlInsert); comando.Connection = conexao; comando.Parameters.Add("CODIGOOPERADOR", historicoAlteracao.CodigoOperador); comando.Parameters.Add("CODIGOCLIENTE", historicoAlteracao.CodigoCliente); comando.Parameters.Add("NOMECLIENTE", historicoAlteracao.NomeCliente); comando.Parameters.Add("DATAOPERACAO", historicoAlteracao.DataOperacao); comando.Parameters.Add("DESCRICAOOPERACAO", historicoAlteracao.DescricaoOperacao); comando.Parameters.Add("NOMEATENDENTE", historicoAlteracao.NomeAtendente); comando.Parameters.Add("NOMESERVICO", historicoAlteracao.NomeServico); comando.Parameters.Add("DTHORAINICIAL", historicoAlteracao.DtHoraInicial); comando.Parameters.Add("NOMEOPERADOR", historicoAlteracao.NomeOperador); comando.Prepare(); comando.ExecuteNonQuery(); conexao.Close(); }
public static List<HistoricoAlteracaoAtendimento> ObterHistoricoAlteracaoAtendimento(string Nome, DateTime Data) { List<HistoricoAlteracaoAtendimento> historico = new List<HistoricoAlteracaoAtendimento>(); string sql = @"SELECT CODIGOOPERADOR,CODIGOCLIENTE,NOMECLIENTE,DATAOPERACAO, DESCRICAOOPERACAO,NOMEATENDENTE,NOMESERVICO,DTHORAINICIAL, NOMEOPERADOR FROM HISTORICOALTERACAOATENDIMENTO WHERE TRUNC(DATAOPERACAO) = TRUNC(:Data)"; if(!string.IsNullOrEmpty(Nome)) { sql += " AND UPPER(NOMECLIENTE) LIKE '" + Nome.ToUpper() + "%'"; } sql += " ORDER BY DATAOPERACAO ASC"; OracleConnection conexao = PersistenciaOracle.ObterConexao(); conexao.Open(); OracleCommand comando = new OracleCommand(sql); comando.Connection = conexao; comando.Parameters.Add("DATA", Data); comando.Prepare(); OracleDataReader leitor = comando.ExecuteReader(); while(leitor.Read()) { HistoricoAlteracaoAtendimento hist = new HistoricoAlteracaoAtendimento(); hist.CodigoOperador = UtilidadePersistencia.ObterValorTratado<decimal>(leitor["CODIGOOPERADOR"]); hist.CodigoCliente = UtilidadePersistencia.ObterValorTratado<decimal>(leitor["CODIGOCLIENTE"]); hist.NomeCliente = UtilidadePersistencia.ObterValorTratado<string>(leitor["NOMECLIENTE"]); hist.DataOperacao = UtilidadePersistencia.ObterValorDateTimeTratado<DateTime?>(leitor["DATAOPERACAO"]); hist.DescricaoOperacao = UtilidadePersistencia.ObterValorTratado<string>(leitor["DESCRICAOOPERACAO"]); hist.NomeAtendente = UtilidadePersistencia.ObterValorTratado<string>(leitor["NOMEATENDENTE"]); hist.NomeServico = UtilidadePersistencia.ObterValorTratado<string>(leitor["NOMESERVICO"]); hist.DtHoraInicial = UtilidadePersistencia.ObterValorDateTimeTratado<DateTime?>(leitor["DTHORAINICIAL"]); hist.NomeOperador = UtilidadePersistencia.ObterValorTratado<string>(leitor["NOMEOPERADOR"]); historico.Add(hist); } conexao.Close(); return historico; }
private void GravarRegistroAlteracao(Atendimento atd, decimal CodOperador, string NomeOperador, string DescricaoOperacao, Agendamento agd) { HistoricoAlteracaoAtendimento histalt = new HistoricoAlteracaoAtendimento(); histalt.NomeCliente = atd.Cliente.Nome; histalt.CodigoCliente = atd.CodigoCliente; histalt.CodigoOperador = CodOperador; histalt.DataOperacao = DateTime.Now; histalt.DescricaoOperacao = DescricaoOperacao; histalt.DtHoraInicial = agd.DataHoraAgendamento; histalt.NomeAtendente = atd.NomeAtendente; histalt.NomeOperador = NomeOperador; histalt.NomeServico = agd.ServicoAgendado.Nome.ToUpper(); Persistencia.PersistenciaHistoricoAlteracao.Gravar(histalt); }
private void btnGravar_Click(object sender, RoutedEventArgs e) { if(!this.mskHoraFim.IsMaskCompleted) { Mensagens.ExibirMensagemAlerta(this, "É necessário informar a hora do fim do período!"); return; } Regex reg = new Regex("^(?:0?[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$"); if(!reg.IsMatch(this.mskHoraFim.Text)) { Mensagens.ExibirMensagemAlerta(this, "A hora do fim do período está errada!"); return; } String horaFimJornadaTrabalho = "23:00"; DateTime DtHrBloqueioInicio = DateTime.Parse(this.DataDoBloqueio.ToShortDateString() + " " + HoraInicio); DateTime DtHrBloqueioFim = DateTime.Parse(this.DataDoBloqueio.ToShortDateString() + " " + mskHoraFim.Text); DateTime DtHrBloqueioFimReal = DtHrBloqueioFim.AddMinutes(-10); //ajustar de acordo com a grid, que sempre mostra o inicio do intervalo de 10min DateTime DtHrBloqueioFimJornadaTrab = DateTime.Parse(this.DataDoBloqueio.ToShortDateString() + " " + horaFimJornadaTrabalho); if (DtHrBloqueioInicio >= DtHrBloqueioFim) { Mensagens.ExibirMensagemAlerta(this, "A hora final deve ser maior que a hora inicial!"); return; } if(DtHrBloqueioFim > DtHrBloqueioFimJornadaTrab) { Mensagens.ExibirMensagemAlerta(this, string.Format("A hora final deve ser menor do que as {0} !",horaFimJornadaTrabalho)); return; } if(this.Atendimentos != null && this.Atendimentos.Count > 0) { Atendimento atd = this.Atendimentos.Where(a => a.DataHoraInicialAtendimento >= DtHrBloqueioInicio && a.DataHoraInicialAtendimento <= DtHrBloqueioFimReal && a.NomeAtendente == this.NomeAtendente) .FirstOrDefault(); if(atd != null && atd != default(Atendimento)) { Mensagens.ExibirMensagemAlerta(this, "Existe um atendimento agendado dentro do intervalo de bloqueio informado! Por favor informe outro intervalo!"); return; } } if(this.Bloqueios != null && this.Bloqueios.Count > 0) { if(this.ExisteBloqueioNoIntervalo(this.HoraInicio,this.mskHoraFim.Text, this.NomeAtendente)) { Mensagens.ExibirMensagemAlerta(this, "Já existe um bloqueio dentro do intervalo informado!"); return; } } WindowIdentificacao windowIdentificacao = new WindowIdentificacao(); if (PersistenciaParametrizacao.ObterValorParametro("IDENTOPERADORAGENDAMENTO").Equals("S")) { windowIdentificacao.ShowDialog(); if (!windowIdentificacao.AutenticadoComSucesso) { return; } } Bloqueio blq = new Bloqueio(); blq.NomeAtendente = this.NomeAtendente; blq.HoraInicio = this.HoraInicio; blq.HoraFim = this.mskHoraFim.Text; blq.Data = this.DataDoBloqueio; blq.TipoDoBloqueio = this.checkBox.IsChecked.GetValueOrDefault() ? TipoBloqueio.Encaixe : TipoBloqueio.Bloqueio; if(this.BloqueioSelecionado != null && this.BloqueioSelecionado != default(Bloqueio)) { blq.Codigo = this.BloqueioSelecionado.Codigo; PersistenciaBloqueio.AtualizarBloqueio(blq); } else { PersistenciaBloqueio.GravarBloqueio(blq); } if (PersistenciaParametrizacao.ObterValorParametro("IDENTOPERADORAGENDAMENTO").Equals("S")) { HistoricoAlteracaoAtendimento hist = new HistoricoAlteracaoAtendimento(); hist.CodigoOperador = windowIdentificacao.OperadorIdentificado.Codigo; hist.DataOperacao = DateTime.Now; hist.NomeCliente = "BLOQUEIO"; hist.DescricaoOperacao = "BLOQUEIO DE HORÁRIO DE ATENDIMENTO"; hist.NomeAtendente = this.NomeAtendente; hist.NomeOperador = windowIdentificacao.OperadorIdentificado.Nome; hist.DtHoraInicial = DateTime.ParseExact(this.DataDoBloqueio.ToShortDateString() + " " + this.HoraInicio, "dd/MM/yyyy HH:mm", new CultureInfo("pt-BR")); Persistencia.PersistenciaHistoricoAlteracao.Gravar(hist); } Mensagens.ExibirMensagemAlerta(this, "Dados gravados com sucesso!"); }
private HistoricoAlteracaoAtendimento ObterBaseHistAlteracaoAtendimento(Atendimento atd, decimal CodOperador, string NomeOperador, string DescricaoOperacao) { HistoricoAlteracaoAtendimento hist = new HistoricoAlteracaoAtendimento(); hist.CodigoOperador = CodOperador; hist.CodigoCliente = atd.CodigoCliente; hist.DataOperacao = DateTime.Now; hist.DescricaoOperacao = DescricaoOperacao; hist.NomeAtendente = atd.NomeAtendente; hist.NomeCliente = atd.Cliente.Nome; hist.NomeOperador = NomeOperador; return hist; }