Example #1
0
 private void SetRepositories()
 {
     _usuarioRepository  = new UsuarioRepository(Context);
     _medicoRepository   = new MedicoRepository(Context);
     _pacienteRepository = new PacienteRepository(Context);
     _agendaRepository   = new AgendamentoRepository(Context);
 }
Example #2
0
 public ActionResult OnPost()
 {
     if (!ModelState.IsValid)
     {
         @erroNome = "Selecione os dados de agendamento!";
         Context context = Program.Base;
         clienteLista = context.Clientes.ToList();
         return(Page());
     }
     try
     {
         string dtInicio = Request.Form["dtInicio"].ToString();
         string dtFinal  = Request.Form["dtFinal"].ToString();
         Agendamento.DtInicio = Convert.ToDateTime(dtInicio);
         Agendamento.DtFinal  = Convert.ToDateTime(dtFinal);
         Guid clienteId    = new Guid(Request.Form["cliente"].ToString());
         var  agendamento1 = new portalManutencao.Domain.Agendamentos.Agendamento(clienteId, Agendamento.DtInicio, Agendamento.DtFinal);
         AgendamentoRepository _agendamentoRepository = new AgendamentoRepository(Program.Base);
         _agendamentoRepository.Add(agendamento1);
         return(RedirectToPage("VerAgendamento"));
     }
     catch (Exception ex)
     {
         @erroNome = ex.Message;
         Context context = Program.Base;
         clienteLista = context.Clientes.ToList();
         return(Page());
     }
 }
Example #3
0
 public AgendamentosController()
 {
     AgendamentoRepository        = new AgendamentoRepository();
     ClienteRepository            = new ClienteRepository();
     LojistaRepository            = new LojistaRepository();
     UsuarioRepository            = new UsuarioRepository();
     ProdutoAgendamentoRepository = new ProdutoAgendamentoRepository();
 }
Example #4
0
        public ActionResult Delete(Guid Id)
        {
            var cont = new DesignTimeDbContextFactory();
            AgendamentoRepository _agendamentoRepository = new  AgendamentoRepository(Program.Base);
            Task <Agendamento>    resultado  = _agendamentoRepository.Get(Id);
            Agendamento           resultado1 = Agendamento.Carregar(Id, resultado.Result.ClienteId, resultado.Result.DtInicio, resultado.Result.DtFinal);

            _agendamentoRepository.Delete(resultado1);
            return(RedirectToPage("VerAgendamento"));
        }
        protected override async Task ExecuteAsync(CancellationToken stoppingToken)
        {
            await Task.Delay(120000, stoppingToken);

            while (!stoppingToken.IsCancellationRequested)
            {
                try
                {
                    var notificacao             = new DomainNotificationHandler();
                    var _iAgendamentoRepository = new AgendamentoRepository(notificacao);

                    //Caso haja exceção na instância do BD, notifica erro
                    if (notificacao.HasNotifications())
                    {
                        Serilog.Log.Logger.Error($"Worker error at: {notificacao.GetShowNotifications().FirstOrDefault()}", DateTimeOffset.Now);
                        notificacao.Dispose();
                    }
                    else
                    {
                        var agendamentos = _iAgendamentoRepository.BuscarAgendamentos();

                        //Caso haja exceção na consulta dos agendamentos no banco, notifica erro
                        if (notificacao.HasNotifications())
                        {
                            Serilog.Log.Logger.Error($"Worker error at: {notificacao.GetShowNotifications().FirstOrDefault()}", DateTimeOffset.Now);
                            notificacao.Dispose();
                        }

                        //processa os agendamentos encontrados
                        agendamentos?.ToList().ForEach(agendamento =>
                        {
                            //Start Processamento
                            new ProcessaService(notificacao).IniciarProcessamento(agendamento);

                            //Caso haja exceção na consulta dos agendamentos no banco, notifica erro
                            if (notificacao.HasNotifications())
                            {
                                Serilog.Log.Logger.Error($"Worker error at: {notificacao.GetShowNotifications().FirstOrDefault()}", DateTimeOffset.Now);
                                notificacao.Dispose();
                            }
                        });
                    }
                }
                catch (Exception ex)
                {
                    Serilog.Log.Logger.Error($"Worker error at: {ex.Message}", DateTimeOffset.Now);
                }
            }
        }
Example #6
0
        [Authorize(Roles = "Administrador, Cliente")]//Determina qual tipo de usuário pode utilizar esse Método
        public IActionResult Cadastrar(Agendamentos agendamento, List <int> produtos)
        {
            try
            {
                AgendamentoRepository.Cadastrar(agendamento, produtos); //Utiliza o método Cadastrar e passa o agendamento e um coleção de int informado pelo Post e armazena no Banco de dados

                return(Ok());                                           //retorna 200 OK
            }
            catch (Exception ex)                                        //Armazena um erro caso as instruções acima não consigam ser executadas armazenando na variável ex do tipo
            {
                return(BadRequest(new                                   //Criando e retornando a mensagem de erro que será enviada
                {
                    mensagem = "Erro: " + ex                            // Inserindo erro na mensagem
                }));
            }
        }
Example #7
0
        [Authorize(Roles = "Administrador")] //Determina qual tipo de usuário pode utilizar esse Método
        public IActionResult Listar()
        {
            try
            {
                List <Agendamentos>        agendamentos        = AgendamentoRepository.ListarTodos();                        // Cria uma lista do tipo Agendamentos Arrmazenando Todos os agendamentos cadastrados
                List <ProdutoAgendamentos> produtosgendamentos = ProdutoAgendamentoRepository.ListarProdutoComAgendamento(); // Cria uma lista do tipo ProdutoAgendamentos Arrmazenando Todos os ProdutoAgendamentos cadastrados

                var produtoagendamento = from c in produtosgendamentos                                                       //Determina como será apresentado o Json que será enviado como resultado
                                         select new
                {
                    IdAgendamento = c.IdAgendamentoNavigation.Id,
                    IdProduto     = c.IdProdutosNavigation.Id,
                    IdNomeProduto = c.IdProdutosNavigation.Titulo
                };

                var retorno = from c in agendamentos //Determina como será apresentado o Json que será enviado como resultado
                              select new
                {
                    Id                   = c.Id,
                    clienteCpf           = c.IdClienteNavigation.Cpf,
                    clienteRG            = c.IdClienteNavigation.Rg,
                    nomecliente          = c.IdClienteNavigation.IdUsuarioNavigation.Nome,
                    clienteEndereco      = c.IdClienteNavigation.Endereco,
                    nomeLojista          = c.IdLojistaNavigation.IdUsuarioNavigation.Nome,
                    dataAgendamento      = c.DataAgendamento,
                    dataCriacao          = c.DataCriacao,
                    statusAgendamento    = c.IdStatusNavigation.Nome,
                    idProdutoAgendamento = produtoagendamento
                };
                return(Ok(retorno));         // retorna 200 Ok
            }
            catch (Exception ex)             //Armazena um erro caso as instruções acima não consigam ser executadas armazenando na variável ex do tipo
            {
                return(BadRequest(new        //Criando e retornando a mensagem de erro que será enviada
                {
                    mensagem = "Erro: " + ex // Inserindo erro na mensagem
                }));
            }
        }
        public bool ExcluirPaciente(int?id)
        {
            try
            {
                if (id != null)
                {
                    var agRepository = new AgendamentoRepository();

                    var paciente = repository.Find(id);

                    if (paciente != null)
                    {
                        repository.Delete(x => x.IdPaciente == id);
                        return(true);
                    }
                }

                return(false);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Example #9
0
        [Authorize(Roles = "Cliente")]//Determina qual tipo de usuário pode utilizar esse Método
        public IActionResult ListarPorLogado()
        {
            try
            {
                int    usuarioId   = Convert.ToInt32(HttpContext.User.Claims.First(c => c.Type == JwtRegisteredClaimNames.Jti).Value); //Busca o Id do usuário pelo token informado no header da solicitação
                string usuarioTipo = HttpContext.User.Claims.First(c => c.Type == ClaimTypes.Role).Value.ToString();                   //Busca o Tipo do usuário pelo token informado no header da solicitação

                if (usuarioTipo == "Lojista")                                                                                          // Verifica se a pessoa logado é do tipo Lojista
                {
                    Usuarios procurado = UsuarioRepository.BuscarPorId(usuarioId);                                                     // Busca um usuário por Id

                    List <Agendamentos> agendamento = AgendamentoRepository.ListarporIdLojista(usuarioId);                             //Cria uma lista de Agendamentos que possui os agendamentos do lojista logado

                    var retorno = from c in agendamento                                                                                //Determina como será apresentado o Json que será enviado como resultado
                                  select new
                    {
                        id              = c.Id,
                        nomecliente     = c.IdClienteNavigation.IdUsuarioNavigation.Nome,
                        clienteCpf      = c.IdClienteNavigation.Cpf,
                        clienteRG       = c.IdClienteNavigation.Rg,
                        clienteEnd      = c.IdClienteNavigation.Endereco,
                        nomeLojista     = c.IdClienteNavigation.IdUsuarioNavigation.Nome,
                        dataAgendamento = c.DataAgendamento,
                        dataCriacao     = c.DataCriacao,
                        statusConsulta  = c.IdStatusNavigation.Nome
                    };

                    return(Ok(retorno));                                                                   // retorna 200 Ok
                }
                else if (usuarioTipo == "Cliente")                                                         // Verifica se a pessoa logado é do tipo Cliente
                {
                    Usuarios procurado = UsuarioRepository.BuscarPorId(usuarioId);                         // Busca um usuário por Id

                    List <Agendamentos> agendamento = AgendamentoRepository.ListarporIdCliente(usuarioId); //Cria uma lista de Agendamentos que possui os agendamentos do Cliente logado

                    var retorno = from c in agendamento                                                    //Determina como será apresentado o Json que será enviado como resultado
                                  select new
                    {
                        id                = c.Id,
                        nomecliente       = c.IdClienteNavigation.IdUsuarioNavigation.Nome,
                        clienteCpf        = c.IdClienteNavigation.Cpf,
                        clienteRG         = c.IdClienteNavigation.Rg,
                        clienteEnd        = c.IdClienteNavigation.Endereco,
                        nomeLojista       = c.IdClienteNavigation.IdUsuarioNavigation.Nome,
                        dataAgendamento   = c.DataAgendamento,
                        dataCriacao       = c.DataCriacao,
                        StatusAgendamento = c.IdStatusNavigation.Nome
                    };

                    return(Ok(retorno)); // retorna 200 Ok
                }
                else // caso a pessoa logada não seja nem um lojista nem um cliente retorna 400 BadRequest
                {
                    return(BadRequest()); // Retorna BadRequest 400
                }
            }
            catch (Exception ex)             //Armazena um erro caso as instruções acima não consigam ser executadas armazenando na variável ex do tipo
            {
                return(BadRequest(new        //Criando e retornando a mensagem de erro que será enviada
                {
                    mensagem = "Erro: " + ex // Inserindo erro na mensagem
                }));
            }
        }
 public AgendamentoController(IMapper mapper)
 {
     _agendamento = new AgendamentoRepository();
     _mapper      = mapper;
 }
Example #11
0
 public AgendamentoController()
 {
     repo = new AgendamentoRepository();
 }
        public void GetAgendamentoDtoAuto(long value)
        {
            var dto = new AgendamentoRepository().GetAgendamentoDto(value);

            ReturnSession.ReturnObj = dto;
        }