/// <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 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 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 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 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> /// 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 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> /// 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 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 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 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 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; } }