Esempio n. 1
0
        private void BtnAceptar_Click(object sender, EventArgs e)
        {
            if (!Ambiente.LoggedUser.Facturar)
            {
                Ambiente.Mensaje("Operacion denegada. No tienes permiso para operar esta vista.");
                return;
            }

            if (venta == null)
            {
                Ambiente.Mensaje("Proceso abortado, no se encontró ninguna ticket seleccionado");
                return;
            }

            //Si no seleccionó otro cliente, se recupera el de la venta
            if (cliente == null)
            {
                cliente = clienteController.SelectOne(venta.ClienteId);
            }

            //verificar que no sea pago con puntos
            if (venta.PuntosAplicados || venta.DescXpuntos > 0)
            {
                Ambiente.Mensaje("Proceso abortado, el documento se cobró con puntos.");
                return;
            }

            //valida rfc
            if (Ambiente.RFCvalido(cliente.Rfc))
            {
                //Anula el ticket y crea la venta factura (sin timbrar)
                if (ClonarVenta())
                {
                    var oCFDI = new CFDI();
                    oCFDI.Venta = venta;

                    //Timbra la venta
                    if (oCFDI.Facturar())
                    {
                        //  Ambiente.SaveAndPrintFactura(venta, true, false);
                        Ambiente.SaveAndPrintFactura(venta, true, false);


                        Close();
                    }
                    else
                    {
                        Ambiente.Mensaje("Algo salió mal al facturar la venta");
                    }
                }
                else
                {
                    Ambiente.Mensaje("No se clonó la venta");
                }
            }
            else
            {
                Ambiente.Mensaje("El rfc del cliente está mal formado");
            }
        }
Esempio n. 2
0
        private void InsertOrUpdate()
        {
            bool success = false;

            if (Ambiente.RFCvalido(TxtRFC.Text.Trim()))
            {
                if (objeto == null && TxtClienteId.Text.Trim().Length > 0)
                {
                    objeto                 = new Cliente();
                    objeto.ClienteId       = TxtClienteId.Text.Trim();
                    objeto.Rfc             = TxtRFC.Text.Trim().Length == 0 ? "XAXX010101000" : TxtRFC.Text.Trim();
                    objeto.Negocio         = TxtNegocio.Text.Trim().Length == 0 ? "" : TxtNegocio.Text.Trim();
                    objeto.RazonSocial     = TxtRazonSocial.Text.Trim().Length == 0 ? "" : TxtRazonSocial.Text.Trim();
                    objeto.Contancto       = TxtContacto.Text.Trim().Length == 0 ? "" : TxtContacto.Text.Trim();
                    objeto.Direccion       = TxtDireccion.Text.Trim().Length == 0 ? "" : TxtDireccion.Text.Trim();
                    objeto.Cp              = TxtCp.Text.Trim().Length == 0 ? "" : TxtCp.Text.Trim();
                    objeto.Colonia         = TxtColonia.Text.Trim().Length == 0 ? "" : TxtColonia.Text.Trim();
                    objeto.Municipio       = TxtMunicipio.Text.Trim().Length == 0 ? "" : TxtMunicipio.Text.Trim();
                    objeto.Localidad       = TxtLocalidad.Text.Trim().Length == 0 ? "" : TxtLocalidad.Text.Trim();
                    objeto.Estado          = TxtEstado.Text.Trim().Length == 0 ? "" : TxtEstado.Text.Trim();
                    objeto.Pais            = TxtPais.Text.Trim().Length == 0 ? "" : TxtPais.Text.Trim();
                    objeto.Correo          = TxtCorreo.Text.Trim().Length == 0 ? "" : TxtCorreo.Text.Trim();
                    objeto.Telefono        = TxtTelefono.Text.Trim().Length == 0 ? "" : TxtTelefono.Text.Trim();
                    objeto.Celular         = TxtCelular.Text.Trim().Length == 0 ? "" : TxtCelular.Text.Trim();
                    objeto.MetodoPagoId    = TxtMetodoPago.Text.Trim().Length == 0 ? "01" : TxtMetodoPago.Text.Trim();
                    objeto.FormaPagoId     = TxtFormaPago.Text.Trim().Length == 0 ? "PUE" : TxtFormaPago.Text.Trim();
                    objeto.PrecioDefault   = CboPrecioDefault.Text.Trim().Length == 0 ? 1 : Convert.ToInt32(CboPrecioDefault.Text.Trim());
                    objeto.UsoCfdiid       = TxtUsoCFDI.Text.Trim().Length == 0 ? "G01" : TxtUsoCFDI.Text.Trim();
                    objeto.NoTarjetaPuntos = TxtNoTarjetaPuntos.Text.Trim().Length == 0 ? null : TxtNoTarjetaPuntos.Text.Trim();
                    success                = decimal.TryParse(TxtLimiteCredito.Text.Trim(), out decimal nLimite);
                    success                = int.TryParse(TxtDiasCredito.Text.Trim(), out int nDias);
                    if (success)
                    {
                        objeto.LimiteCredito = nLimite;
                        objeto.DiasCredito   = nDias;
                    }
                    else
                    {
                        objeto.LimiteCredito = 0M;
                        objeto.DiasCredito   = 0;
                    }

                    if (clienteController.InsertOne(objeto))
                    {
                        Ambiente.Mensaje(Ambiente.CatalgoMensajes[3]);
                    }
                    else
                    {
                        Ambiente.Mensaje(Ambiente.CatalgoMensajes[-1] + "@" + GetType().Name);
                    }
                }
                else
                {
                    if (objeto == null)
                    {
                        return;
                    }

                    objeto.Rfc             = TxtRFC.Text.Trim().Length == 0 ? "XAXX010101000" : TxtRFC.Text.Trim();
                    objeto.Negocio         = TxtNegocio.Text.Trim().Length == 0 ? "" : TxtNegocio.Text.Trim();
                    objeto.RazonSocial     = TxtRazonSocial.Text.Trim().Length == 0 ? "" : TxtRazonSocial.Text.Trim();
                    objeto.Contancto       = TxtContacto.Text.Trim().Length == 0 ? "" : TxtContacto.Text.Trim();
                    objeto.Direccion       = TxtDireccion.Text.Trim().Length == 0 ? "" : TxtDireccion.Text.Trim();
                    objeto.Cp              = TxtCp.Text.Trim().Length == 0 ? "" : TxtCp.Text.Trim();
                    objeto.Colonia         = TxtColonia.Text.Trim().Length == 0 ? "" : TxtColonia.Text.Trim();
                    objeto.Municipio       = TxtMunicipio.Text.Trim().Length == 0 ? "" : TxtMunicipio.Text.Trim();
                    objeto.Localidad       = TxtLocalidad.Text.Trim().Length == 0 ? "" : TxtLocalidad.Text.Trim();
                    objeto.Estado          = TxtEstado.Text.Trim().Length == 0 ? "" : TxtEstado.Text.Trim();
                    objeto.Pais            = TxtPais.Text.Trim().Length == 0 ? "" : TxtPais.Text.Trim();
                    objeto.Correo          = TxtCorreo.Text.Trim().Length == 0 ? "" : TxtCorreo.Text.Trim();
                    objeto.Telefono        = TxtTelefono.Text.Trim().Length == 0 ? "" : TxtTelefono.Text.Trim();
                    objeto.Celular         = TxtCelular.Text.Trim().Length == 0 ? "" : TxtCelular.Text.Trim();
                    objeto.MetodoPagoId    = TxtMetodoPago.Text.Trim().Length == 0 ? "01" : TxtMetodoPago.Text.Trim();
                    objeto.FormaPagoId     = TxtFormaPago.Text.Trim().Length == 0 ? "PUE" : TxtFormaPago.Text.Trim();
                    objeto.PrecioDefault   = CboPrecioDefault.Text.Trim().Length == 0 ? 1 : Convert.ToInt32(CboPrecioDefault.Text.Trim());
                    objeto.UsoCfdiid       = TxtUsoCFDI.Text.Trim().Length == 0 ? "G01" : TxtUsoCFDI.Text.Trim();
                    objeto.NoTarjetaPuntos = TxtNoTarjetaPuntos.Text.Trim().Length == 0 ? null : TxtNoTarjetaPuntos.Text.Trim();

                    objeto.TieneMonedero = ChkMonedero.Checked;
                    success = decimal.TryParse(TxtLimiteCredito.Text.Trim(), out decimal nLimite);
                    success = int.TryParse(TxtDiasCredito.Text.Trim(), out int nDias);
                    if (success)
                    {
                        objeto.LimiteCredito = nLimite;
                        objeto.DiasCredito   = nDias;
                    }
                    else
                    {
                        objeto.LimiteCredito = 0M;
                        objeto.DiasCredito   = 0;
                    }

                    if (clienteController.Update(objeto))
                    {
                        Ambiente.Mensaje(Ambiente.CatalgoMensajes[3]);
                    }
                    else
                    {
                        Ambiente.Mensaje(Ambiente.CatalgoMensajes[-1] + "@" + GetType().Name);
                    }
                }
            }
            else
            {
                if (Ambiente.Pregunta("El rfc podría estar mal formado, quiere continuar"))
                {
                    if (objeto == null && TxtClienteId.Text.Trim().Length > 0)
                    {
                        objeto                   = new Cliente();
                        objeto.ClienteId         = TxtClienteId.Text.Trim();
                        objeto.Rfc               = TxtRFC.Text.Trim().Length == 0 ? "XAXX010101000" : TxtRFC.Text.Trim();
                        objeto.Negocio           = TxtNegocio.Text.Trim().Length == 0 ? "" : TxtNegocio.Text.Trim();
                        objeto.RazonSocial       = TxtRazonSocial.Text.Trim().Length == 0 ? "" : TxtRazonSocial.Text.Trim();
                        objeto.Contancto         = TxtContacto.Text.Trim().Length == 0 ? "" : TxtContacto.Text.Trim();
                        objeto.Direccion         = TxtDireccion.Text.Trim().Length == 0 ? "" : TxtDireccion.Text.Trim();
                        objeto.Cp                = TxtCp.Text.Trim().Length == 0 ? "" : TxtCp.Text.Trim();
                        objeto.Colonia           = TxtColonia.Text.Trim().Length == 0 ? "" : TxtColonia.Text.Trim();
                        objeto.Municipio         = TxtMunicipio.Text.Trim().Length == 0 ? "" : TxtMunicipio.Text.Trim();
                        objeto.Localidad         = TxtLocalidad.Text.Trim().Length == 0 ? "" : TxtLocalidad.Text.Trim();
                        objeto.Estado            = TxtEstado.Text.Trim().Length == 0 ? "" : TxtEstado.Text.Trim();
                        objeto.Pais              = TxtPais.Text.Trim().Length == 0 ? "" : TxtPais.Text.Trim();
                        objeto.Correo            = TxtCorreo.Text.Trim().Length == 0 ? "" : TxtCorreo.Text.Trim();
                        objeto.Telefono          = TxtTelefono.Text.Trim().Length == 0 ? "" : TxtTelefono.Text.Trim();
                        objeto.Celular           = TxtCelular.Text.Trim().Length == 0 ? "" : TxtCelular.Text.Trim();
                        objeto.MetodoPagoId      = TxtMetodoPago.Text.Trim().Length == 0 ? "PUE" : TxtMetodoPago.Text.Trim();
                        objeto.FormaPagoId       = TxtFormaPago.Text.Trim().Length == 0 ? "01" : TxtFormaPago.Text.Trim();
                        objeto.PrecioDefault     = CboPrecioDefault.Text.Trim().Length == 0 ? 1 : Convert.ToInt32(CboPrecioDefault.Text.Trim());
                        objeto.UsoCfdiid         = TxtUsoCFDI.Text.Trim().Length == 0 ? "G01" : TxtUsoCFDI.Text.Trim();
                        objeto.NoTarjetaPuntos   = TxtNoTarjetaPuntos.Text.Trim().Length == 0 ? null : TxtNoTarjetaPuntos.Text.Trim();
                        objeto.DineroElectronico = 0;
                        objeto.TieneMonedero     = ChkMonedero.Checked;
                        success                  = decimal.TryParse(TxtLimiteCredito.Text.Trim(), out decimal nLimite);
                        success                  = int.TryParse(TxtDiasCredito.Text.Trim(), out int nDias);
                        if (success)
                        {
                            objeto.LimiteCredito = nLimite;
                            objeto.DiasCredito   = nDias;
                        }
                        else
                        {
                            objeto.LimiteCredito = 0M;
                            objeto.DiasCredito   = 0;
                        }

                        if (clienteController.InsertOne(objeto))
                        {
                            Ambiente.Mensaje(Ambiente.CatalgoMensajes[3]);
                        }
                        else
                        {
                            Ambiente.Mensaje(Ambiente.CatalgoMensajes[-1] + "@" + GetType().Name);
                        }
                    }
                    else
                    {
                        if (objeto == null)
                        {
                            return;
                        }

                        objeto.Rfc             = TxtRFC.Text.Trim().Length == 0 ? "XAXX010101000" : TxtRFC.Text.Trim();
                        objeto.Negocio         = TxtNegocio.Text.Trim().Length == 0 ? "" : TxtNegocio.Text.Trim();
                        objeto.RazonSocial     = TxtRazonSocial.Text.Trim().Length == 0 ? "" : TxtRazonSocial.Text.Trim();
                        objeto.Contancto       = TxtContacto.Text.Trim().Length == 0 ? "" : TxtContacto.Text.Trim();
                        objeto.Direccion       = TxtDireccion.Text.Trim().Length == 0 ? "" : TxtDireccion.Text.Trim();
                        objeto.Cp              = TxtCp.Text.Trim().Length == 0 ? "" : TxtCp.Text.Trim();
                        objeto.Colonia         = TxtColonia.Text.Trim().Length == 0 ? "" : TxtColonia.Text.Trim();
                        objeto.Municipio       = TxtMunicipio.Text.Trim().Length == 0 ? "" : TxtMunicipio.Text.Trim();
                        objeto.Localidad       = TxtLocalidad.Text.Trim().Length == 0 ? "" : TxtLocalidad.Text.Trim();
                        objeto.Estado          = TxtEstado.Text.Trim().Length == 0 ? "" : TxtEstado.Text.Trim();
                        objeto.Pais            = TxtPais.Text.Trim().Length == 0 ? "" : TxtPais.Text.Trim();
                        objeto.Correo          = TxtCorreo.Text.Trim().Length == 0 ? "" : TxtCorreo.Text.Trim();
                        objeto.Telefono        = TxtTelefono.Text.Trim().Length == 0 ? "" : TxtTelefono.Text.Trim();
                        objeto.Celular         = TxtCelular.Text.Trim().Length == 0 ? "" : TxtCelular.Text.Trim();
                        objeto.MetodoPagoId    = TxtMetodoPago.Text.Trim().Length == 0 ? "01" : TxtMetodoPago.Text.Trim();
                        objeto.FormaPagoId     = TxtFormaPago.Text.Trim().Length == 0 ? "PUE" : TxtFormaPago.Text.Trim();
                        objeto.PrecioDefault   = CboPrecioDefault.Text.Trim().Length == 0 ? 1 : Convert.ToInt32(CboPrecioDefault.Text.Trim());
                        objeto.UsoCfdiid       = TxtUsoCFDI.Text.Trim().Length == 0 ? "G01" : TxtUsoCFDI.Text.Trim();
                        objeto.NoTarjetaPuntos = TxtNoTarjetaPuntos.Text.Trim().Length == 0 ? null : TxtNoTarjetaPuntos.Text.Trim();
                        objeto.TieneMonedero   = ChkMonedero.Checked;
                        success = decimal.TryParse(TxtLimiteCredito.Text.Trim(), out decimal nLimite);
                        success = int.TryParse(TxtDiasCredito.Text.Trim(), out int nDias);
                        if (success)
                        {
                            objeto.LimiteCredito = nLimite;
                            objeto.DiasCredito   = nDias;
                        }
                        else
                        {
                            objeto.LimiteCredito = 0M;
                            objeto.DiasCredito   = 0;
                        }

                        if (clienteController.Update(objeto))
                        {
                            Ambiente.Mensaje(Ambiente.CatalgoMensajes[3]);
                        }
                        else
                        {
                            Ambiente.Mensaje(Ambiente.CatalgoMensajes[-1] + "@" + GetType().Name);
                        }
                    }
                }
                else
                {
                    return;
                }
            }
        }
        private void BtnFacturar_Click(object sender, EventArgs e)
        {
            if (Malla.RowCount > 0)
            {
                int index = Malla.CurrentCell.RowIndex;
                int i     = 0;
                foreach (var f in facturas)
                {
                    if (index == i && f.EsFacturaGlobal)
                    {
                        oCFDI.Venta = f;
                    }

                    i++;
                }
            }



            if (oCFDI.Venta == null)
            {
                Ambiente.Mensaje("Primero actualice los datos del cliente");
                return;
            }
            if (oCFDI.Venta.UuId != null)
            {
                Ambiente.Mensaje("Este documento ya es un CDFI");
                return;
            }
            if (!Ambiente.LoggedUser.Facturar)
            {
                Ambiente.Mensaje("Operacion denegada. No tienes permiso para operar esta vista.");
                return;
            }

            if (oCFDI.Venta == null)
            {
                Ambiente.Mensaje("Proceso abortado, no se encontró ninguna venta seleccionada");
                return;
            }
            //Si no seleccionó otro cliente, se recupera el de la venta
            if (cliente == null)
            {
                cliente = clienteController.SelectOne(oCFDI.Venta.ClienteId);
            }

            //verificar que no sea pago con puntos
            if (oCFDI.Venta.PuntosAplicados || oCFDI.Venta.DescXpuntos > 0)
            {
                Ambiente.Mensaje("Proceso abortado, el documento se cobró con puntos.");
                return;
            }

            //valida rfc
            if (Ambiente.RFCvalido(cliente.Rfc))
            {
                //Timbra la venta
                if (oCFDI.Facturar())
                {
                    //  Ambiente.SaveAndPrintFactura(venta, true, false);
                    Ambiente.SaveAndPrintFactura(oCFDI.Venta, true, false);

                    Close();
                }
                else
                {
                    Ambiente.Mensaje("Algo salió mal al facturar la venta");
                    Close();
                }
            }
            else
            {
                Ambiente.Mensaje("El rfc del cliente está mal formado");
            }



            /////********************************************************
        }