public HttpResponseMessage PutDatosDiagnostico([FromBody] FloraNuevaProductor FloraNuevaDatosDianostico)
        {
            if (FloraNuevaDatosDianostico == null)
            {
                throw new ArgumentNullException();
            }

            var response = Request.CreateResponse <FloraNuevaProductor>(HttpStatusCode.Created, FloraNuevaDatosDianostico);

            Engine.EngineDb FuncionDb          = new Engine.EngineDb();
            int             ExisteSyncIniciada = FuncionDb.ExisteSyncIniciada();

            if (ExisteSyncIniciada == -200)                                                                                          // VALIDAR SINCRONIZACION EN PROCESO
            {
                response.Headers.Location = new Uri(EngineData.Sitio + "SeleccionIdentificador/" + Engine.EngineData.SyncEnProceso); // EXISTE SINCRONIZACION EN PROCESO
                return(response);
            }

            int n = FuncionDb.ExisteIdentificador(FloraNuevaDatosDianostico.MiProductor.Identificador);

            if (n == 0)
            {
                response.Headers.Location = new Uri(EngineData.Sitio + "SeleccionIdentificador/" + Engine.EngineData.NoExisteIdentificador);// NO EXISTE IDENTIFICADOR
                return(response);
            }

            n = FuncionDb.InsertarActualizarProductor(FloraNuevaDatosDianostico.MiProductor, "Sp_ActualizarProductor");
            if (n == -1)
            {
                if (FloraNuevaDatosDianostico.MiProductorDocumentoEntregado != null)
                {
                    n = FuncionDb.InsertarActualizarProductorDocumentoEntregado(FloraNuevaDatosDianostico.MiProductorDocumentoEntregado, FloraNuevaDatosDianostico.MiProductor.Identificador, "Sp_ActualizarProductorDocumentoEntregado");
                    if (n == -1)
                    {
                        response.Headers.Location = new Uri(EngineData.Sitio + "SeleccionIdentificador/" + FloraNuevaDatosDianostico.MiProductor.Identificador.ToString().ToUpper());// ACTUALIZADO EXITOSAMENTE
                    }
                    else
                    {
                        response.Headers.Location = new Uri(EngineData.Sitio + "SeleccionIdentificador/" + Engine.EngineData.FalloActualizarProductorDocumentoEntregado);// FALLO ACTUALIZACION
                    }
                }
                else
                {
                    response.Headers.Location = new Uri(EngineData.Sitio + "SeleccionIdentificador/" + FloraNuevaDatosDianostico.MiProductor.Identificador.ToString().ToUpper());// ACTUALIZADO EXITOSAMENTE
                }
            }
            else
            {
                response.Headers.Location = new Uri(EngineData.Sitio + "SeleccionIdentificador/" + Engine.EngineData.FalloActualizarProductor);// FALLO ACTUALIZACION
            }

            return(response);
        }
        public HttpResponseMessage PostNuevoRegistroProductor([FromBody] FloraNuevaProductor FloraNuevaRegistro)
        {
            if (FloraNuevaRegistro.MiProductor == null)
            {
                throw new ArgumentNullException();
            }

            var response = Request.CreateResponse <FloraNuevaProductor>(HttpStatusCode.Created, FloraNuevaRegistro);

            Engine.EngineDb FuncionDb          = new Engine.EngineDb();
            int             ExisteSyncIniciada = FuncionDb.ExisteSyncIniciada();

            if (ExisteSyncIniciada == -200)                                                                                          // VALIDAR SINCRONIZACION EN PROCESO
            {
                response.Headers.Location = new Uri(EngineData.Sitio + "SeleccionIdentificador/" + Engine.EngineData.SyncEnProceso); // EXISTE SINCRONIZACION EN PROCESO
                return(response);
            }

            int n = FuncionDb.ExisteNumeroCedula(FloraNuevaRegistro.MiProductor.NumeroCedula);

            if (n >= 1)
            {
                response.Headers.Location = new Uri(EngineData.Sitio + "SeleccionIdentificador/" + Engine.EngineData.ExisteNumeroCedula);// EXISTE NUMERO DE CEDULA
                return(response);
            }

            n = FuncionDb.ExisteCodigoFloraNueva(FloraNuevaRegistro.MiProductor.CodigoFloraNueva);
            if (n >= 1)
            {
                response.Headers.Location = new Uri(EngineData.Sitio + "SeleccionIdentificador/" + Engine.EngineData.ExisteCodigoFloraNueva);// EXISTE CODIGO FLORA NUEVA
                return(response);
            }

            int existeIdentificador = 1;

            while (existeIdentificador >= 1)
            {
                FloraNuevaRegistro.MiProductor.Identificador = Engine.EngineFloraNueva.IdentificadorReg().ToString();
                existeIdentificador = FuncionDb.ExisteIdentificador(FloraNuevaRegistro.MiProductor.Identificador);
            }

            n = FuncionDb.InsertarActualizarProductor(FloraNuevaRegistro.MiProductor, "Sp_InsertarProductor");
            if (n == -1)
            {
                n = FuncionDb.InsertarActualizarProductorDocumentoEntregado(FloraNuevaRegistro.MiProductorDocumentoEntregado, FloraNuevaRegistro.MiProductor.Identificador, "Sp_ActualizarProductorDocumentoEntregado");
                if (n == -1)
                {
                    response.Headers.Location = new Uri(EngineData.Sitio + "SeleccionIdentificador/" + FloraNuevaRegistro.MiProductor.Identificador.ToString().ToUpper());// INSERTADO EXITOSAMENTE
                }
                else
                {
                    response.Headers.Location = new Uri(EngineData.Sitio + "SeleccionIdentificador/" + Engine.EngineData.FalloNuevoProductor);// FALLO INSERCION
                }
            }
            else
            {
                response.Headers.Location = new Uri(EngineData.Sitio + "SeleccionIdentificador/" + Engine.EngineData.FalloNuevoProductor);// FALLO INSERCION
            }

            return(response);
        }