예제 #1
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;
            }
        }
예제 #2
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;
            }
        }
예제 #3
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;
            }
        }