public JsonResult AddDadosAdicionais(string p_Tipo, string p_Classificacao, string p_Valor)
        {
            TipoDadoAdicional          tipo          = _agendaService.ObterTipoDadoAdcional(p_Tipo);
            ClassificacaoDadoAdicional classificacao = _agendaService.ObterClassificacaoDado(p_Classificacao);
            DadoAdicional dado = new DadoAdicional
            {
                TipoDado          = tipo,
                ClassificacaoDado = classificacao,
                Valor             = p_Valor
            };

            return(Json(dado));
        }
Esempio n. 2
0
        private RetornoTO ValidarDadosContato(Contato p_Contato)
        {
            /*
             * Nome do contato é obrigatório
             *  Telefone do contato é obrigatório
             *  Um contato pode ter mais de um número de telefone, mas cada número deve possuir uma
             * classificação (casa, trabalho, outro)
             *  E-mail do contato é opcional
             *  Um contato pode ter mais de um e-mail, mas cada endereço deve possuir uma
             * classificação (casa, trabalho, outro)
             *  Empresa é um campo opcional
             *  Endereço é um campo opcional
             */

            if (p_Contato == null)
            {
                return(new RetornoTO {
                    Sucesso = false, Mensagem = "Dados do contato não informado!"
                });
            }

            List <string> erros = new List <string>();

            if (string.IsNullOrWhiteSpace(p_Contato.Nome))
            {
                erros.Add("Nome do contato é obrigatório!");
            }

            if (p_Contato.DadosAdicionais == null)
            {
                erros.Add("Telefone do contato é obrigatório!");
            }

            DadoAdicional dado = p_Contato.DadosAdicionais.Where(d => "TELEFONE".Equals(d.TipoDado.SiglaTipo)).FirstOrDefault();

            if (dado == null || string.IsNullOrWhiteSpace(dado.Valor))
            {
                erros.Add("Telefone do contato é obrigatório!");
            }
            else
            {
                foreach (var item in p_Contato.DadosAdicionais)
                {
                    if ("TELEFONE".Equals(item.TipoDado.SiglaTipo))
                    {
                        if (!ValidarTelefone(item.Valor))
                        {
                            erros.Add("Telefone inválido!");
                        }
                    }
                    else if ("EMAIL".Equals(item.TipoDado.SiglaTipo))
                    {
                        if (!ValidarEmail(item.Valor))
                        {
                            erros.Add("E-mail inválido!");
                        }
                    }
                }
            }

            if (erros.Count > 0)
            {
                string msg = string.Join("<br />", erros);
                return(new RetornoTO {
                    Sucesso = false, Mensagem = msg
                });
            }

            return(new RetornoTO {
                Sucesso = true
            });
        }