public FuncionarioServico Create(FuncionarioServico funcionarioServico) { var funcionario = _repoFuncionario.FindById(funcionarioServico.FuncionarioId); var servico = _repoServico.FindById(funcionarioServico.ServicoId); if (funcionario == null || servico == null) { return(null); } var f = funcionario.FuncionarioServico.Find(fs => fs.ServicoId == funcionarioServico.ServicoId); if (f != null) { return(null); } return(_repoFuncionarioServico.Create(funcionarioServico)); }
public Agendamento Create(Agendamento agendamento) { var cliente = _repoCliente.FindById(agendamento.ClienteId); var servico = _repoServico.FindById(agendamento.ServicoId); if (cliente == null || servico == null) { return(null); } // Adiciona o funcionário que realiza o serviço solicitado. var funcionarioServico = _repoFuncionarioServico.FindByIdServico(servico.Id).FirstOrDefault(); if (funcionarioServico == null) { return(null); } agendamento.Funcionario = funcionarioServico.Funcionario; agendamento.DataTermino = agendamento.Data.Value.AddMinutes(servico.MinutosParaExecucao); var agenda = _repoAgendamento.FindAll(); if (agenda.Count < 1) { return(_repoAgendamento.Create(agendamento)); } DateTime dataTerminoParaAgendar = agendamento.Data.Value.AddMinutes(servico.MinutosParaExecucao); if (agenda.Any(a => a.DataTermino >= agendamento.Data && a.Data <= dataTerminoParaAgendar && a.Funcionario == funcionarioServico.Funcionario)) { return(null); } return(_repoAgendamento.Create(agendamento)); }
public Servico FindById(int id) { return(_repoServico.FindById(id)); }