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