Пример #1
0
        public EstadoCompraDTO registrarCompra(CompraDTO compraDTO)
        {
            EstadoCompraDTO resp=null;
            Compra c=new Compra();

            resp = c.SetCompra(compraDTO);

            return resp;

        }
Пример #2
0
        public EstadoCompraDTO registrarCompra(CompraDTO compraDTO)
        {
            /*
            EstadoCompraDTO resp=null;
            Compra c=new Compra();

            resp = c.SetCompra(compraDTO);

            return resp;
            */

            return _objCompra.SetCompra(compraDTO);

        }
Пример #3
0
        public EstadoCompraDTO SetCompra(CompraDTO compraDTO)
        {
            ServiceCompra.RegistrarCompraEntrada entrada = new ServiceCompra.RegistrarCompraEntrada();
           
            ServiceCompra.Compra compraWs = new ServiceCompra.Compra();
            
            EstadoCompraDTO respCompra=null;

            try
            {


                compraWs.tarjeta = new ServiceCompra.Tarjeta();
                compraWs.usuarioEnvio = new ServiceCompra.Usuario();
                compraWs.orden = new ServiceCompra.Orden();
                if (compraDTO != null)
                {
                    compraWs.envioTitular = compraDTO.envioTitular;
                }


                //setear todos los objetos.
                // desde compraDTO al los objetos del servicio.


                //datos tarjeta
                if (compraDTO != null && compraDTO.tarjeta != null)
                {
                    compraWs.tarjeta.nombreTitular = compraDTO.tarjeta.nombreTitular;
                    compraWs.tarjeta.numeroTarjeta = Convert.ToString(compraDTO.tarjeta.numeroTarjeta);
                    compraWs.tarjeta.codigoSeguridad = Convert.ToString(compraDTO.tarjeta.codigoSeguridad);
                    string xsdDateTime = SoapDateTime.ToString(compraDTO.tarjeta.fechaExpiracion);
                    //DateTime dateTime = SoapDateTime.Parse(xsdDateTime);
                    //se indica que va la fecha
                    compraWs.tarjeta.fechaExpiracionSpecified = true;
                    compraWs.tarjeta.fechaExpiracion = xsdDateTime;
                   
                }
                //Fin Datos tarjeta

                //datos usuario envio
                if (compraDTO != null && compraDTO.usuarioEnvio!= null)
                {
                    compraWs.usuarioEnvio.nombreUsuario = compraDTO.usuarioEnvio.nombreUsuario;
                    compraWs.usuarioEnvio.nombre = compraDTO.usuarioEnvio.nombre;
                    compraWs.usuarioEnvio.apellido = compraDTO.usuarioEnvio.apellido;
                    compraWs.usuarioEnvio.tipoDocumento = compraDTO.usuarioEnvio.tipoDocumento;
                    compraWs.usuarioEnvio.numeroDocumento = Convert.ToString(compraDTO.usuarioEnvio.numeroDocumento);
                    compraWs.usuarioEnvio.correoElectronico = compraDTO.usuarioEnvio.correoElectronico;
                    compraWs.usuarioEnvio.telefono= compraDTO.usuarioEnvio.telefono;
                    compraWs.usuarioEnvio.direccion = new ServiceCompra.Direccion();
                    if (compraDTO.usuarioEnvio.ubicacionCliente != null)
                    {
                        compraWs.usuarioEnvio.direccion.numero = compraDTO.usuarioEnvio.ubicacionCliente.numeroDireccion;
                        compraWs.usuarioEnvio.direccion.ciudad = compraDTO.usuarioEnvio.ubicacionCliente.nombreCiudad;
                        compraWs.usuarioEnvio.direccion.idCiudad = compraDTO.usuarioEnvio.ubicacionCliente.idCiudad;
                        compraWs.usuarioEnvio.direccion.departamento = compraDTO.usuarioEnvio.ubicacionCliente.nombreDepartamento;
                        compraWs.usuarioEnvio.direccion.idDepartamento = compraDTO.usuarioEnvio.ubicacionCliente.idDepartamento;
                        compraWs.usuarioEnvio.direccion.pais = compraDTO.usuarioEnvio.ubicacionCliente.nombrePais;
                        compraWs.usuarioEnvio.direccion.idPais = compraDTO.usuarioEnvio.ubicacionCliente.idPais;
                    }

                }

                //Fin datos usuario envio

                //datos ordencompra
                if (compraDTO.ordenCompra != null)
                {
                    compraWs.orden.idOrden = Convert.ToInt32(compraDTO.ordenCompra.idOrden);
                    compraWs.orden.numeroItems = compraDTO.ordenCompra.numeroItemsOrden;
                    //se dice que el campo opcional numeroitem esta activo
                    compraWs.orden.numeroItemsSpecified = true;
                    compraWs.orden.total = compraDTO.ordenCompra.totalOrden;
                    //se dice que el campo opcional total esta activo
                    compraWs.orden.totalSpecified= true;      
                    compraWs.orden.cliente = new ServiceCompra.Usuario();
                    

                    //Usuario Titular Orden
                    if (compraDTO.ordenCompra.usuarioOrden != null)
                    {

                        compraWs.orden.cliente.nombreUsuario = compraDTO.ordenCompra.usuarioOrden.nombreUsuario;
                        compraWs.orden.cliente.nombre = compraDTO.ordenCompra.usuarioOrden.nombre;
                        compraWs.orden.cliente.apellido = compraDTO.ordenCompra.usuarioOrden.apellido;
                        compraWs.orden.cliente.tipoDocumento = compraDTO.ordenCompra.usuarioOrden.tipoDocumento;
                        compraWs.orden.cliente.numeroDocumento = Convert.ToString(compraDTO.ordenCompra.usuarioOrden.numeroDocumento);
                        compraWs.orden.cliente.correoElectronico = compraDTO.ordenCompra.usuarioOrden.correoElectronico;
                        compraWs.orden.cliente.telefono = compraDTO.ordenCompra.usuarioOrden.telefono;
                        compraWs.orden.cliente.direccion = new ServiceCompra.Direccion();
                        if (compraDTO.ordenCompra.usuarioOrden.ubicacionCliente != null)
                        {
                            compraWs.orden.cliente.direccion.numero = compraDTO.ordenCompra.usuarioOrden.ubicacionCliente.numeroDireccion;
                            compraWs.orden.cliente.direccion.ciudad = compraDTO.ordenCompra.usuarioOrden.ubicacionCliente.nombreCiudad;
                            compraWs.orden.cliente.direccion.departamento = compraDTO.ordenCompra.usuarioOrden.ubicacionCliente.nombreDepartamento;
                        }

                    }//fin if usuario tirular

                    //datos ordencDetalleItems
                    if(compraDTO.ordenCompra!=null && compraDTO.ordenCompra.listaItemsOrden!=null)
                    {
                        compraWs.orden.listaItems= new ServiceCompra.Item[compraDTO.ordenCompra.listaItemsOrden.Count];
                        ServiceCompra.Item itemWs = null;
                        ItemOrdenDTO itemCompra = null;

                        ServiceCompra.Producto productoWs=null;
                        ProductosDTO productoCompra = null;
                        for (int i = 0; i < compraDTO.ordenCompra.listaItemsOrden.Count; i++)
                        {
                            itemWs=new ServiceCompra.Item();
                            itemCompra= compraDTO.ordenCompra.listaItemsOrden[i];

                            itemWs.cantidad = itemCompra.cantidadItem;

                            itemWs.tipo = itemCompra.tipo;
                            itemWs.idCampania = Convert.ToInt32(itemCompra.idCampania);
                            itemWs.idCampaniaSpecified = true;

                            productoCompra = itemCompra.producto;
                            productoWs = null;
                            if (productoCompra != null)
                            {
                                productoWs = new ServiceCompra.Producto();
                                productoWs.codigoProducto = productoCompra.codigoProducto;
                                productoWs.descripcionProducto = productoCompra.descripcionProducto;
                                productoWs.fabricanteProducto = productoCompra.fabricanteProducto;
                                productoWs.idProductoSpecified = true;
                                productoWs.idProducto = productoCompra.idProducto;
                                

                                productoWs.nombreImagenProducto = productoCompra.nombreImagenProducto;
                                productoWs.nombreProducto= productoCompra.nombreProducto;
                                productoWs.precioProductoSpecified = true;
                                productoWs.precioProducto = productoCompra.precioProducto;



                                productoWs.tipoProducto = new ServiceCompra.TipoProducto();
                                productoWs.tipoProducto.categoria = new ServiceCompra.Tipo();
                                productoWs.tipoProducto.subCategoria = new ServiceCompra.Tipo();

                                productoWs.tipoProducto.categoria.nombreTipo = productoCompra.nombreCategoria;


                                productoWs.tipoProducto.subCategoria.idTipo = productoCompra.idSubcategoria;

                                productoWs.tipoProducto.subCategoria.nombreTipo = productoCompra.nombreSubcategoria;



                            }

                            itemWs.producto = productoWs;


                            compraWs.orden.listaItems[i] = itemWs;
                        }//cierra for
                   
                    }
                    //Fin datos ordencDetalleItems


                }

                //Fin datos ordencompra

                ServiceCompra.PortCompraClient clienteWs = new ServiceCompra.PortCompraClient();
                ServiceCompra.RegistrarCompraSalida salida;
                entrada.compra = compraWs;
                

                salida = clienteWs.registrarCompra(entrada);
                if (salida != null)
                {
                    respCompra = new EstadoCompraDTO();
                   
                    if (salida != null)
                    {
                        respCompra.EstadoTarjeta = salida.estadoTarjeta;
                        if (salida.idPreOrden != null)
                        {
                            respCompra.IdPreOrden = salida.idPreOrden;
                        }
                    }

                }

            }
            catch (Exception e)
            {
                Console.WriteLine("Error  SetCompra " + e.Message);

                respCompra = null;
            }

               
            return respCompra;
        }
Пример #4
0
        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");
            }

        }