Пример #1
0
        public object Post([FromBody] Dictionary <string, string> dados)
        {
            var validator = new PessoaValidator();
            var pessoa    = new Pessoa()
            {
                nome      = dados.ContainsKey("nome") ? dados["nome"] : null,
                sexo      = dados.ContainsKey("sexo") ? dados["sexo"] : null,
                endereco  = dados.ContainsKey("endereco") ? dados["endereco"] : null,
                documento = dados.ContainsKey("documento") ? dados["documento"] : null
            };

            try {
                DateTime date;
                if (DateTime.TryParse(dados["dataNascimento"], out date))
                {
                    pessoa.dataNascimento = date;
                }

                var result = validator.Validate(pessoa);

                if (!result.IsValid)
                {
                    return(StatusCode(422, result.Errors.Select(r => r.ErrorMessage)));
                }

                _repositorio.Add(pessoa);
            } catch (Exception e) {
                Console.WriteLine("Erro em ApiController::107-126: " + e.Message);
                return(StatusCode(500, "Falha no processamento da informação"));
            }

            return(pessoa);
        }
Пример #2
0
 public ManterPessoasServices(
     IContratoGlobalRepository repository,
     IPessoasRepository pessoaRepository,
     PessoaValidator pessoaValidator)
     : base(repository)
 {
     this.pessoaRepository = pessoaRepository;
     this.pessoaValidator  = pessoaValidator;
 }
Пример #3
0
        private static void Validar(Pessoa pessoa)
        {
            var validator = new PessoaValidator();

            validator.ValidateAndThrow(pessoa);
        }
Пример #4
0
        public object Put(int id, [FromBody] Dictionary <string, string> dados)
        {
            if (!dados.ContainsKey("id"))
            {
                dados.Add("id", id.ToString());
            }
            else
            {
                dados["id"] = id.ToString();
            }

            var pessoa = _repositorio.Get(id);

            if (!(pessoa is Pessoa))
            {
                return(StatusCode(500, "Nenhum registro encontrado com o código informado."));
            }

            foreach (var chave in dados.Keys)
            {
                if (chave == "id")
                {
                    continue;
                }

                if (chave == "dataNascimento")
                {
                    pessoa.dataNascimento = null;

                    DateTime date;
                    if (DateTime.TryParse(dados["dataNascimento"], out date))
                    {
                        pessoa.dataNascimento = date;
                    }
                }
                else
                {
                    var propertyInfo = pessoa.GetType().GetProperty(chave);
                    propertyInfo.SetValue(pessoa, Convert.ChangeType(dados[chave], propertyInfo.PropertyType), null);
                }
            }

            var validator = new PessoaValidator();
            var result    = validator.Validate(pessoa);

            if (!result.IsValid)
            {
                return(StatusCode(422, result.Errors.Select(r => r.ErrorMessage)));
            }

            try {
                _repositorio.Update(pessoa);

                Dictionary <string, string> retorno = new Dictionary <string, string>()
                {
                    { "success", "true" }
                };

                return(Json(retorno));
            } catch (Exception e) {
                Console.WriteLine("Erro na atualização de pessoa: " + e.Message);
                return(StatusCode(500, "Falha no processamento da informação"));
            }
        }
Пример #5
0
 public MainViewModel()
 {
     Pessoa         = new Pessoa();
     _validator     = new PessoaValidator();
     ValidarCommand = new Command(ValidarCommandExecute);
 }