// public List<OrdenDTO> ConsultarOrdenesUsuario(int idOrden, ClienteDTO cliente, string estadoOrden) { List<OrdenDTO> lstOrdenes = null; ServiceOrdenes.ConsultaOrdenEntrada entrada = new ServiceOrdenes.ConsultaOrdenEntrada(); try { entrada.idOrden = idOrden; entrada.idOrdenSpecified = true; entrada.estadoOrden = estadoOrden; if (cliente != null) { entrada.cliente = new ServiceOrdenes.Usuario { nombre = cliente.nombre, nombreUsuario = cliente.nombreUsuario, //apellido = cliente.apellido, //tipoDocumento = cliente.tipoDocumento, //numeroDocumento = cliente.numeroDocumento, correoElectronico = cliente.correoElectronico //telefono = cliente.telefono, //direccion = new ServiceOrdenes.Direccion //{ //numero = cliente.ubicacionCliente.numeroDireccion, //ciudad = cliente.ubicacionCliente.nombreCiudad, //departamento = cliente.ubicacionCliente.nombreDepartamento //} }; } ServiceOrdenes.PortOrdenClient clienteWs = new ServiceOrdenes.PortOrdenClient(); ServiceOrdenes.ConsultaOrdenSalida salida; salida = clienteWs.consultarOrden(entrada); lstOrdenes = new List<OrdenDTO>(); foreach (var item in salida.listaOrdenes) { OrdenDTO ord = new OrdenDTO(); ord.idOrden = item.idOrden; ord.idPreOrden = item.idPreOrden; ord.fechaOrden = item.fechaOrden; ord.estadoOrden = item.estadoOrden; ord.idEstadoOrden = item.idEstadoOrden; ord.numeroItemsOrden = item.numeroItems; ord.totalOrden = item.total; ClienteDTO cli = new ClienteDTO(); cli.nombre = (item.cliente.nombre == null ? "" : item.cliente.nombre); cli.nombreUsuario = (item.cliente.nombreUsuario == null ? "" : item.cliente.nombreUsuario); cli.apellido = item.cliente.apellido; cli.tipoDocumento = item.cliente.tipoDocumento; cli.numeroDocumento = item.cliente.numeroDocumento; cli.correoElectronico = item.cliente.correoElectronico; cli.telefono = item.cliente.telefono; UbicacionDTO ubi = new UbicacionDTO(); if (item.cliente.direccion != null) { ubi.numeroDireccion = (item.cliente.direccion.numero == null ? "" : item.cliente.direccion.numero); ubi.idCiudad = (item.cliente.direccion.idCiudad == null ? -1 : item.cliente.direccion.idCiudad); ubi.nombreCiudad = (item.cliente.direccion.ciudad == null ? "" : item.cliente.direccion.ciudad); ubi.idDepartamento = (item.cliente.direccion.idDepartamento == null ? -1 : item.cliente.direccion.idDepartamento); ubi.nombreDepartamento = (item.cliente.direccion.departamento == null ? "" : item.cliente.direccion.departamento); } cli.ubicacionCliente = ubi; ord.usuarioOrden = cli; List<ItemOrdenDTO> listaItemsOrden = new List<ItemOrdenDTO>(); ProductosDTO pro; foreach (var itemOrden in item.listaItems) { ItemOrdenDTO io = new ItemOrdenDTO(); io.cantidadItem = itemOrden.cantidad; io.tipo = itemOrden.tipo; io.idCampania = itemOrden.idCampania; pro = new ProductosDTO(); pro.idProducto = (itemOrden.producto.idProducto == null ? -1 : itemOrden.producto.idProducto); pro.codigoProducto = (itemOrden.producto.codigoProducto == null ? "" : itemOrden.producto.codigoProducto); pro.nombreProducto = (itemOrden.producto.nombreProducto == null ? "" : itemOrden.producto.nombreProducto); pro.descripcionProducto = (itemOrden.producto.descripcionProducto == null ? "" : itemOrden.producto.descripcionProducto); pro.fabricanteProducto = (itemOrden.producto.fabricanteProducto == null ? "" : itemOrden.producto.fabricanteProducto); pro.nombreImagenProducto = (itemOrden.producto.nombreImagenProducto == null ? "" : itemOrden.producto.nombreImagenProducto); pro.precioProducto = (itemOrden.producto.precioProducto == null ? 0 : itemOrden.producto.precioProducto); if (itemOrden.producto.tipoProducto != null) { pro.idCategoria = (itemOrden.producto.tipoProducto.categoria.idTipo == null ? -1 : itemOrden.producto.tipoProducto.categoria.idTipo); pro.nombreCategoria = (itemOrden.producto.tipoProducto.categoria.nombreTipo == null ? "" : itemOrden.producto.tipoProducto.categoria.nombreTipo); pro.idSubcategoria = (itemOrden.producto.tipoProducto.subCategoria.idTipo == null ? -1 : itemOrden.producto.tipoProducto.subCategoria.idTipo); pro.nombreSubcategoria = (itemOrden.producto.tipoProducto.subCategoria.nombreTipo == null ? "" : itemOrden.producto.tipoProducto.subCategoria.nombreTipo); } io.totalItem = io.cantidadItem * pro.precioProducto; io.producto = pro; listaItemsOrden.Add(io); ord.listaItemsOrden = listaItemsOrden.ToList(); } lstOrdenes.Add(ord); } } catch (Exception e) { Console.WriteLine("Error en Web service Ordenes: " + e.Message); throw new Exception("Error - WebService Ordenes"); } /* lstOrdenes = new List<OrdenDTO> { new OrdenDTO { idOrden = 39912, numeroItemsOrden = 1, fechaOrden = System.DateTime.Today, totalOrden = 50000, usuarioOrden = null, listaItemsOrden = null, idEstadoOrden = 1, estadoOrden = "PRE-APROBADA" } }; */ return lstOrdenes; } //ConsultarOrdenesUsuario
protected void CheckoutConfirm_Click(object sender, EventArgs ev) { EstadoCompraDTO estadoCompra = null; CompraDTO myOrder = new CompraDTO(); try { //LLenar todo el objeto de las ordenes. // Get the shopping cart items and process them. using (KallSonysB2C.Logic.ShoppingCartActions usersShoppingCart = new KallSonysB2C.Logic.ShoppingCartActions()) { List<CartItem> myOrderList = usersShoppingCart.GetCartItems(); myOrder.envioTitular = false; //datos Tarjeta TarjetaDTO tarjeta = new TarjetaDTO(); tarjeta.nombreTitular = this.TextBoxnomTJ.Text; long numeroTrajeta = 0; if (TextBoxNumeroTJ != null && TextBoxNumeroTJ.Text != null) { numeroTrajeta = Convert.ToInt64(TextBoxNumeroTJ.Text); } tarjeta.numeroTarjeta = numeroTrajeta; int codSeg = 0; if (TextBoxCodigoVeri != null && TextBoxCodigoVeri.Text != null) { codSeg = Convert.ToInt32(TextBoxCodigoVeri.Text); } tarjeta.codigoSeguridad = codSeg; DateTime fechaExp = new DateTime(); try { //jf //String StrFecha = CalendarExp.Text; String StrFecha = "01/" + ddlMes.SelectedItem.Text + "/" + ddlAnio.SelectedItem.Text; fechaExp = DateTime.ParseExact(StrFecha, "dd/MM/yyyy", null); } catch (Exception e) { Console.Write("Error en fecha " + e); } tarjeta.fechaExpiracion = fechaExp; //se asignan los datos de la tarjeta myOrder.tarjeta = tarjeta; //Fin Datos Tarjeta. //datos Usuario Envio ClienteDTO usuarioEnvio = new ClienteDTO(); usuarioEnvio.nombreUsuario = null; //usuario no registrado, datos envio usuarioEnvio.nombre = this.TextBoxNombre.Text; usuarioEnvio.apellido = this.TextBoxApellido.Text; usuarioEnvio.tipoDocumento = this.DropDownTipoDoc.SelectedValue; string numDoc = string.Empty; if (TextBoxNoDoc != null && TextBoxNoDoc.Text != null) { numDoc = TextBoxNoDoc.Text.Trim(); } usuarioEnvio.numeroDocumento = numDoc; usuarioEnvio.correoElectronico = TextBoxCorreo.Text; usuarioEnvio.telefono = TextBoxTelefono.Text; //datos de la direccion UbicacionDTO ubicacion = new UbicacionDTO(); ubicacion.numeroDireccion = TextBoxDireccion.Text; ubicacion.nombrePais = ddlPais.SelectedItem.Text; ubicacion.idPais = Convert.ToInt32(ddlPais.SelectedValue); ubicacion.nombreDepartamento = ddlDepartamento.SelectedItem.Text; ubicacion.idDepartamento = Convert.ToInt32(ddlDepartamento.SelectedValue); ubicacion.nombreCiudad = ddlCiudad.SelectedItem.Text; ubicacion.idCiudad = Convert.ToInt32(ddlCiudad.SelectedValue); usuarioEnvio.ubicacionCliente = ubicacion; myOrder.usuarioEnvio = usuarioEnvio; //Fin datos Usuario Envio //datos Orden OrdenDTO ordencCompra = new OrdenDTO(); if (myOrderList != null) { ordencCompra.numeroItemsOrden = myOrderList.Count; } else { ordencCompra.numeroItemsOrden = 0; } String totalOrdenStr = ""; double totalOrden = 0; try { if (Session["payment_amt"] != null) { totalOrdenStr = Session["payment_amt"].ToString(); } totalOrden = Convert.ToDouble(totalOrdenStr); } catch (Exception ex) { Console.WriteLine("Error convertir total orden " + ex.Message); } ordencCompra.totalOrden = totalOrden; ClienteDTO userOrden = new ClienteDTO(); if (User != null && User.Identity != null) { userOrden.correoElectronico = User.Identity.Name; userOrden.nombreUsuario = User.Identity.Name; } ordencCompra.usuarioOrden = userOrden; //Fin datos Orden //datos Detalle Orden List<ItemOrdenDTO> listaItemsOrden = new List<ItemOrdenDTO>(); if (myOrderList != null) { ItemOrdenDTO itemOrden = null; foreach (CartItem cartItem in myOrderList) { itemOrden = new ItemOrdenDTO(); itemOrden.cantidadItem = cartItem.Quantity; itemOrden.totalItem = (cartItem.Quantity * cartItem.valorUnitarioItem); if (cartItem.Product != null && cartItem.Product.TipoItem.Equals("C")) { itemOrden.tipo = true; itemOrden.idCampania = cartItem.ProductId; } else { itemOrden.tipo = false; } ProductosDTO unProducto = null; //copia del producto if (cartItem.Product != null) { unProducto = new ProductosDTO(); unProducto.codigoProducto = cartItem.Product.codigoProducto; unProducto.descripcionProducto = cartItem.Product.descripcionProducto; unProducto.fabricanteProducto = cartItem.Product.fabricanteProducto; if (cartItem.Product != null && cartItem.Product.TipoItem.Equals("C")) { unProducto.idProducto = cartItem.ProductId; } else { unProducto.idProducto = cartItem.Product.idProducto; } unProducto.idSubcategoria = cartItem.Product.idSubcategoria; unProducto.nombreCategoria = cartItem.Product.nombreCategoria; unProducto.nombreImagenProducto = cartItem.Product.nombreImagenProducto; unProducto.nombreProducto = cartItem.Product.nombreProducto; unProducto.nombreSubcategoria = cartItem.Product.nombreSubcategoria; unProducto.precioProducto = cartItem.Product.precioProducto; unProducto.TipoItem = cartItem.Product.TipoItem; } itemOrden.producto = unProducto; // fin copia producto listaItemsOrden.Add(itemOrden); }//fin for } ordencCompra.listaItemsOrden = listaItemsOrden; // Fin datos Detalle Orden //Set orden final myOrder.ordenCompra = ordencCompra; }// fin using //CompraBL compraBL = new CompraBL(); //se llama al servicio. //estadoCompra = compraBL.registrarCompra(myOrder); estadoCompra = objCompra.registrarCompra(myOrder); if (estadoCompra != null && estadoCompra.IdPreOrden != null && estadoCompra.EstadoTarjeta == true) { Session["userCheckoutCompleted"] = "true"; Session["payerId"] = estadoCompra.IdPreOrden; //se debe borrar la lista del carro. using (KallSonysB2C.Logic.ShoppingCartActions usersShoppingCart = new KallSonysB2C.Logic.ShoppingCartActions()) { usersShoppingCart.EmptyCart(); } Response.Redirect("~/Checkout/CheckoutComplete.aspx", false); } else { Session["userCheckoutCompleted"] = "false"; Session.Remove("payerId"); if (estadoCompra != null && estadoCompra.EstadoTarjeta == false) { //mensaje de que no fue exitoso o que la tarjeta es invalida. KallSonysB2C.Logic.MessageBox.Show("Tarjeta de Credito No Valida"); } else { KallSonysB2C.Logic.MessageBox.Show("Error Al Registrar Su orden de Compra - Intente Nuevamente"); } } } catch (Exception ex) { Session["userCheckoutCompleted"] = "false"; Session.Remove("payerId"); Console.WriteLine("Error CheckoutConfirm_Click" + ex.Message); KallSonysB2C.Logic.MessageBox.Show("Error en Registro - Intente Nuevamente"); } }