public HttpResponseMessage Post([FromBody] RegistroInspeccionVisual nuevoTuberia)
        {
            var msg = new HttpResponseMessage(HttpStatusCode.NotAcceptable);
            RegistroInspeccionVisualRequest  registro  = new RegistroInspeccionVisualRequest();
            RegistroInspeccionVisualResponse resultado = null;
            var proxy = new ServicioClient();

            if (ModelState.IsValid)
            {
                try
                {
                    registro.Item      = nuevoTuberia;
                    registro.Operacion = Model.Operacion.Agregar;
                    resultado          = proxy.RegistroInspeccionVisualEjecutarOperacion(registro);
                }
                catch (Exception ex)
                {
                    resultado.MensajeError = ex.Message;
                }

                if (nuevoTuberia == null || nuevoTuberia.CodigoDelTubo == string.Empty)
                {
                    return(msg);
                }

                msg = new HttpResponseMessage(HttpStatusCode.Created);
                msg.Headers.Location = new Uri(Request.RequestUri + nuevoTuberia.Id.ToString());
            }
            return(msg);
        }
        public HttpResponseMessage Put([FromBody] RegistroInspeccionVisual editarTuberia)
        {
            var msg = new HttpResponseMessage(HttpStatusCode.NotAcceptable);
            RegistroInspeccionVisualRequest  registro  = new RegistroInspeccionVisualRequest();
            RegistroInspeccionVisualResponse resultado = null;
            var proxy = new ServicioClient();

            if (ModelState.IsValid)
            {
                if (editarTuberia != null && editarTuberia.CodigoDelTubo != string.Empty)
                {
                    try
                    {
                        registro.Item      = editarTuberia;
                        registro.Operacion = Model.Operacion.Actualizar;
                        resultado          = proxy.RegistroInspeccionVisualEjecutarOperacion(registro);
                    }
                    catch (Exception ex)
                    {
                        resultado.MensajeError = ex.Message;
                    }
                    return(Request.CreateResponse <Model.RegistroInspeccionVisual>(HttpStatusCode.OK, editarTuberia));
                }
                else
                {
                    throw new HttpResponseException(HttpStatusCode.NotFound);
                }
            }
            else
            {
                return(msg);
            }
        }
        public HttpResponseMessage Delete(int id)
        {
            var msg = new HttpResponseMessage(HttpStatusCode.NotAcceptable);
            RegistroInspeccionVisualRequest  registro  = new RegistroInspeccionVisualRequest();
            RegistroInspeccionVisualResponse resultado = null;
            var proxy = new ServicioClient();

            try
            {
                try
                {
                    registro.Item.Id   = id;
                    registro.Operacion = Model.Operacion.Eliminar;
                    resultado          = proxy.RegistroInspeccionVisualEjecutarOperacion(registro);
                }
                catch (Exception ex)
                {
                    resultado.MensajeError = ex.Message;
                }
                return(new HttpResponseMessage(HttpStatusCode.OK));
            }
            catch (Exception)
            {
                throw new HttpResponseException(HttpStatusCode.NotFound);
            }
        }