public object Post(FormularioModel model)
        {
            tbCuestionario cuestionarioResult = null;

            try
            {
                //Asigno nulos a las listas de paciente y cuestionario ya que modifican la salidan y nunca
                //Se utilizan como entrada
                model.Paciente.tbCuestionario             = null;
                model.Cuestionario.tbCuestionarioPregunta = null;

                //Inserto el request
                ServiceRequestBusiness serviceRequestBusiness = new ServiceRequestBusiness();
                tbRequest request = new tbRequest();

                Func <tbRequest, bool> predicado = p => p.req_codigo == model.CodigoRequest;
                request = ((List <tbRequest>)serviceRequestBusiness.Read(predicado)).FirstOrDefault();

                if (request != null)
                {
                    if (request.req_body_response != null)
                    {
                        model = JsonConvert.DeserializeObject <FormularioModel>(request.req_body_response);
                        log.Info("Retorno el modelo almacenado en DB_DACS: " + JsonConvert.SerializeObject(model));
                        return(Request.CreateResponse(HttpStatusCode.Created, model));
                    }
                    else
                    {
                        //Tengo que procesar todo nuevemente
                        model = JsonConvert.DeserializeObject <FormularioModel>(request.req_body_request);
                        cuestionarioResult = InsertFormulario(model);
                    }
                }
                else
                {
                    //Insert bd local
                    request = new tbRequest()
                    {
                        req_fecha_request  = DateTime.Now,
                        req_fecha_response = null,
                        req_body_request   = JsonConvert.SerializeObject(model),
                        req_estado         = false,
                        req_codigo         = model.CodigoRequest
                    };
                    //Creo objeto en base local
                    serviceRequestBusiness.Create(request);

                    cuestionarioResult = InsertFormulario(model);
                }

                if (cuestionarioResult != null)
                {
                    //Actualizo tabla request
                    request.req_fecha_response = DateTime.Now;
                    request.req_body_response  = JsonConvert.SerializeObject(model);
                    request.req_estado         = true;
                    serviceRequestBusiness.Update(request);

                    //Actualizo el modelo con los datos del paciente almacenado
                    model.Paciente.pac_dni = (this.ObtenerPaciente(model.Paciente.pac_dni)).pac_dni;

                    //Actualizo el modelo con los datos del cuestionario insertado
                    var cuestionarioResponse = (tbCuestionario)cuestionarioResult;
                    model.Cuestionario.cue_id = cuestionarioResponse.cue_id;
                    model.Cuestionario.pac_id = model.Paciente.pac_id;
                    model.ListaCuestionarioPregunta.ForEach(x => x.cue_id = cuestionarioResponse.cue_id);

                    return(Request.CreateResponse(HttpStatusCode.Created, model));
                }
                else
                {
                    return(Request.CreateResponse(HttpStatusCode.InternalServerError, "No se inserto registros."));
                }
            }
            catch (Exception ex)
            {
                log.Error("Mensaje de Error: " + ex.Message);
                if (ex.InnerException != null)
                {
                    log.Error("Inner exception: " + ex.InnerException.Message);
                }
                throw ex;
            }
        }
        public HttpResponseMessage Post([FromBody] ItrisPlanillaEntity model)
        {
            log.Info("- Ingreso -");
            HttpResponseMessage response = new HttpResponseMessage();

            try
            {
                ServiceRequestBusiness serviceRequestBusiness = new ServiceRequestBusiness();
                tbRequest request = new tbRequest();

                //Valido request en DACS
                Func <tbRequest, bool> predicado = p => p.req_codigo == model.CodigoRequest;
                request = ((List <tbRequest>)serviceRequestBusiness.Read(predicado)).FirstOrDefault();

                if (request != null)
                {
                    if (request.req_body_response != null)
                    {
                        model = JsonConvert.DeserializeObject <ItrisPlanillaEntity>(request.req_body_response);
                        log.Info("Retorno el modelo almacenado en DB_DACS: " + JsonConvert.SerializeObject(model));
                        return(Request.CreateResponse(HttpStatusCode.Created, model));
                    }
                    else
                    {
                        //Envio nuevamente el request a itris si no se proceso
                        model = JsonConvert.DeserializeObject <ItrisPlanillaEntity>(request.req_body_request);
                        this.PostItris(model);
                    }
                }
                else
                {
                    //Insert bd local
                    request = new tbRequest()
                    {
                        req_fecha_request  = DateTime.Now,
                        req_fecha_response = null,
                        req_body_request   = JsonConvert.SerializeObject(model),
                        req_estado         = false,
                        req_codigo         = model.CodigoRequest
                    };
                    //Creo objeto en base local
                    serviceRequestBusiness.Create(request);

                    //Inserts itris
                    this.PostItris(model);
                }

                //PERSISTENCIA ITRIS OK => ACTUALIZO BASE LOCAL CON OK
                if (model.Relevamiento.ID != 0)
                {
                    request.req_fecha_response = DateTime.Now;
                    request.req_body_response  = JsonConvert.SerializeObject(model);
                    request.req_estado         = true;
                    serviceRequestBusiness.Update(request);

                    response = Request.CreateResponse(HttpStatusCode.Created, model);
                }
                else
                {
                    response = Request.CreateResponse(HttpStatusCode.InternalServerError, "Itris no inserto registros.");
                }
            }
            catch (Exception ex)
            {
                log.Error("Mensaje de Error: " + ex.Message);
                if (ex.InnerException != null)
                {
                    log.Error("Inner exception: " + ex.InnerException.Message);
                }

                response = Request.CreateResponse(HttpStatusCode.BadRequest, ex.Message);
            }

            log.Info("Retorna objeto: " + JsonConvert.SerializeObject(model));
            log.Info("- Salio -");

            return(response);
        }