Exemple #1
0
        /// <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();
		}