コード例 #1
0
        public IActionResult AlterarDados(int ID)
        {
            if (ID == 0 || ID < 0)
            {
                return(BadRequest());
            }

            /*Se o usuário logado tenta alterar os dados de outro usuário*/
            if (Convert.ToInt32(User.Claims.FirstOrDefault(c => c.Type == Constantes.IDUsuarioLogado).ValueType)
                != ID)
            {
                return(RedirectToAction("Index", "Home"));
            }

            NutricionistaAlteracaoVM nutricionistaAlteracaoVM = null;

            /*Buscar do banco*/
            NutricionistaAlteracao nutricionistaAlteracao = _ServiceNutricionista.ConsultarNutricionistaPorID(ID);

            if (nutricionistaAlteracao != null)
            {
                nutricionistaAlteracaoVM = new NutricionistaAlteracaoVM()
                {
                    ID               = nutricionistaAlteracao.ID,
                    CRN              = nutricionistaAlteracao.CRN.ToString(),
                    Login            = nutricionistaAlteracao.Login,
                    Nome             = nutricionistaAlteracao.Nome,
                    Senha            = nutricionistaAlteracao.Senha,
                    SenhaConfirmacao = nutricionistaAlteracao.Senha,
                    Telefone         = nutricionistaAlteracao.Telefone
                };
            }

            if (nutricionistaAlteracaoVM == null)
            {
                return(NoContent());
            }

            return(View(nutricionistaAlteracaoVM));
        }
コード例 #2
0
        public IActionResult LocalizarNutricionista(int pIndiceInicial, string pRua, string pCidade, string pBairro, string pCEP, string pUF, DateTime pDataInicio, DateTime pDataFim, string pNomeNutricionista, string mensagem)
        {
            ViewData[Constantes.ViewDataMensagemRetorno]  = mensagem;
            ViewData[Constantes.ViewDataActionFiltro]     = "FiltroLocalizarNutricionista";
            ViewData[Constantes.ViewDataControllerFiltro] = "Contrato";

            List <Agenda> agendas        = _ServiceAgenda.AgendasCadastradas(pDataInicio, pDataFim, 0, true);
            List <int>    nutricionistas = new List <int>();

            if (agendas.Any(d => d.DataInicio > Constantes.DateTimeNow()))
            {
                agendas        = agendas.Where(d => d.DataInicio > Constantes.DateTimeNow() && _ServiceContrato.AgendaDisponivelParaContratar(d.IdAgenda)).ToList();
                nutricionistas = agendas
                                 .Where(d => d.DataInicio > Constantes.DateTimeNow())
                                 .Select(c => c.IdUsuario)
                                 .Distinct()
                                 .ToList();
            }
            else
            {
                agendas = new List <Agenda>();
            }

            List <Endereco> enderecos = new List <Endereco>();



            foreach (int nutricionista in nutricionistas)
            {
                if (string.IsNullOrEmpty(pNomeNutricionista) || _ServiceNutricionista.ConsultarNutricionistaPorID(nutricionista).Nome.Equals(pNomeNutricionista))
                {
                    enderecos.AddRange(_ServiceEndereco.EnderecosCadastrados(
                                           nutricionista,
                                           pRua,
                                           pCidade,
                                           pBairro,
                                           pCEP,
                                           pUF));
                }
            }

            List <EnderecoAlteracaoVM> enderecosVm = new List <EnderecoAlteracaoVM>();

            if (enderecos.Any())
            {
                enderecosVm = enderecos.Distinct().Select(c => new EnderecoAlteracaoVM()
                {
                    ID          = c.IdEndereco,
                    Bairro      = c.Bairro,
                    CEP         = c.CEP,
                    Cidade      = c.Cidade,
                    Complemento = c.Complemento,
                    Logradouro  = c.Logradouro,
                    Numero      = c.Numero,
                    UF          = c.UF.GetDefaultValue()
                }).ToList();
            }

            List <AgendaListaContratoVM> listaAgendas = new List <AgendaListaContratoVM>();

            if (agendas.Any(c => _ServiceContrato.AgendaDisponivelParaContratar(c.IdAgenda)) && enderecosVm.Any())
            {
                listaAgendas = agendas.Join(enderecosVm,
                                            a => a.IdEndereco,
                                            e => e.ID,
                                            (agenda, endereco) => new AgendaListaContratoVM()
                {
                    IdAgenda       = agenda.IdAgenda,
                    IdUsuario      = agenda.IdUsuario,
                    DataFim        = agenda.DataFim,
                    DataInicio     = agenda.DataInicio,
                    StatusDaAgenda = StatusAgendaEnum.Ativa,
                    Endereco       = endereco
                }).ToList();
            }

            return(View(listaAgendas.Skip(pIndiceInicial).Take(Constantes.QuantidadeRegistrosPorPagina).OrderByDescending(c => c.DataInicio)));
        }