Example #1
0
        public ActionResult Inserir([FromHeader] string ibge, [FromBody] Familia model)
        {
            try
            {
                if (model.id_responsavel == null)
                {
                    return(BadRequest(TrataErro.GetResponse("O prenchimento de um responsável para a família é obrigatório!", true)));
                }

                ibge = _config.GetConnectionString(Helpers.Connection.GetConnection(ibge));
                if (model.id_domicilio != null)
                {
                    var domicio = _estabelecimentorepository.GetEstabelecimentoById(ibge, (int)model.id_domicilio);
                    if (domicio.zona == 0)
                    {
                        model.area_prod_rural = null;
                    }
                    else if (domicio.zona == 1)
                    {
                        if (domicio.tipo_imovel == 6 || domicio.tipo_imovel == 7 || domicio.tipo_imovel == 8 || domicio.tipo_imovel == 9 || domicio.tipo_imovel == 10)
                        {
                            model.area_prod_rural = null;
                        }
                    }
                }

                model.id = _repository.GetNewId(ibge);
                _repository.Insert(ibge, model);
                _repository.AtualizaCadPacFamilia(ibge, (int)model.id, (int)model.id_responsavel);

                return(Ok(model));
            }
            catch (Exception ex)
            {
                var response = TrataErro.GetResponse(ex.Message, true);
                return(StatusCode((int)HttpStatusCode.InternalServerError, response));
            }
        }