コード例 #1
0
        /// <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;
            }
        }
コード例 #2
0
        /// <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;
            }
        }
コード例 #3
0
        /// <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;
            }
        }
コード例 #4
0
        /// <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;
            }
        }
コード例 #5
0
        /// <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;
            }
        }
コード例 #6
0
        /// <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;
            }
        }
コード例 #7
0
        /// <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;
            }
        }
コード例 #8
0
        /// <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;
            }
        }
コード例 #9
0
        /// <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;
            }
        }
コード例 #10
0
        /// <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;
            }
        }
コード例 #11
0
        /// <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;
            }
        }
コード例 #12
0
        /// <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;
            }
        }
コード例 #13
0
        /// <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;
            }
        }
コード例 #14
0
        /// <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;
            }
        }
コード例 #15
0
        /// <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;
            }
        }
コード例 #16
0
        /// <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;
            }
        }
コード例 #17
0
        /// <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;
            }
        }
コード例 #18
0
        /// <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;
            }
        }
コード例 #19
0
        /// <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;
            }
        }
コード例 #20
0
        /// <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;
            }
        }
コード例 #21
0
        /// <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;
            }
        }
コード例 #22
0
        /// <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;
            }
        }
コード例 #23
0
        /// <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;
            }
        }
コード例 #24
0
        /// <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;
            }
        }
コード例 #25
0
        /// <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;
            }
        }
コード例 #26
0
        /// <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;
            }
        }