/// <summary> /// Método para agregar una relación de cliente openpay con cliente interno /// <param name="pIdPersona">Id de la persona a existente</param> /// /// <param name="pIdCustomerOpenPay">Id generado por OpenPay para el cliente.</param> /// <returns> Objeto tipo E_MENSAJE con el resultado de la operación </returns> /// </summary> public E_MENSAJE AgregarClienteOpenPay(int pIdPersona, string pIdCustomerOpenPay) { try { E_MENSAJE vMensaje; using (context = new ViajesEntities()) { var coordenadas = context.Set <R_PERSONA_OPENPAY>(); coordenadas.Add(new R_PERSONA_OPENPAY { id_persona = pIdPersona, id_customer = pIdCustomerOpenPay }); if (context.SaveChanges() > 0) { vMensaje = new E_MENSAJE { RET_NUMEROERROR = 0, RET_MENSAJEERROR = "Insertado correctamente", RET_VALORDEVUELTO = "Insertado correctamente" } } ; else { vMensaje = new E_MENSAJE { RET_NUMEROERROR = -1000, RET_MENSAJEERROR = "No se pudo insertar la coordenada", RET_VALORDEVUELTO = "No se pudo insertar la coordenada" } }; return(vMensaje); } } catch (Exception ex) { throw ex; } }
/// <summary> /// Método para insertar personas /// <param name="pPersona">Objeto de tipo E_PERSONA con datos a insertar</param> /// <returns> Objeto tipo E_MENSAJE con los datos del movimiento </returns> /// </summary> public E_MENSAJE Agregar(E_PERSONA pPersona) { 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_PRODUCTO(pProducto.IdProducto, pProducto.Nombre, pProducto.Descripcion, pProducto.Precio, * pProducto.Fotografia, pProducto.IdLocal, pProducto.IdPersonaAlta, pProducto.Estatus, "I", * 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 eliminar productos favoritos /// <param name="pIdPersona">Objeto de tipo E_PRODUCTO con datos a insertar</param> /// <param name="pIdProducto">Objeto de tipo E_PRODUCTO con datos a insertar</param> /// <returns> Objeto tipo E_MENSAJE con los datos del movimiento </returns> /// </summary> public E_MENSAJE EliminarProductoFavorito(int pIdPersona, int pIdProducto) { 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)); * * var productos = context.SP_PRODUCTO(pIdProducto, null, null, null, * null, null, null, pIdPersona, null, "EPF", * RET_NUMEROERROR, RET_MENSAJEERROR, RET_VALORDEVUELTO); * * var resultado = context.SaveChanges(); * * 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;*/ E_MENSAJE vMensaje = new E_MENSAJE(); var existeRegistro = (from s in context.R_PERSONA_PRODUCTO_FAVORITO where s.id_persona == pIdPersona && s.id_producto == pIdProducto select s).ToList <R_PERSONA_PRODUCTO_FAVORITO>().FirstOrDefault(); if (existeRegistro == null) { vMensaje = new E_MENSAJE { RET_NUMEROERROR = -200, RET_MENSAJEERROR = "No existe este producto como favorito.", RET_VALORDEVUELTO = "Ya existe este producto como favorito." }; } else { context.R_PERSONA_PRODUCTO_FAVORITO.Remove (existeRegistro); var resultado = context.SaveChanges(); if (resultado <= 0) { vMensaje = new E_MENSAJE { RET_NUMEROERROR = -100, RET_MENSAJEERROR = "No se pudo eliminar, intente más tarde", RET_VALORDEVUELTO = "No se pudo eliminar, intente más tarde" } } ; else { vMensaje = new E_MENSAJE { RET_NUMEROERROR = 0, RET_MENSAJEERROR = "Eliminado", RET_VALORDEVUELTO = "Eliminado" } }; } return(vMensaje); } } catch (Exception ex) { throw ex; } }
/// <summary> /// Método para cancelar pedidos /// <param name="pPedido">Objeto de tipo E_PEDIDO con datos a cancelar</param> /// <returns> Objeto tipo E_MENSAJE con los datos del movimiento </returns> /// </summary> public E_MENSAJE Cancelar(E_PEDIDO pPedido) { 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_PEDIDO(pPedido.IdPedido, pPedido.PersonaPide.IdPersona, pPedido.DireccionEntrega.IdDireccion, pPedido.PersonaEntrega.IdPersona, pPedido.Observaciones, pPedido.Folio, pPedido.IdMetodoPago, pPedido.Estatus.IdEstatus, null, "C", pPedido.ReferenciaPago, pPedido.CostoEnvio, pPedido.TipoPedido, pPedido.Propina, pPedido.IdEstatusFactura, pPedido.Iva, 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 actualizar conductor /// <param name="pPersona">Objeto de tipo E_PERSONA con datos a actualizar</param> /// <returns> Objeto tipo E_MENSAJE con los datos del movimiento </returns> /// </summary> public E_MENSAJE Editar(E_PERSONA pPersona) { try { using (context = new ViajesEntities()) { ObjectParameter RET_ID_PERSONA = new ObjectParameter("RET_ID_PERSONA", typeof(string)); 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_PERSONA(pPersona.IdPersona, pPersona.Nombre, pPersona.Telefono, pPersona.Fotografia, pPersona.Acceso.Email, pPersona.Acceso.Password, pPersona.Acceso.TipoUsuario, pPersona.Acceso.TokenFirebase, pPersona.Sexo, pPersona.Conductor.Colonia, pPersona.Conductor.Calle, pPersona.Conductor.NoExt, pPersona.Conductor.NoInt, pPersona.Conductor.NoLicencia, pPersona.Conductor.NoPlacas, pPersona.Conductor.Tipo, pPersona.Acceso.ClavePassword, "U", pPersona.IdPersonaMod, RET_ID_PERSONA, RET_NUMEROERROR, RET_MENSAJEERROR, RET_VALORDEVUELTO); E_MENSAJE vMensaje = new E_MENSAJE { RET_ID_PERSONA = int.Parse(RET_ID_PERSONA.Value.ToString()), 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 realizar crear una persona /// <param name="pPersona">Objeto de tipo E_PERSONA con datos de la persona a insertar</param> /// /// <param name="pAcceso">Objeto de tipo E_ACCESO_PERSONA con datos para inicio de sesión</param> /// <returns> Objeto tipo E_MENSAJE con los datos del movimiento </returns> /// </summary> public E_MENSAJE CreaPersona(E_PERSONA pPersona, E_ACCESO_PERSONA pAcceso) { try { using (context = new ViajesEntities()) { ObjectParameter RET_ID_PERSONA = new ObjectParameter("RET_ID_PERSONA", typeof(string)); 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_PERSONA(pPersona.IdPersona, pPersona.Nombre, pPersona.Telefono, pPersona.Fotografia, pAcceso.Email, pAcceso.Password, pAcceso.TipoUsuario, pAcceso.TokenFirebase, "U", null, null, null, null, null, null, null, pAcceso.ClavePassword, "I", pPersona.IdPersonaMod, RET_ID_PERSONA, RET_NUMEROERROR, RET_MENSAJEERROR, RET_VALORDEVUELTO); E_MENSAJE vMensaje = new E_MENSAJE { RET_ID_PERSONA = int.Parse(RET_ID_PERSONA.Value.ToString()), 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 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 actualizar locales /// <param name="pDireccion">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_LOCAL pLocal) { 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_LOCAL(pLocal.IdLocal, pLocal.Nombre, pLocal.Referencias, pLocal.Latitud, pLocal.Longitud, pLocal.Fotografia, pLocal.Calle, pLocal.Colonia, pLocal.NoExt, pLocal.NoInt, pLocal.Costo.IdCosto, pLocal.TipoLocal.IdTipoLocal, pLocal.IdPersonaModifica, pLocal.IdPersonaResponsable, pLocal.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 actualizar estatus direcciones /// <param name="pDireccion">Objeto de tipo E_DIRECCION con datos a actualizar</param> /// <returns> Objeto tipo E_MENSAJE con los datos del movimiento </returns> /// </summary> public E_MENSAJE ActualizaEstatusDireccion(E_DIRECCION pDireccion) { 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_DIRECCION(pDireccion.IdDireccion, pDireccion.Nombre, pDireccion.Calle, pDireccion.Colonia, pDireccion.Descripcion, pDireccion.NoExt, pDireccion.NoInt, pDireccion.Latitud, pDireccion.Longitud, pDireccion.IdPersona, pDireccion.IdPersonaAlta, pDireccion.Estatus, pDireccion.Predeterminada, "E", 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 insertar un nuevo escaneo del código qr de descarga de app- /// <param name="pDatos">Objeto de tipo E_QR_TIENDA con datos a insertar</param> /// <returns> Objeto tipo E_MENSAJE con los datos del movimiento </returns> /// </summary> public async Task <E_MENSAJE> AgregarVisitaQR(E_QR_TIENDA pDatos) { try { E_MENSAJE vMensaje; using (context = new ViajesEntities()) { var coordenadas = context.Set <TBL_QR_TIENDA>(); coordenadas.Add(new TBL_QR_TIENDA { id_qr = Guid.NewGuid(), dispositivo = pDatos.Dispositivo, ip = pDatos.Ip, latitud = pDatos.Latitud, longitud = pDatos.Longitud, aplicacion = pDatos.Aplicacion, fecha_alta = DateTime.Now }); if (await context.SaveChangesAsync() > 0) { vMensaje = new E_MENSAJE { RET_NUMEROERROR = 0, RET_MENSAJEERROR = "Insertado correctamente", RET_VALORDEVUELTO = "Insertado correctamente" } } ; else { vMensaje = new E_MENSAJE { RET_NUMEROERROR = -1000, RET_MENSAJEERROR = "No se pudo insertar la visita QR", RET_VALORDEVUELTO = "No se pudo insertar la visita QR" } }; return(vMensaje); } } catch (Exception ex) { throw ex; } }
/// <summary> /// Método para insertar coordenadas de conductores activos /// <param name="pDatos">Objeto de tipo E_COORDENADAS_CONDUCTOR con datos a insertar</param> /// <returns> Objeto tipo E_MENSAJE con los datos del movimiento </returns> /// </summary> public E_MENSAJE AgregarCoordenadas(E_COORDENADAS_CONDUCTOR pDatos) { try { E_MENSAJE vMensaje; using (context = new ViajesEntities()) { var coordenadas = context.Set <TBL_COORDENADAS_CONDUCTOR>(); coordenadas.Add(new TBL_COORDENADAS_CONDUCTOR { id_coordenada = Guid.NewGuid(), id_pedido = pDatos.IdPedido, id_persona = pDatos.IdPersona, longitud = pDatos.Longitud, latitud = pDatos.Latitud, fecha = DateTime.Now }); if (context.SaveChanges() > 0) { vMensaje = new E_MENSAJE { RET_NUMEROERROR = 0, RET_MENSAJEERROR = "Insertado correctamente", RET_VALORDEVUELTO = "Insertado correctamente" } } ; else { vMensaje = new E_MENSAJE { RET_NUMEROERROR = -1000, RET_MENSAJEERROR = "No se pudo insertar la coordenada", RET_VALORDEVUELTO = "No se pudo insertar la coordenada" } }; return(vMensaje); } } catch (Exception ex) { throw ex; } }
/// <summary> /// Método para insertar pedidos personalizados /// <param name="pPedido">Objeto de tipo E_PEDIDO con datos a insertar</param> /// <returns> Objeto tipo E_MENSAJE con los datos del movimiento </returns> /// </summary> public E_MENSAJE AgregarPersonalizado(E_PEDIDO_PERSONALIZADO pPedido) { try { using (context = new ViajesEntities()) { pPedido.IdPedido = Guid.NewGuid(); XElement xmlPedido = new XElement("PEDIDO_PERSONALIZADO"); //foreach (var detalle in pPedido.Detalle) //{ XElement xDetallePedido = new XElement("DETALLE"); xDetallePedido.Add( new XAttribute("ID_DETALLE_PEDIDO_PERSONALIZADO", Guid.NewGuid()), new XAttribute("ID_PEDIDO", pPedido.IdPedido), new XAttribute("NOMBRE_LOCAL", pPedido.Detalle.NombreLocal), new XAttribute("DIRECCION", pPedido.Detalle.Direccion), new XAttribute("REFERENCIAS", pPedido.Detalle.Referencias), new XAttribute("PEDIDO", pPedido.Detalle.Pedido), new XAttribute("LATITUD", pPedido.Detalle.Latitud), new XAttribute("LONGITUD", pPedido.Detalle.Longitud), new XAttribute("LIMITE_INFERIOR", pPedido.Detalle.LimiteInferion), new XAttribute("LIMITE_SUPERIOR", pPedido.Detalle.LimiteSuperior) ); xmlPedido.Add(xDetallePedido); //} 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_PEDIDO(pPedido.IdPedido, pPedido.PersonaPide.IdPersona, pPedido.DireccionEntrega.IdDireccion, pPedido.PersonaEntrega.IdPersona, pPedido.Observaciones, pPedido.Folio, pPedido.IdMetodoPago, pPedido.Estatus.IdEstatus, xmlPedido.ToString(), "IP", pPedido.ReferenciaPago, pPedido.CostoEnvio, pPedido.TipoPedido, pPedido.Propina, pPedido.IdEstatusFactura, pPedido.Iva, 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 insertar extras a productos. /// <param name="pNombre">Nombre del extra</param> /// <param name="pIdProducto">Id del producto a relacionar</param> /// <param name="pPrecio">Precio del extra</param> /// <returns> Objeto tipo E_MENSAJE con los datos del movimiento </returns> /// </summary> public E_MENSAJE AgregarExtraProducto(string pNombre, int pIdProducto, decimal pPrecio, int pIdPersonaAlta) { try { using (context = new ViajesEntities()) { E_MENSAJE vMensaje = new E_MENSAJE(); var existeRegistro = (from s in context.CTL_EXTRAS_PRODUCTO where s.nombre.ToLower().Trim() == pNombre.ToLower().Trim() && s.id_producto == pIdProducto select s).ToList <CTL_EXTRAS_PRODUCTO>().FirstOrDefault(); if (existeRegistro == null) { context.CTL_EXTRAS_PRODUCTO.Add(new CTL_EXTRAS_PRODUCTO() { id_extra = Guid.NewGuid(), nombre = pNombre.Trim(), id_producto = pIdProducto, precio = pPrecio, id_persona_alta = pIdPersonaAlta, fecha_alta = DateTime.Now }); var resultado = context.SaveChanges(); if (resultado <= 0) { vMensaje = new E_MENSAJE { RET_NUMEROERROR = -100, RET_MENSAJEERROR = "No se pudo insertar, intente más tarde", RET_VALORDEVUELTO = "No se pudo insertar, intente más tarde" } } ; else { vMensaje = new E_MENSAJE { RET_NUMEROERROR = 0, RET_MENSAJEERROR = "Insertado", RET_VALORDEVUELTO = "Insertado" } }; } else { vMensaje = new E_MENSAJE { RET_NUMEROERROR = -200, RET_MENSAJEERROR = "Ya existe un extra con este nombre para el producto.", RET_VALORDEVUELTO = "Ya existe un extra con este nombre para el producto." }; } return(vMensaje); } } catch (Exception ex) { throw ex; } }
/// <summary> /// Método para realizar inicio de sesión /// <param name="pAcceso">Objeto de tipo E_ACCESO_PERSONA con datos del inicio de sesión</param> /// <returns> Objeto tipo E_LOGIN con los datos del movimiento </returns> /// </summary> public E_LOGIN Login(E_ACCESO_PERSONA pAcceso) { try { var respuesta = new E_LOGIN(); using (context = new ViajesEntities()) { ObjectParameter RET_ID_PERSONA = new ObjectParameter("RET_ID_PERSONA", typeof(string)); 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_LOGIN(pAcceso.Email, pAcceso.Password, pAcceso.TipoUsuario, RET_ID_PERSONA, 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() }; var intIdPersona = int.Parse(RET_ID_PERSONA.Value.ToString()); if (vMensaje.RET_NUMEROERROR == 0) { //Login correcto, carga datos de la persona respuesta.CORRECTO = true; respuesta.MENSAJE = vMensaje.RET_MENSAJEERROR; //var persona = context.CTL_PERSONA.SqlQuery(String.Format("SELECT * FROM dbo.CTL_PERSONA where id_persona", intIdPersona)).ToList(); var persona = (from s in context.CTL_PERSONA where s.id_persona == intIdPersona select s).ToList <CTL_PERSONA>().FirstOrDefault(); respuesta.PERSONA = new E_PERSONA() { IdPersona = persona.id_persona, Nombre = persona.nombre, Fotografia = persona.fotografia, Telefono = persona.telefono }; } else { respuesta.CORRECTO = false; respuesta.MENSAJE = vMensaje.RET_VALORDEVUELTO; } return(respuesta); } } catch (Exception ex) { throw ex; } }
/// <summary> /// Método para actualizar token firebase /// <param name="pIdPersona">Persona del token editar</param> /// <param name="pToken">Token nuevo</param> /// <returns> Objeto tipo E_MENSAJE con el resultado de la operación </returns> /// </summary> public E_MENSAJE ActualizaToken(int pIdPersona, string pToken) { try { E_MENSAJE vMensaje; using (context = new ViajesEntities()) { var accesos = context.CTL_ACCESO_PERSONA.Where(p => p.id_persona == pIdPersona).FirstOrDefault(); if (accesos != null) { if (accesos.token_firebase != pToken) { accesos.token_firebase = pToken; if (context.SaveChanges() > 0) { vMensaje = new E_MENSAJE { RET_NUMEROERROR = 0, RET_MENSAJEERROR = "Token actualizado correctamente", RET_VALORDEVUELTO = "Token actualizado correctamente" } } ; else { vMensaje = new E_MENSAJE { RET_NUMEROERROR = -1000, RET_MENSAJEERROR = "No se pudo actualizar el token", RET_VALORDEVUELTO = "No se pudo actualizar el token" } }; } else { vMensaje = new E_MENSAJE { RET_NUMEROERROR = 0, RET_MENSAJEERROR = "El token registrado es igual al nuevo, no se actualizará.", RET_VALORDEVUELTO = "Token actualizado correctamente" } }; } else { vMensaje = new E_MENSAJE { RET_NUMEROERROR = -1001, RET_MENSAJEERROR = "No se encontró la persona que indicó, no se actualizará.", RET_VALORDEVUELTO = "Token actualizado correctamente" } }; return(vMensaje); } } catch (Exception ex) { throw ex; } }
/// <summary> /// Actualiza estatus de persona /// <param name="pIdPersona">Identidicador de la persona</param> /// <param name="pIdEstatus">Estatus a actualizar</param> /// <param name="pIdPersonaModifica">Persona que realiza el movimiento</param> /// <returns> Objeto tipo E_MENSAJE con los datos de la operación </returns> /// </summary> public E_MENSAJE ActualizaEstatusRegistro(int pIdPersona, byte pIdEstatus, byte pIdPersonaModifica) { try { using (context = new ViajesEntities()) { E_MENSAJE vMensaje = new E_MENSAJE(); var entity = context.CTL_PERSONA.FirstOrDefault(item => item.id_persona == pIdPersona); if (entity != null) { entity.estatus = pIdEstatus; entity.fecha_mod = DateTime.Now; entity.id_persona_mod = pIdPersonaModifica; var resultado = context.SaveChanges(); if (resultado <= 0) { vMensaje = new E_MENSAJE { RET_NUMEROERROR = -100, RET_MENSAJEERROR = "No se pudo actualizar estatus.", RET_VALORDEVUELTO = "No se pudo actualizar estatus." } } ; else { vMensaje = new E_MENSAJE { RET_NUMEROERROR = 0, RET_MENSAJEERROR = "Estatus actualizado", RET_VALORDEVUELTO = "Estatus actualizado" } }; } else { vMensaje = new E_MENSAJE { RET_NUMEROERROR = -200, RET_MENSAJEERROR = "No se pudo encontrar la persona proporcionada.", RET_VALORDEVUELTO = "No se pudo encontrar la persona proporcionada." }; } return(vMensaje); } } catch (Exception ex) { throw ex; } }
/// <summary> /// Método para consultar agregar pedido /// <param name="pTiempoEspera">Tiempo de espera en minutos del pedido</param> /// <param name="pIdPedido">Identificador del pedido</param> /// <returns> Objeto tipo E_MENSAJE con el resultado de la operación </returns> /// </summary> public E_MENSAJE AgregaTiempoEspera(int pTiempoEspera, Guid pIdPedido) { try { E_MENSAJE vMensaje = new E_MENSAJE(); using (context = new ViajesEntities()) { var pedido = (from s in context.M_PEDIDO where s.id_pedido.Equals(pIdPedido) select s).ToList <M_PEDIDO>().FirstOrDefault(); if (pedido != null) { pedido.tiempo_espera = pTiempoEspera; var resultado = context.SaveChanges(); if (resultado <= 0) { vMensaje = new E_MENSAJE { RET_NUMEROERROR = -100, RET_MENSAJEERROR = "No se pudo actualizar, intente más tarde", RET_VALORDEVUELTO = "No se pudo actualizar, intente más tarde" } } ; else { vMensaje = new E_MENSAJE { RET_NUMEROERROR = 0, RET_MENSAJEERROR = "Actrualizado", RET_VALORDEVUELTO = "Actrualizado" } }; } else { vMensaje = new E_MENSAJE { RET_NUMEROERROR = -200, RET_MENSAJEERROR = "No se pudo encontrar el pedido.", RET_VALORDEVUELTO = "No se pudo encontrar el pedido." }; } return(vMensaje); } } catch (Exception ex) { throw ex; } }
/// <summary> /// Actualiza token para resetear contraseña /// <param name="pIdPersona">Identidicador de la persona</param> /// <param name="pTokenPassword">Clave para generar password</param> /// <returns> Objeto tipo E_MENSAJE con los datos de la operación </returns> /// </summary> public E_MENSAJE ActializarTokenPassword(int pIdPersona, Guid pTokenPassword) { try { using (context = new ViajesEntities()) { E_MENSAJE vMensaje = new E_MENSAJE(); var entity = context.CTL_ACCESO_PERSONA.FirstOrDefault(item => item.id_persona == pIdPersona); if (entity != null) { entity.clave_password = pTokenPassword.ToString(); entity.fecha_clave_password = DateTime.Now; var resultado = context.SaveChanges(); if (resultado <= 0) { vMensaje = new E_MENSAJE { RET_NUMEROERROR = -100, RET_MENSAJEERROR = "No se pudo actualizar token.", RET_VALORDEVUELTO = "No se pudo actualizar token." } } ; else { vMensaje = new E_MENSAJE { RET_NUMEROERROR = 0, RET_MENSAJEERROR = "Token actualizado", RET_VALORDEVUELTO = "Token actualizado" } }; } else { vMensaje = new E_MENSAJE { RET_NUMEROERROR = -200, RET_MENSAJEERROR = "No se pudo encontrar la persona proporcionada.", RET_VALORDEVUELTO = "No se pudo encontrar la persona proporcionada." }; } return(vMensaje); } } 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; } }
/// <summary> /// Método para cambiar el estatus de productos /// <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_PRODUCTO pProducto) { try { E_MENSAJE vMensaje; using (context = new ViajesEntities()) { var productoActual = context.CTL_PRODUCTO.Where(p => p.id_producto == pProducto.IdProducto).FirstOrDefault(); if (productoActual != null) { //var productoEntity = context.Set<CTL_PRODUCTO>(); productoActual.estatus = pProducto.Estatus; productoActual.id_persona_mod = pProducto.IdPersonaModifica; productoActual.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; } }
/// <summary> /// Método para consultar agregar pedido /// <param name="pIdPersona">Identificador de la persona que rechaza</param> /// <param name="pIdPedido">Identificador del pedido</param> /// <param name="pMotivo">Motivo de rechazo</param> /// <returns> Objeto tipo E_MENSAJE con el resultado de la operación </returns> /// </summary> public E_MENSAJE AgregaRechazoPedido(int pIdPersona, Guid pIdPedido, string pMotivo) { try { using (context = new ViajesEntities()) { E_MENSAJE vMensaje = new E_MENSAJE(); context.TBL_RECHAZO_PEDIDO.Add(new TBL_RECHAZO_PEDIDO() { id_persona = pIdPersona, id_pedido = pIdPedido, motivo = pMotivo, fecha = DateTime.Now }); // fecha_alta = DateTime.Now var resultado = context.SaveChanges(); if (resultado <= 0) { vMensaje = new E_MENSAJE { RET_NUMEROERROR = -100, RET_MENSAJEERROR = "No se pudo insertar, intente más tarde", RET_VALORDEVUELTO = "No se pudo insertar, intente más tarde" } } ; else { vMensaje = new E_MENSAJE { RET_NUMEROERROR = 0, RET_MENSAJEERROR = "Insertado", RET_VALORDEVUELTO = "Insertado" } }; return(vMensaje); } } catch (Exception ex) { throw ex; } }
/// <summary> /// Inserta una respuesta a las preguntas del servicio /// <param name="pIdPedido"></param> /// <param name="pIdPregunta"></param> /// <param name="pRespuesta"></param> /// <returns> Objeto tipo E_MENSAJE con los datos DE LA SOLICITUD </returns> /// </summary> public E_MENSAJE AgregarRespuestaPreguntaServicio(Guid pIdPedido, Guid pIdPregunta, byte pRespuesta) { try { using (context = new ViajesEntities()) { E_MENSAJE vMensaje = new E_MENSAJE(); context.R_PEDIDO_PREGRUNTA.Add(new R_PEDIDO_PREGRUNTA() { id_pregunta = pIdPregunta, id_pedido = pIdPedido, respuesta = pRespuesta }); // fecha_alta = DateTime.Now var resultado = context.SaveChanges(); if (resultado <= 0) { vMensaje = new E_MENSAJE { RET_NUMEROERROR = -100, RET_MENSAJEERROR = "No se pudo insertar, intente más tarde", RET_VALORDEVUELTO = "No se pudo insertar, intente más tarde" } } ; else { vMensaje = new E_MENSAJE { RET_NUMEROERROR = 0, RET_MENSAJEERROR = "Insertado", RET_VALORDEVUELTO = "Insertado" } }; return(vMensaje); } } catch (Exception ex) { throw ex; } }
/// <summary> /// Método para actualizar contraseña /// <param name="pIdPersona">Persona de la contraseña a editar</param> /// <param name="pPassword">Nueva contraseña</param> /// <param name="pTokenPassword">En caso de existir token de seguridad</param> /// <param name="pTipoUsuario">Tipo de usuario al que se le actualiza la contraseña</param> /// <returns> Objeto tipo E_MENSAJE con el resultado de la operación </returns> /// </summary> public E_MENSAJE ActualizaPassword(int pIdPersona, string pPassword, string pTokenPassword, int pTipoUsuario) { 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_ACTUALIZA_PASSWORD(pIdPersona, pPassword, pTipoUsuario, pTokenPassword, 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 insertar productos favoritos /// <param name="pIdPersona">Objeto de tipo E_PRODUCTO con datos a insertar</param> /// <param name="pIdProducto">Objeto de tipo E_PRODUCTO con datos a insertar</param> /// <returns> Objeto tipo E_MENSAJE con los datos del movimiento </returns> /// </summary> public E_MENSAJE AgregarProductoFavorito(int pIdPersona, int pIdProducto) { 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)); * * var productos = context.SP_PRODUCTO(pIdProducto, string.Empty, string.Empty, 0, * string.Empty, 0, 0, pIdPersona, 1, "APF", * RET_NUMEROERROR, RET_MENSAJEERROR, RET_VALORDEVUELTO); * * //var resultado = context.SaveChanges(); * * 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() };*/ E_MENSAJE vMensaje = new E_MENSAJE(); var existeRegistro = (from s in context.R_PERSONA_PRODUCTO_FAVORITO where s.id_persona == pIdPersona && s.id_producto == pIdProducto select s).ToList <R_PERSONA_PRODUCTO_FAVORITO>().FirstOrDefault(); if (existeRegistro == null) { context.R_PERSONA_PRODUCTO_FAVORITO.Add(new R_PERSONA_PRODUCTO_FAVORITO() { id_persona = pIdPersona, id_producto = pIdProducto, fecha_alta = DateTime.Now }); var resultado = context.SaveChanges(); if (resultado <= 0) { vMensaje = new E_MENSAJE { RET_NUMEROERROR = -100, RET_MENSAJEERROR = "No se pudo insertar, intente más tarde", RET_VALORDEVUELTO = "No se pudo insertar, intente más tarde" } } ; else { vMensaje = new E_MENSAJE { RET_NUMEROERROR = 0, RET_MENSAJEERROR = "Insertado", RET_VALORDEVUELTO = "Insertado" } }; } else { vMensaje = new E_MENSAJE { RET_NUMEROERROR = -200, RET_MENSAJEERROR = "Ya existe este producto como favorito.", RET_VALORDEVUELTO = "Ya existe este producto como favorito." }; } return(vMensaje); } } catch (Exception ex) { throw ex; } }
/// <summary> /// Método para actualizar extras a productos /// <param name="pIdExtra">Identificador del extra</param> /// <param name="pNombre">Nombre del extra</param> /// <param name="pIdProducto">Id del producto a relacionar</param> /// <param name="pPrecio">Precio del extra</param> /// <param name="pEstatus">Estatus del extra</param> /// <param name="pIdPersonaMod">Persona que actualiza el extra</param> /// <returns> Objeto tipo E_MENSAJE con los datos del movimiento </returns> /// </summary> public E_MENSAJE ActualizarExtrasProducto(Guid pIdExtra, string pNombre, int pIdProducto, decimal pPrecio, byte pEstatus, int pIdPersonaMod) { try { using (context = new ViajesEntities()) { E_MENSAJE vMensaje = new E_MENSAJE(); var existeRegistro = (from s in context.CTL_EXTRAS_PRODUCTO where s.nombre.ToLower().Trim() == pNombre.ToLower().Trim() && s.id_producto == pIdProducto select s).ToList <CTL_EXTRAS_PRODUCTO>().FirstOrDefault(); if (existeRegistro != null && existeRegistro.id_extra != pIdExtra) { vMensaje = new E_MENSAJE { RET_NUMEROERROR = -200, RET_MENSAJEERROR = "Ya existe un extra con este nombre para el producto.", RET_VALORDEVUELTO = "Ya existe un extra con este nombre para el producto." } } ; else { var extra = (from s in context.CTL_EXTRAS_PRODUCTO where s.id_extra == pIdExtra select s).ToList <CTL_EXTRAS_PRODUCTO>().FirstOrDefault(); if (extra != null) { extra.id_persona_mod = pIdPersonaMod; extra.fecha_mod = DateTime.Now; extra.precio = pPrecio; extra.nombre = pNombre.Trim(); extra.estatus = pEstatus; var resultado = context.SaveChanges(); if (resultado <= 0) { vMensaje = new E_MENSAJE { RET_NUMEROERROR = -100, RET_MENSAJEERROR = "No se pudo actualizar, intente más tarde", RET_VALORDEVUELTO = "No se pudo actualizar, intente más tarde" } } ; else { vMensaje = new E_MENSAJE { RET_NUMEROERROR = 0, RET_MENSAJEERROR = "Actualizado", RET_VALORDEVUELTO = "Actrualizado" } }; } else { vMensaje = new E_MENSAJE { RET_NUMEROERROR = -200, RET_MENSAJEERROR = "No se pudo actualizar.", RET_VALORDEVUELTO = "No se pudo actualizar." }; } } return(vMensaje); } } catch (Exception ex) { throw ex; } }
/// <summary> /// Método para insertar pedidos /// <param name="pPedido">Objeto de tipo E_PEDIDO con datos a insertar</param> /// <returns> Objeto tipo E_MENSAJE con los datos del movimiento </returns> /// </summary> public E_MENSAJE Agregar(E_PEDIDO pPedido) { try { using (context = new ViajesEntities()) { pPedido.IdPedido = Guid.NewGuid(); XElement xmlPedido = new XElement("PEDIDO"); foreach (var detalle in pPedido.Detalle) { if (detalle.Local == null) { throw new System.ArgumentException("El elemento Detalle.Local.IdLocal no puede ser nullo.", "parametro"); } Guid IdDetalle = Guid.NewGuid(); foreach (var extra in detalle.Extras) { XElement xExtrasProducto = new XElement("EXTRAS"); xExtrasProducto.Add( new XAttribute("ID_DETALLE_PEDIDO", IdDetalle.ToString()), new XAttribute("ID_EXTRA", extra.IdExtra), new XAttribute("PRECIO", extra.Precio) ); xmlPedido.Add(xExtrasProducto); } XElement xDetallePedido = new XElement("DETALLE"); xDetallePedido.Add( new XAttribute("ID_DETALLE_PEDIDO", IdDetalle.ToString()), new XAttribute("ID_LOCAL", detalle.Local.IdLocal), new XAttribute("ID_PRODUCTO", detalle.IdProducto), new XAttribute("PRECIO", detalle.Precio), new XAttribute("CANTIDAD", detalle.Cantidad), new XAttribute("OBSERVACIONES", detalle.Observaciones) ); xmlPedido.Add(xDetallePedido); } 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_PEDIDO(pPedido.IdPedido, pPedido.PersonaPide.IdPersona, pPedido.DireccionEntrega.IdDireccion, pPedido.PersonaEntrega.IdPersona, pPedido.Observaciones, pPedido.Folio, pPedido.IdMetodoPago, pPedido.Estatus.IdEstatus, xmlPedido.ToString(), "I", pPedido.ReferenciaPago, pPedido.CostoEnvio, pPedido.TipoPedido, pPedido.Propina, pPedido.IdEstatusFactura, pPedido.Iva, 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; } }