Exemplo n.º 1
0
        public IActionResult CadastrarEndereco(EnderecoVM pModel)
        {
            ViewData[Constantes.ViewDataMensagemErro] = ViewData[Constantes.ViewDataMensagemRetorno] = null;

            try
            {
                if (!ModelState.IsValid)
                {
                    return(View(pModel));
                }

                UnidadeFederacaoEnum unidadeFeracao = Enum.GetValues(typeof(UnidadeFederacaoEnum))
                                                      .Cast <UnidadeFederacaoEnum>()
                                                      .FirstOrDefault(v => v.GetDescription().Equals(pModel.UF));

                int IdUsuario = Convert.ToInt32(User.Claims.FirstOrDefault(c => c.Type == Constantes.IDUsuarioLogado).ValueType);

                _ServiceEndereco.CadastrarEndereco(new Endereco(
                                                       IdUsuario,
                                                       pModel.Logradouro,
                                                       pModel.Bairro,
                                                       pModel.Cidade,
                                                       pModel.CEP,
                                                       unidadeFeracao
                                                       )
                {
                    Numero      = pModel?.Numero,
                    Complemento = pModel.Complemento == null ? string.Empty : pModel.Complemento
                });

                ViewData[Constantes.ViewDataMensagemRetorno] = $"Endereço {pModel.Logradouro}, {pModel.Numero}. {pModel.Cidade} - {unidadeFeracao.GetDefaultValue()}.{Environment.NewLine}Cadastrado com sucesso!";

                ModelState.Clear();

                return(RedirectToAction("EnderecosCadastrados", "Nutricionista", new { pMensagem = ViewData[Constantes.ViewDataMensagemRetorno] }));
            }
            catch (Exception ex)
            {
                ViewData[Constantes.ViewDataMensagemErro] = ex.Message;
                return(View());
            }
        }