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