/// <summary> /// Constrói um horário já cadastrado. /// </summary> internal static Horário CriarHorárioCadastrado(Entidades.Pessoa.Funcionário funcionário, DayOfWeek diaSemana, ushort iniHora, ushort iniMinuto, ushort fimHora, ushort fimMinuto) { Horário horário = new Horário(funcionário, diaSemana, iniHora, iniMinuto, fimHora, fimMinuto); horário.DefinirCadastrado(); horário.DefinirAtualizado(); return horá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> /// Remove horário da tabela. /// </summary> /// <param name="horário">Horário a ser removido.</param> public void Remover(Horário horário) { if (listaRemoção == null) listaRemoção = new List<Horário>(); horários.Remove(horário); listaRemoção.Add(horário); DefinirDesatualizado(); }
/// <summary> /// Adiciona um horário à tabela. /// </summary> /// <param name="horário">Horário a ser adicionado.</param> public void Adicionar(Horário horário) { foreach (Horário aux in horários) if (aux.DiaSemana == horário.DiaSemana && aux <= horário) if (aux.FimHora > horário.IniHora || (aux.FimHora == horário.IniHora && aux.FimMinuto > horário.IniMinuto)) throw new ExceçãoHorárioSobreposto(aux.Funcionário, aux, horário); horários.Add(horário); horários.Sort(); DefinirDesatualizado(); }