コード例 #1
0
        private void btnReportePedidos_Click(object sender, EventArgs e)
        {
            // Validar si tiene facturas pendiente
            try
            {
                FacturaLN facturaLN = new FacturaLN();

                if (facturaLN.ObtenerFacturaSinCalificar(MenuCliente._Cliente.Id) != null)
                {
                    tabControl1.SelectedIndex = 1;
                }
                tabControl1.SelectedIndex = 1;
            }
            catch (Exception error)
            {
                MessageBox.Show(this, "Usted no tiene ninguna factura registrada", "Sin facturas", MessageBoxButtons.OK, MessageBoxIcon.Information);

                StringBuilder msg = new StringBuilder();

                msg.AppendFormat("No se pudo llenar un report viewer\n");
                msg.AppendFormat("Message: {0}\n", error.Message);
                msg.AppendFormat("Source: {0}\n", error.Source);
                msg.AppendFormat("Data: {0}\n", error.Data);

                //Salvar el error en el log
                log.Error(msg.ToString());
            }
        }
コード例 #2
0
        public static bool RegistrarFacturaProveedor(string _codFactura, string _fecha, long _ruc, decimal _total)
        {
            bool             resultado  = false;
            FacturaProveedor objFactura = new FacturaProveedor()
            {
                NroFactura = _codFactura,
                FecFactura = _fecha,
                Proveedor  = new Proveedor()
                {
                    RUC = _ruc
                },
                Total = _total
            };

            return(resultado = FacturaLN.GetInstance().RegistrarFacturaProveedor(objFactura));
        }
コード例 #3
0
        public static bool RegistrarDetalleFacturaProveedor(decimal _precio, int _cantidad, decimal _importe, string _nroFactura, string _codMedicamento)
        {
            bool resultado = false;
            DetalleFacturaProveedor objDetalleFactura = new DetalleFacturaProveedor()
            {
                FacturaProveedor = new FacturaProveedor()
                {
                    NroFactura = _nroFactura
                },
                PreUnitario = _precio,
                Cantidad    = _cantidad,
                Importe     = _importe,
                Medicamento = new Medicamento()
                {
                    CodMedicamento = _codMedicamento
                }
            };

            return(resultado = FacturaLN.GetInstance().RegistrarDetalleFacturaProveedor(objDetalleFactura));
        }
コード例 #4
0
        private void btnReporteCupones_Click(object sender, EventArgs e)
        {
            try
            {
                // Validar si tiene facturas pendiente
                FacturaLN facturaLN = new FacturaLN();

                if (facturaLN.ObtenerFacturaSinCalificar(MenuCliente._Cliente.Id) != null)
                {
                    // TODO: esta línea de código carga datos en la tabla 'DSCuponesUsado.PA_ReporteCupones' Puede moverla o quitarla según sea necesario.
                    this.PA_ReporteCuponesTableAdapter.Fill(this.DSCuponesUsado.PA_ReporteCupones, MenuCliente._Cliente.Id);

                    this.rvCuponesUsados.RefreshReport();

                    tabControl1.SelectedIndex = 2;
                }
                else
                {
                    this.PA_ReporteCuponesTableAdapter.Fill(this.DSCuponesUsado.PA_ReporteCupones, MenuCliente._Cliente.Id);

                    this.rvCuponesUsados.RefreshReport();

                    tabControl1.SelectedIndex = 2;
                }
            }
            catch (Exception error)
            {
                MessageBox.Show(this, "Usted no tiene ninguna factura registrada", "Sin facturas", MessageBoxButtons.OK, MessageBoxIcon.Information);

                StringBuilder msg = new StringBuilder();

                msg.AppendFormat("No se pudo llenar un report viewer\n");
                msg.AppendFormat("Message: {0}\n", error.Message);
                msg.AppendFormat("Source: {0}\n", error.Source);
                msg.AppendFormat("Data: {0}\n", error.Data);

                //Salvar el error en el log
                log.Error(msg.ToString());
            }
        }
コード例 #5
0
        private void Cliente_NuevoPedido_Load(object sender, EventArgs e)
        {
            List <Negocio> ListaNegocios = UsuarioDB.ObtenerNegocios();

            dgvNegocios.DataSource = ListaNegocios;

            // Quitar la informacion irrelevante para el usuario
            dgvNegocios.Columns["Contrasenna"].Visible = false;
            dgvNegocios.Columns["Id"].Visible          = false;
            dgvNegocios.Columns["_Direccion"].Visible  = false;
            dgvNegocios.Columns["_Tarjeta"].Visible    = false;
            dgvNegocios.Columns["Activo"].Visible      = false;

            // Validar si tiene facturas pendiente
            try
            {
                FacturaLN facturaLN = new FacturaLN();
                Factura   fac       = facturaLN.ObtenerFacturaSinCalificar(MenuCliente._Cliente.Id);

                if (fac.Estado_Calificacion.ToLower().Equals("sin calificar"))
                {
                    MessageBox.Show(this, "Usted cuenta con una orden en proceso, podrá pedir cuando se cancele la orden actual", "Orden en camino!", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    btnSeleccionar.Enabled = false;
                }
            }catch (Exception error)
            {
                StringBuilder msg = new StringBuilder();

                msg.AppendFormat("El cliente no cuenta con facturas pendientes\n");
                msg.AppendFormat("Message: {0}\n", error.Message);
                msg.AppendFormat("Source: {0}\n", error.Source);
                msg.AppendFormat("Data: {0}\n", error.Data);

                //Salvar el error en el log
                log.Error(msg.ToString());
            }
        }
コード例 #6
0
        public static bool InsertarFactura(string idCliente, string Fecha, string Detalle)
        {
            bool response = FacturaLN.getInstance().RegistrarFactura(idCliente, Fecha, Detalle);

            return(response);
        }
コード例 #7
0
        private void btnAceptarPedido_Click(object sender, EventArgs e)
        {
            int resul = (int)MessageBox.Show(this, "Está seguro que desea ordenar este pedido?", "Aceptar", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);

            // Gurdar todo en la base de datos para que despues aparezca el pedido en la app de Negocio
            if (resul == 6)
            {
                try
                {
                    // Agregar la factura
                    FacturaLN facturaLN = new FacturaLN();
                    _Factura.AsignarEstadoFactura("Pagado");
                    _Factura.AsignarEstadoPedido("En espera");
                    _Factura.AsignarEstadoCalificacion("Sin calificar");
                    facturaLN.IngresarFactura(_Factura.ObtenerFactura());

                    // Agregar detalle factura
                    PedidoLN pedidoLN = new PedidoLN();
                    foreach (Producto prod in lista)
                    {
                        pedidoLN.InsertarDetalleFactura(prod);
                    }

                    // Agregar cupon usado
                    if (_Cupon != null)
                    {
                        facturaLN.InsertarCuponUsado(MenuCliente._Cliente, _Cupon);
                    }

                    // Guardar el xml y pdf y adjuntarlos
                    string xml = _Factura.ObtenerXML();
                    _Factura.GenerarPDF();

                    // Crear xml
                    XmlDocument doc = new XmlDocument();
                    doc.LoadXml(xml);
                    doc.Save("FacturaElectronica.xml");

                    List <string> files = new List <string>();
                    files.Add(@"FacturaElectronica.xml");
                    files.Add(@"FacturaElectronica.pdf");
                    //MenuCliente._Cliente.Correo
                    Correo1.EnviarCorreo(MenuCliente._Cliente.Correo, "Gracias por usar nuestro servicio express", "Delivery S.A | Compra exitosa", files);

                    // Se relaciona el cliente con la factura
                    facturaLN.RelacionarCliente(_Factura.ObtenerFactura());

                    // Se relaciona el negocio con la factura para que aparezca en el dgv de pedidos con valores nulos
                    facturaLN.RelacionarNegocio(_Factura.ObtenerFactura(), -1.0d, "");

                    MessageBox.Show(this, "La orden se ha generado con exito, gracias por su compra", "Compra exitosa", MessageBoxButtons.OK, MessageBoxIcon.Information);

                    log.Info("El cliente: " + MenuCliente._Cliente.Correo + " ha realizado una orden");

                    Close();
                }
                catch (Exception error)
                {
                    MessageBox.Show(this, "Algo no anda bien :c", "Ocurrió un error", MessageBoxButtons.OK, MessageBoxIcon.Error);

                    StringBuilder msg = new StringBuilder();

                    msg.AppendFormat("No se pudo crear la factura o Pedido\n");
                    msg.AppendFormat("Message: {0}\n", error.Message);
                    msg.AppendFormat("Source: {0}\n", error.Source);
                    msg.AppendFormat("Data: {0}\n", error.Data);

                    //Salvar el error en el log
                    log.Error(msg.ToString());
                }
                // La tabla FACTURA USUARIO, se inserta hasta que el cliente puntue a el negocio
            }
        }