Esempio n. 1
0
        private bool PermiteAgendar(List <Agendamento> agenda, ServicoSolicitado servicoParaAgendar, DateTime dataAgendamento)
        {
            DateTime dataTerminoParaAgendar = dataAgendamento.AddMinutes(servicoParaAgendar.Servico.MinutosParaExecucao);

            return(agenda.Any(a => a.Data >= dataAgendamento &&
                              (a.Servico.Funcionario.CargoFuncionario == servicoParaAgendar.Funcionario.CargoFuncionario) &&
                              (a.Status != StatusAgendamento.CanceladoPeloSalao || a.Status != StatusAgendamento.CanceladoPeloCliente)) &&
                   agenda.Any(a => a.Data <= dataTerminoParaAgendar &&
                              (a.Status != StatusAgendamento.CanceladoPeloSalao || a.Status != StatusAgendamento.CanceladoPeloCliente)) ||
                   dataAgendamento < DateTime.Now);
        }
Esempio n. 2
0
 public bool Incluir(Cliente cliente, ServicoSolicitado servico, DateTime data,
                     List <Agendamento> agenda, string anotacao = "")
 {
     if (PermiteAgendar(agenda, servico, data))
     {
         return(false);
     }
     else
     {
         Cliente  = cliente;
         Servico  = servico;
         Data     = data;
         Anotacao = anotacao;
         return(true);
     }
 }
Esempio n. 3
0
        public bool AlterarAgendamento(Cliente cliente, ServicoSolicitado novoServico,
                                       DateTime novaData, List <Agendamento> agenda, string novaAnotacao = "")
        {
            if (PermiteAgendar(agenda, novoServico, novaData))
            {
                return(false);
            }
            else
            {
                novoServico.Status = ServicoSolicitado.StatusServico.Reagendado;
                Cliente            = cliente;
                Servico            = novoServico;
                Data     = novaData;
                Anotacao = novaAnotacao;

                return(true);
            }
        }