/// <summary>
        /// Método para actualizar
        /// <param name="pBanner">Objeto de tipo E_BANNER con datos a actualizar</param>
        /// <returns> Objeto tipo E_MENSAJE con los datos del movimiento </returns>
        /// </summary>
        public E_MENSAJE Editar(E_BANNER pBanner)
        {
            try
            {
                using (context = new ViajesEntities())
                {
                    ObjectParameter RET_NUMEROERROR   = new ObjectParameter("RET_NUMEROERROR", typeof(string));
                    ObjectParameter RET_MENSAJEERROR  = new ObjectParameter("RET_MENSAJEERROR", typeof(string));
                    ObjectParameter RET_VALORDEVUELTO = new ObjectParameter("RET_VALORDEVUELTO", typeof(string));


                    context.SP_BANNER(pBanner.IdBanner, pBanner.Nombre, pBanner.IdProducto, pBanner.Fotografia,
                                      pBanner.IdPersonaModifica, pBanner.Estatus, "U",
                                      RET_NUMEROERROR, RET_MENSAJEERROR, RET_VALORDEVUELTO);

                    E_MENSAJE vMensaje = new E_MENSAJE {
                        RET_NUMEROERROR = int.Parse(RET_NUMEROERROR.Value.ToString()), RET_MENSAJEERROR = RET_MENSAJEERROR.Value.ToString(), RET_VALORDEVUELTO = RET_VALORDEVUELTO.Value.ToString()
                    };
                    return(vMensaje);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
 /// <summary>
 /// Método para editar locales
 /// <param name="Entidad">Objeto de tipo E_LOCAL con datos a actualizar</param>
 /// <returns> Objeto tipo E_MENSAJE con los datos del movimiento </returns>
 /// </summary>
 public E_MENSAJE Editar(E_BANNER Entidad)
 {
     try
     {
         BannerOperaciones pDatos = new BannerOperaciones();
         return(pDatos.Editar(Entidad));
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
 /// <summary>
 /// Método para cambiar el estatus de locales
 /// <param name="pEntidad">Objeto con datos a actualizar</param>
 /// <returns> Objeto tipo E_MENSAJE con resultado de la operación. </returns>
 /// </summary>
 public E_MENSAJE CambiaEstatus(E_BANNER pEntidad)
 {
     try
     {
         BannerOperaciones pDatos = new BannerOperaciones();
         return(pDatos.CambiaEstatus(pEntidad));
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
        /// <summary>
        /// Método para cambiar el estatus de banners
        /// <param name="pBanner">Objeto con datos a actualizar</param>
        /// <returns> Objeto tipo E_MENSAJE con resultado de la operación. </returns>
        /// </summary>
        public E_MENSAJE CambiaEstatus(E_BANNER pBanner)
        {
            try
            {
                E_MENSAJE vMensaje;
                using (context = new ViajesEntities())
                {
                    var localActual = context.TBL_BANNERS.Where(l => l.id_banner == pBanner.IdBanner).FirstOrDefault();

                    if (localActual != null)
                    {
                        //var localEntity = context.Set<CTL_LOCAL>();
                        localActual.estatus        = pBanner.Estatus;
                        localActual.id_persona_mod = pBanner.IdPersonaModifica;
                        localActual.fecha_mod      = DateTime.Now;
                    }


                    if (context.SaveChanges() > 0)
                    {
                        vMensaje = new E_MENSAJE {
                            RET_NUMEROERROR = 0, RET_MENSAJEERROR = "Estatus actualizado correctamente", RET_VALORDEVUELTO = "Insertado correctamente"
                        }
                    }
                    ;
                    else
                    {
                        vMensaje = new E_MENSAJE {
                            RET_NUMEROERROR = -1000, RET_MENSAJEERROR = "No se pudo actualizar el estatus", RET_VALORDEVUELTO = "No se pudo actualizar el estatus"
                        }
                    };

                    return(vMensaje);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public HttpResponseMessage Creabanner([FromBody] InsertaActualizaBannerRequest pRequest)
        {
            var respuesta    = new InsertaDireccionResponse {
            };
            var    strMetodo = "WSViajes - Creabanner ";
            string sid       = Guid.NewGuid().ToString();

            try
            {
                if (pRequest == null)
                {
                    respuesta.Mensaje = "No se recibió datos de petición.";
                }
                else if (String.IsNullOrEmpty(pRequest.Nombre))
                {
                    respuesta.Mensaje = "El elemento  <<Nombre>> no puede estar vacío.";
                }
                else if (String.IsNullOrEmpty(pRequest.Fotografia))
                {
                    respuesta.Mensaje = "El elemento <<Fotografia>> no puede estar vacío.";
                }
                else if (String.IsNullOrEmpty(pRequest.IdProducto.ToString()) || pRequest.IdProducto == 0)
                {
                    respuesta.Mensaje = "El elemento <<IdProducto>> no puede estar vacío ni igual a cero.";
                }
                else if (String.IsNullOrEmpty(pRequest.IdPersonaMovimiento.ToString()) || pRequest.IdPersonaMovimiento <= 0)
                {
                    respuesta.Mensaje = "El elemento <<IdPersonaMovimiento>> no puede estar vacío ni igual o menor a cero.";
                }
                else
                {
                    var extension  = Funciones.getExtensionImagenBasae64(pRequest.Fotografia);
                    var rutaImagen = Funciones.uploadImagen(pRequest.Fotografia, System.Web.Hosting.HostingEnvironment.MapPath($"~/Assets"),
                                                            System.Web.Hosting.HostingEnvironment.MapPath($"~/Assets/Img"),
                                                            string.Empty, extension, System.Web.Hosting.HostingEnvironment.MapPath($"~/Assets/Img/Banners"), "Assets/Img/Banners/");

                    if (!string.IsNullOrEmpty(rutaImagen))
                    {
                        pRequest.Fotografia = $"{Url.Content("~/")}{rutaImagen}";


                        var banner = new E_BANNER()
                        {
                            Fotografia    = pRequest.Fotografia,
                            IdProducto    = pRequest.IdProducto,
                            Nombre        = pRequest.Nombre,
                            IdPersonaAlta = pRequest.IdPersonaMovimiento
                        };

                        var respuestaOperacion = new BannerNegocio().Agregar(banner);

                        if (respuestaOperacion.RET_NUMEROERROR == 0)
                        {
                            respuesta.Exito   = true;
                            respuesta.Mensaje = respuestaOperacion.RET_VALORDEVUELTO;
                        }
                        else
                        {
                            respuesta.CodigoError = respuestaOperacion.RET_NUMEROERROR;
                            respuesta.Mensaje     = respuestaOperacion.RET_MENSAJEERROR;
                        }
                    }
                    else
                    {
                        respuesta.CodigoError = -3000;
                        respuesta.Mensaje     = "No se pudo crear la imagen, intente más tarde";
                    }
                }
            }
            catch (ServiceException Ex)
            {
                respuesta.CodigoError = Ex.Codigo;
                respuesta.Mensaje     = Ex.Message;
            }
            catch (Exception Ex)
            {
                string strErrGUI  = Guid.NewGuid().ToString();
                string strMensaje = "Error Interno del Servicio [GUID: " + strErrGUI + "].";
                Log.Error(Ex, "[" + strMetodo + "]" + "[SID:" + sid + "]" + strMensaje);

                respuesta.CodigoError = 10001;
                respuesta.Mensaje     = "ERROR INTERNO DEL SERVICIO [" + strErrGUI + "]";
            }

            return(Request.CreateResponse(System.Net.HttpStatusCode.OK, respuesta));
        }