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); }
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); } }
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); } }