/// <summary> /// Constrói o horário para um funcionário específico. /// </summary> /// <param name="funcionário">Funcionário.</param> public Horário(Funcionário funcionário) { if (funcionário == null) throw new ArgumentNullException(); this.funcionario = funcionário; }
public HistóricoRelacionamentoItem(Mercadoria.Mercadoria mercadoria, double quantidade, DateTime data, Entidades.Pessoa.Funcionário funcionário, double índice) { this.mercadoria = mercadoria; this.quantidade = quantidade; this.data = data; this.funcionário = funcionário; this.indice = índice; }
public FuncionárioPropriedades(Funcionário funcionário) { // This call is required by the Windows Form Designer. InitializeComponent(); this.funcionário = funcionário; txtFuncionário.Text = funcionário.Nome; Estado = funcionário.Situação; }
/// <summary> /// Constrói a tabela de horário para um funcionário. /// </summary> /// <param name="funcionário">Funcionário.</param> public TabelaHorário(Funcionário funcionário) { if (funcionário == null) throw new ArgumentNullException(); this.funcionário = funcionário; Carregar(); }
/// <summary> /// Constrói um horário. /// </summary> public Horário(Entidades.Pessoa.Funcionário funcionário, DayOfWeek diaSemana, ushort iniHora, ushort iniMinuto, ushort fimHora, ushort fimMinuto) { this.funcionario = funcionário; this.diaSemana = diaSemana; this.iniHora = iniHora; this.iniMinuto = iniMinuto; this.fimHora = fimHora; this.fimMinuto = fimMinuto; }
private void funcionárioAusência_AoAlterarAusência(Funcionário funcionário) { try { ignorarAusência = true; AtualizarFuncionário(funcionário); } finally { ignorarAusência = false; } }
/// <summary> /// Colorir o estado do funcionário /// </summary> /// <param name="linha"></param> /// <param name="Funcionário"></param> private void ColorirFuncionário(ListViewItem linha, Funcionário funcionário) { switch (funcionário.Situação) { case EstadoFuncionário.Disponível: linha.ForeColor = lstVendedores.ForeColor; linha.UseItemStyleForSubItems = true; break; case EstadoFuncionário.Atendendo: linha.ForeColor = lstVendedores.ForeColor; linha.UseItemStyleForSubItems = false; linha.SubItems[colSituação.Index].ForeColor = Color.Blue; break; case EstadoFuncionário.Ausente: linha.ForeColor = SystemColors.GrayText; linha.UseItemStyleForSubItems = true; break; case EstadoFuncionário.Ocupado: linha.ForeColor = lstVendedores.ForeColor; linha.UseItemStyleForSubItems = false; linha.SubItems[colSituação.Index].ForeColor = Color.Red; break; } }
public void AtualizarFuncionário(Funcionário funcionário) { ListViewItem linha; if (InvokeRequired) { AtualizarFuncionárioCallback método = new AtualizarFuncionárioCallback(AtualizarFuncionário); BeginInvoke(método, funcionário); } else try { linha = hashVendedorLinha[funcionário.Código]; linha.SubItems[colSituação.Index].Text = funcionário.Situação == EstadoFuncionário.Disponível ? "" : funcionário.Situação.ToString(); if (funcionário.Situação != EstadoFuncionário.Atendendo) linha.SubItems[colCliente.Index].Text = ""; ColorirFuncionário(linha, funcionário); if (!ignorarAusência) { if (funcionário.Situação == EstadoFuncionário.Ausente) funcionárioAusência.AdicionarFuncionário(funcionário); else funcionárioAusência.RemoverFuncionário(funcionário); } } catch (Exception e) { MessageBox.Show(e.ToString()); } }
public static void RegistrarAtendimento(Visita visita, Funcionário funcionário) { IniciarAtendimento(visita, funcionário); foreach (Rodízio rodízio in hashRodízio.Values) if (rodízio.Atendentes.Contains(funcionário)) rodízio.RealizarRodízio(funcionário); }
/// <summary> /// Constrói a exceção. /// </summary> public ExceçãoHorárioSobreposto(Funcionário funcionário, Horário a, Horário b) { this.funcionário = funcionário; this.horários = new Horário [] { a, b }; }
/// <summary> /// Limpa a lista. /// </summary> private void LimparCheckList() { try { lock (this) { Funcionário [] itensRemoção; limpando = true; itensRemoção = new Funcionário[chkAusentes.CheckedItems.Count]; chkAusentes.CheckedItems.CopyTo(itensRemoção, 0); foreach (Funcionário funcionário in itensRemoção) RemoverFuncionário(funcionário); } } catch (Exception e) { Acesso.Comum.Usuários.UsuárioAtual.RegistrarErro(e); } finally { limpando = false; chkAusentes.Refresh(); } }
/// <summary> /// Inicia remoção de funcionário da lista de ausentes. /// </summary> /// <param name="funcionário">Funcionário ausente.</param> private void IniciarRemoçãoFuncionário(Funcionário funcionário) { int index; index = chkAusentes.Items.IndexOf(funcionário); if (index < 0) throw new Exception("Funcionário não encontrado na lista de funcionários ausentes."); if (funcionário.Situação == EstadoFuncionário.Ausente) funcionário.Situação = EstadoFuncionário.Disponível; }
/// <summary> /// Constrói a estrutura de atendimento. /// </summary> /// <param name="visita">Visita vinculada ao cliente.</param> /// <param name="atendente">Atendente do cliente.</param> public Atendimento(Visita visita, Funcionário atendente) { this.visita = visita; this.atendente = atendente; }
public PermissãoNegada(Funcionário funcionário) : this(funcionário, "Autorização negada ao funcionário.") { }
public PermissãoNegada(Funcionário funcionário, string mensagem) : base(mensagem) { this.funcionário = funcionário; }
/// <summary> /// Verifica se contém um item. /// </summary> /// <param name="item">Funcionário.</param> /// <returns>Se existe o funcionário na lista.</returns> public bool Contains(Funcionário funcionário) { foreach (ListaPessoasItem item in this) { if (typeof(Atendente.ListaFuncionárioItem).IsInstanceOfType(item)) { if (((Atendente.ListaFuncionárioItem) item).Funcionário == funcionário) return true; } } return false; }
/// <summary> /// Remove um funcionário da lista de pessoas. /// </summary> /// <param name="funcionário">Funcionário a ser removido.</param> public void Remove(Funcionário funcionário) { foreach (ListaPessoasItem item in this) { if (typeof(Atendente.ListaFuncionárioItem).IsInstanceOfType(item)) { if (((Atendente.ListaFuncionárioItem) item).Funcionário == funcionário) { Remove(item); return; } } } throw new ArgumentException("Funcionário não encontrado.", "funcionário"); }
/// <summary> /// Cria um item e o adiciona à lista de pessoas. /// </summary> /// <param name="funcionário">Funcionário a ser inserido.</param> public void Add(Funcionário funcionário) { Atendente.ListaFuncionárioItem item; item = new Atendente.ListaFuncionárioItem(funcionário); this.Add((ListaPessoasItem) item); }
/// <summary> /// Adiciona funcionário ausente. /// </summary> /// <param name="funcionário">Funcionário ausente.</param> public void AdicionarFuncionário(Funcionário funcionário) { lock (this) { if (!chkAusentes.Items.Contains(funcionário) && funcionário.Situação == EstadoFuncionário.Ausente) { try { chkAusentes.Items.Add(funcionário); } catch (Exception e) { MessageBox.Show( "Não foi possível adicionar funcionário à lista de funcionários ausentes!", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); Acesso.Comum.Usuários.UsuárioAtual.RegistrarErro(e); } } } }
/// <summary> /// Constrói o item atribuindo o funcionário. /// </summary> /// <param name="funcionário">Funcionário a constar no item.</param> public ListaFuncionárioItem(Funcionário funcionário) : this() { Funcionário = funcionário; }
/// <summary> /// Remove funcionário ausente. /// </summary> /// <param name="funcionário">Funcionário ausente.</param> public void RemoverFuncionário(Funcionário funcionário) { lock (this) { try { if (limpando) chkAusentes.Items.Remove(funcionário); else { if (chkAusentes.Items.Contains(funcionário)) { int idx = chkAusentes.Items.IndexOf(funcionário); if (!chkAusentes.GetItemChecked(idx)) chkAusentes.SetItemChecked(idx, true); } } } catch (Exception e) { MessageBox.Show( "Não foi possível remover funcionário da lista de funcionários ausentes!", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); throw new Exception("Não foi possível remover funcionário da lista de funcionários ausentes!", e); } } }
public static List<Visita> ObterAtendimentos(Funcionário funcionário) { string where = " v.funcionario = " + DbTransformar(funcionário.Código) + " AND v.saida IS NULL"; List<Visita> visitas = Mapear<Visita>("SELECT v.* FROM visita v WHERE " + where); CarregarRelacionamentos(visitas, where); return visitas; }
/// <summary> /// Cancela remoção de funcionário da lista de ausentes. /// </summary> private static void CancelarRemoçãoFuncionário(Funcionário funcionário) { funcionário.Situação = EstadoFuncionário.Ausente; }
/// <summary> /// Registra o início de atendimento do atendente ao cliente. /// </summary> protected static void IniciarAtendimento(Visita visita, Funcionário atendente) { atendente.Situação = EstadoFuncionário.Atendendo; if (!visita.Espera.HasValue) try { visita.Espera = Convert.ToUInt32(((TimeSpan)(DadosGlobais.Instância.HoraDataAtual - visita.Entrada)).TotalSeconds); } catch (OverflowException) { visita.Espera = UInt32.MaxValue; } visita.Atendente = atendente; visita.Atualizar(); }
/// <summary> /// Ocorre ao definir funcionário como ausente. /// </summary> private void AoDefinirAusente(Funcionário funcionário) { listaVisitantes.AtualizarFuncionário(funcionário); }
/// <summary> /// Adiciona um funcionário à lista /// </summary> /// <param name="funcionário">Funcionário a ser inserido</param> private void AdicionarFuncionário(Funcionário funcionário) { List<Visita> atendimentos = Visita.ObterAtendimentos(funcionário); ListViewItem item = new ListViewItem(funcionário.Nome); string strAtendimentos = Visita.ExtrairNomes(atendimentos); if (funcionário.Situação == EstadoFuncionário.Atendendo) if (atendimentos.Count == 0) funcionário.Situação = EstadoFuncionário.Desconhecido; item.SubItems.Add(funcionário.Ramal.ToString()); item.SubItems.Add(funcionário.Setor == null ? "" : funcionário.Setor.Nome); item.SubItems.Add(funcionário.Situação == EstadoFuncionário.Disponível ? "" : funcionário.Situação.ToString()); item.SubItems.Add(strAtendimentos); lstVendedores.Items.Add(item); linhaVendedor[item] = funcionário; hashVendedorLinha[funcionário.Código] = item; ColorirFuncionário(item, funcionário); }
public static bool EmAtendimento(Funcionário funcionário) { IDbConnection conexão = Conexão; int qtd; lock (conexão) using (IDbCommand cmd = conexão.CreateCommand()) { cmd.CommandText = "SELECT COUNT(*) FROM visita v" + " WHERE v.funcionario = " + DbTransformar(funcionário.Código) + " AND v.saida IS NULL"; qtd = Convert.ToInt32(cmd.ExecuteScalar()); } return qtd > 0; }
internal static Funcionário ObterFuncionário(IDataReader leitor, int inicioAtributoPesssoa, int inicioAtributoPessoaFisica) { Funcionário entidade = new Funcionário(); entidade.LerAtributos(leitor, inicioAtributoPesssoa, inicioAtributoPessoaFisica); return entidade; }
public static List<Visita> ObterVisitasRelevantes(Funcionário funcionário, Setor[] setores) { string strSetores = Setor.ObterSetoresSeparadosPorVirgula(setores); if (String.IsNullOrEmpty(strSetores)) return null; string where = " v.saida IS NULL OR v.entrada >= date(" + "(SELECT MAX(entrada) FROM visita WHERE funcionario = " + DbTransformar(funcionário.Código) + "))" + " AND setor IN (" + strSetores + ")" + " AND entrada >= " + DbTransformar(DadosGlobais.Instância.HoraDataAtual.Date.Subtract(new TimeSpan(3, 0, 0, 0))) + " ORDER BY entrada"; List<Visita> visitas = Mapear<Visita>("SELECT * FROM visita v WHERE " + where); CarregarRelacionamentos(visitas, where); return visitas; }
/// <summary> /// Adiciona funcionário à lista. /// </summary> /// <param name="funcionário">Funcionário à ser adicionado.</param> private void AdicionarFuncionário(Funcionário funcionário) { ListViewItem linha; // Inserir linha linha = new ListViewItem(hashSetorGrupo[funcionário.Setor]); linha.Text = funcionário.Nome; linha.SubItems.Add(funcionário.Ramal.ToString()); linha.SubItems.Add(funcionário.Setor != null ? funcionário.Setor.Nome : ""); if (ênfaseSetor != null) linha.Font = (funcionário.Setor == ênfaseSetor ? fontÊnfase : lstFuncionários.Font); lstFuncionários.Items.Add(linha); linhas[funcionário.Código] = linha; linhas[linha] = funcionário; funcionários.Add(funcionário); }