public void Agendar(long idEmpresa, DateTime data, long idServico, long idCliente, long idFuncionario, string guidUsuarioAgendou)
        {
            try
            {
                //if (data < DateTime.Now.FirstHourOfDay().AddMonths(-1))
                //    { throw new AtendimentoInvalidoException("Data inválido."); }

                //if (data.DateHourMinute() < DateTime.Now.DateHourMinute())
                //{ throw new AtendimentoInvalidoException("Data inválida, não é possível realizar um agendamento para o passado."); }

                ClienteModel cliente = svCliente.Find(idCliente);
                if (cliente.IsNull())
                {
                    throw new AtendimentoInvalidoException("Cliente inválido.");
                }

                ServicoModel servico = svServico.Find(idServico);
                if (servico.IsNull())
                {
                    throw new AtendimentoInvalidoException("Serviço inválido.");
                }

                FuncionarioModel funcionario = svFuncionario.Find(idFuncionario);
                if (funcionario.IsNull())
                {
                    throw new AtendimentoInvalidoException("Funcionário inválido.");
                }

                AtendimentoModel agendamentoCadastrado = _repository.GetAtendimento(cliente.Id, servico.Id, funcionario.Id, data.DateHourMinute());
                if (agendamentoCadastrado.IsNotNull())
                {
                    throw new AtendimentoInvalidoException("Já existe um atendimento para este cliente com este funcionário neste horário.");
                }

                EmpresaModel empresa = svEmpresa.Find(idEmpresa);

                AtendimentoModel a = new AtendimentoModel(empresa, data.DateHourMinute(), cliente, servico, funcionario, guidUsuarioAgendou, servico.Preco);

                _repository.Save(a);
            }
            catch (DomainException dEx)
            {
                Logger.Log.Warn(dEx);
                throw;
            }
            catch (Exception ex)
            {
                Logger.Log.Error(ex);
                throw;
            }
        }
Example #2
0
        // GET: Cliente/Details/5
        public ActionResult Details(long id)
        {
            ClienteModel     Cliente     = sv.Find(id);
            ClienteViewModel ClienteView = _mapp.Map <ClienteViewModel>(Cliente);

            List <FiltrosReportView> Origens = svOrigem.ListarFiltro(UsuarioLogado.IdEmpresa).ToList();

            ClienteView.Origens           = new SelectList(Origens, "Id", "Nome");
            ClienteView.OrigemSelecionada = Cliente.IdOrigem;

            OrigemModel Origem = svOrigem.Find(Cliente.IdOrigem);

            if (Origem.IsNotNull())
            {
                ClienteView.Origem = Origem;
            }

            List <AtendimentoReportView> atendimentos = svAtendimento.Relatorio(UsuarioLogado.IdEmpresa, DateTime.Now.AddMonths(-6).FirstDayOfMonth(),
                                                                                DateTime.Now.LastHourOfDay(),
                                                                                id,
                                                                                null,
                                                                                null,
                                                                                null,
                                                                                null,
                                                                                null);

            //List<AtendimentoViewModel> listView = new List<AtendimentoViewModel>();
            //if (atendimentos.IsNotNull())
            //{
            //    atendimentos.ForEach(o => listView.Add(_mapp.Map<AtendimentoViewModel>(o)));
            //}

            ClienteView.Historico = atendimentos;

            return(View(ClienteView));
        }
Example #3
0
        public void CleanUp()
        {
            ListaNomesToDelete.Add("Leo 5");
            ListaNomesToDelete.Add("Leo 4");
            ListaNomesToDelete.Add("Leo 3");
            ListaNomesToDelete.Add("Leo 2");
            ListaNomesToDelete.Add("Leo 1");
            ListaNomesToDelete.Add("DeleteCliente");
            ListaNomesToDelete.Add("RecoverCliente");
            ListaNomesToDelete.Add("Cliente_SemTelefone2");
            ListaNomesToDelete.Add("Cliente_Telefone1Valido");
            ListaNomesToDelete.Add("Leonardo");
            ListaNomesToDelete.Add("Leo Renomeado");
            ListaNomesToDelete.Add("Cliente_Telefone1Valido");


            if (ListaNomesToDelete.IsNotNull() || ListaNomesToDelete.Count > 0)
            {
                ListaNomesToDelete.ForEach(nome =>
                {
                    ClienteModel c = sv.Find(_empresa.Id, nome);
                    if (c.IsNotNull())
                    {
                        repoCliente.Delete(c.Id);
                    }
                });
            }

            OrigemModel o = svOrigem.Find(_empresa.Id, "Indicação Teste");

            if (o.IsNotNull())
            {
                repoOrigem.Delete(o.Id);
            }

            DeleteEmpresa();
        }