Пример #1
0
 public NumeracionEditor(INumeracionView view)
 {
     this.mView = view;
     this.mNumeracionService = NumeracionService.Instance;
     this.mAreaService       = AreaService.Instance;
     this.mNumeracion        = new Numeracion();
     this.Initialize();
 }
Пример #2
0
    /// <summary>
    /// Obtiene el valor de la numeración de los nuevos elementos de la tabla y se inserta en la tabla
    /// </summary>
    /// <returns>tamaño de la tabla Numeración</returns>
    public int Getnumeracion()
    {
        var Numeracion = new Numeracion {
            id = _connection.Table <Numeracion>().Count()
        };

        _connection.Insert(Numeracion);
        return(_connection.Table <Numeracion>().Count());
    }
Пример #3
0
        //public abstract bool DeleteNumeracion(int IdArea);

        public virtual Numeracion GetFromReader(IDataReader reader)
        {
            Numeracion n = new Numeracion();

            n.NumeroCorrelativo = reader["TxCorrelativo"].ToString();
            n.Area = new Area()
            {
                Id = int.Parse(reader["IdArea"].ToString())
            };
            return(n);
        }
Пример #4
0
 public override bool Actualizar(Numeracion numeracion)
 {
     using (SqlConnection cn = new SqlConnection(this.ConnectionString))
     {
         SqlCommand cmd = new SqlCommand("pa_Actualizar_Numeracion", cn);
         cmd.CommandType = CommandType.StoredProcedure;
         cmd.Parameters.Add("@IdArea", SqlDbType.Int).Value            = numeracion.Area.Id;
         cmd.Parameters.Add("@TxCorrelativo", SqlDbType.VarChar).Value = numeracion.NumeroCorrelativo;
         cn.Open();
         int ret = ExecuteNonQuery(cmd);
         return(ret == 1);
     }
 }
Пример #5
0
 public bool Actualizar(Numeracion numeracion)
 {
     return(NumeracionBL.Actualizar(numeracion));
 }
Пример #6
0
 public bool Insertar(Numeracion numeracion)
 {
     return(NumeracionBL.Insertar(numeracion) > 0);
 }
Пример #7
0
        public Numeracion ObtenerPorId(Area area)
        {
            Numeracion numeracion = NumeracionBL.ObtenerPorId(area.Id);

            return(numeracion);
        }
Пример #8
0
        private void EnumeracionToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Form ENUM = new Numeracion();

            ENUM.Show();
        }
Пример #9
0
        private void btn_facturar_Click(object sender, EventArgs e)
        {
            if (lista.Rows.Count == 0)
            {
                ToastNotification.Show(this, "Añade un producto antes de cobrar.", global::facturacion.Properties.Resources.error, 3000, (eToastGlowColor.Red), (eToastPosition.TopRight));
                return;
            }

            if (MessageBox.Show("Esta Apunto de Facturar el monto de " + lb_total_importe.Text + ".", "COBRAR PEDIDO", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
            {
                aux = CCliente.BuscarCI(cb_ci_nit.Text.ToString());
                string ccodigo;
                if (aux.Rows.Count >= 1 && lista.Rows.Count > 0)
                {
                    DataRow    row_cliente = aux.Rows[0];
                    Numeracion num         = new Numeracion();
                    MVentas    venta       = new MVentas(0, int.Parse(row_cliente["id"].ToString()), int.Parse(Datos.Rows[0]["id"].ToString()), DateTime.Now, Double.Parse(lb_total_importe.Text), num.Convertir(lb_total_importe.Text, true), "factura", "cancelado", numero_next);
                    long       id_now      = CVenta.Insertar(venta, this);
                    if (id_now != -1)
                    {
                        DataTable cla = CCodigo.ultimo();

                        DataTable fa          = CFactura.ultimo();
                        int       id_fac_last = 0;
                        if (fa.Rows.Count != 0)
                        {
                            id_fac_last = int.Parse(fa.Rows[0]["id"].ToString());
                        }
                        id_fac_last++;
                        string        clave  = cla.Rows[0]["clave"].ToString();
                        Hashid.Hashid hashid = new Hashid.Hashid();
                        string[]      f      = lb_fecActual.Text.Split('/');
                        ccodigo       = (String)hashid.calcular(cla.Rows[0]["autorizacion"].ToString(), id_fac_last.ToString(), cb_ci_nit.Text.ToString(), f[2] + f[1] + f[0], lb_total_importe.Text, clave);
                        qr_image.Text = lb_nit.Text + "|" + id_fac_last.ToString() + "|" + cla.Rows[0]["autorizacion"].ToString() + "|" + lb_fecActual.Text + "|" + lb_total_importe.Text + "|" + lb_total_importe.Text + "|" + ccodigo + "|" + cb_ci_nit.Text.ToString() + "|0|0|0|0|";
                        string dir = "/img/qrs/" + ccodigo + ".jpg";
                        qr_image.Image.Save(@"" + Application.StartupPath + dir, ImageFormat.Jpeg);

                        MFactura fact = new MFactura(0, (int)id_now, int.Parse(cla.Rows[0]["id"].ToString()), ccodigo, dir, id_fac_last.ToString(), DateTime.Now);
                        if (!CFactura.Insertar(fact, this))
                        {
                            MessageBox.Show("no se pudo crear al factura");
                        }

                        foreach (DataGridViewRow r in lista.Rows)
                        {
                            string precio_total = r.Cells["total"].Value.ToString();
                            string cantidad     = r.Cells["cantidad"].Value.ToString();
                            string unitario     = r.Cells["precio"].Value.ToString();
                            string descripcion  = r.Cells["descripcion"].Value.ToString();
                            int    id           = Convert.ToInt32(r.Cells["id"].Value);

                            MDetalleVenta det = new MDetalleVenta(0, id, double.Parse(cantidad), (int)id_now, Double.Parse(precio_total), descripcion, Double.Parse(unitario));

                            CDetalleVenta.Insertar(det, this);
                        }


                        try
                        {
                            LocalReport rdlc = new LocalReport();
                            rdlc.ReportPath             = @"..\..\Vistas\Report3.rdlc";
                            rdlc.ReportEmbeddedResource = "facturacion.Vistas.Report3.rdlc";
                            rdlc.EnableExternalImages   = true;
                            DataTable factura    = CFactura.MostrarID(id_now);
                            DataTable venta2     = CVenta.MostrarID(id_now);
                            DataTable infomacion = CEmpresa.Mostrar();
                            DataTable codigo     = CCodigo.ultimoID(int.Parse(factura.Rows[0]["idCodigo"].ToString()));
                            DataTable cliente    = CCliente.MostrarID(venta2.Rows[0]["idCliente"].ToString());
                            DataTable customer   = CDetalleVenta.Mostrar((int)id_now);
                            rdlc.DataSources.Add(new ReportDataSource("DataSet1", customer));
                            ReportParameter[] parameters = new ReportParameter[16];
                            string            path       = "file:\\" + Application.StartupPath + infomacion.Rows[0]["logo"];
                            string            pathqr     = "file:\\" + Application.StartupPath + factura.Rows[0]["QR"].ToString();
                            parameters[15] = new ReportParameter("Path", @path, true);
                            parameters[0]  = new ReportParameter("PathQr", @pathqr, true);
                            parameters[1]  = new ReportParameter("empresa", infomacion.Rows[0]["nombre"].ToString());
                            parameters[2]  = new ReportParameter("propietario", infomacion.Rows[0]["nomPropietario"].ToString());
                            parameters[3]  = new ReportParameter("direccion", infomacion.Rows[0]["direccion"].ToString());
                            parameters[4]  = new ReportParameter("nit", infomacion.Rows[0]["nit"].ToString());
                            parameters[5]  = new ReportParameter("nro", factura.Rows[0]["numFactura"].ToString());
                            parameters[6]  = new ReportParameter("autorizacion", codigo.Rows[0]["autorizacion"].ToString());
                            parameters[7]  = new ReportParameter("telefono", infomacion.Rows[0]["telefono"].ToString());
                            parameters[8]  = new ReportParameter("literal", "Son: " + venta2.Rows[0]["montoLiteral"].ToString());
                            parameters[9]  = new ReportParameter("nombre_cliente", cliente.Rows[0]["nombre"].ToString());
                            parameters[10] = new ReportParameter("ci", cliente.Rows[0]["ci"].ToString());
                            parameters[11] = new ReportParameter("fecha", venta2.Rows[0]["fecVenta"].ToString());
                            parameters[12] = new ReportParameter("total", venta2.Rows[0]["montoTotal"].ToString());
                            parameters[13] = new ReportParameter("codigo_control", factura.Rows[0]["codControl"].ToString());
                            parameters[14] = new ReportParameter("fecha_limite", codigo.Rows[0]["fecFinal"].ToString());
                            rdlc.SetParameters(parameters);
                            Impresor imp = new Impresor();
                            imp.Imprime(rdlc);
                            LocalReport rdlc2 = new LocalReport();
                            rdlc2.ReportPath             = @"..\..\Vistas\Report1.rdlc";
                            rdlc2.ReportEmbeddedResource = "facturacion.Vistas.Report1.rdlc";
                            rdlc2.DataSources.Add(new ReportDataSource("DataSet1", customer));
                            ReportParameter nombre = new ReportParameter("nombre_cliente", cliente.Rows[0]["nombre"].ToString());
                            ReportParameter fecha  = new ReportParameter("fecha", venta2.Rows[0]["fecVenta"].ToString());
                            ReportParameter numero = new ReportParameter("numero", numero_next.ToString());
                            rdlc2.SetParameters(new ReportParameter[] { nombre, fecha, numero });
                            imp.Imprime(rdlc2);
                            limpiar();
                        }
                        catch (Exception exp)
                        {
                            ToastNotification.Show(this, exp.Message, global::facturacion.Properties.Resources.Warning_sign, 3000, (eToastGlowColor.Red), (eToastPosition.TopRight));
                            if (MessageBox.Show("Ha ocurrido un error al imprimir, Desea Volver a imprimir el pedido/factura??", "ERROR AL FACTURAR!!!", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                            {
                                LocalReport rdlc = new LocalReport();
                                rdlc.ReportPath             = @"..\..\Vistas\Report3.rdlc";
                                rdlc.ReportEmbeddedResource = "facturacion.Vistas.Report3.rdlc";
                                rdlc.EnableExternalImages   = true;
                                DataTable factura    = CFactura.MostrarID(id_now);
                                DataTable venta2     = CVenta.MostrarID(id_now);
                                DataTable infomacion = CEmpresa.Mostrar();
                                DataTable codigo     = CCodigo.ultimoID(int.Parse(factura.Rows[0]["idCodigo"].ToString()));
                                DataTable cliente    = CCliente.MostrarID(venta2.Rows[0]["idCliente"].ToString());
                                DataTable customer   = CDetalleVenta.Mostrar((int)id_now);
                                rdlc.DataSources.Add(new ReportDataSource("DataSet1", customer));
                                ReportParameter[] parameters = new ReportParameter[16];
                                string            path       = "file:\\" + Application.StartupPath + infomacion.Rows[0]["logo"];
                                string            pathqr     = "file:\\" + Application.StartupPath + factura.Rows[0]["QR"].ToString();
                                parameters[15] = new ReportParameter("Path", @path, true);
                                parameters[0]  = new ReportParameter("PathQr", @pathqr, true);
                                parameters[1]  = new ReportParameter("empresa", infomacion.Rows[0]["nombre"].ToString());
                                parameters[2]  = new ReportParameter("propietario", infomacion.Rows[0]["nomPropietario"].ToString());
                                parameters[3]  = new ReportParameter("direccion", infomacion.Rows[0]["direccion"].ToString());
                                parameters[4]  = new ReportParameter("nit", infomacion.Rows[0]["nit"].ToString());
                                parameters[5]  = new ReportParameter("nro", factura.Rows[0]["numFactura"].ToString());
                                parameters[6]  = new ReportParameter("autorizacion", codigo.Rows[0]["autorizacion"].ToString());
                                parameters[7]  = new ReportParameter("telefono", infomacion.Rows[0]["telefono"].ToString());
                                parameters[8]  = new ReportParameter("literal", "Son: " + venta2.Rows[0]["montoLiteral"].ToString());
                                parameters[9]  = new ReportParameter("nombre_cliente", cliente.Rows[0]["nombre"].ToString());
                                parameters[10] = new ReportParameter("ci", cliente.Rows[0]["ci"].ToString());
                                parameters[11] = new ReportParameter("fecha", venta2.Rows[0]["fecVenta"].ToString());
                                parameters[12] = new ReportParameter("total", venta2.Rows[0]["montoTotal"].ToString());
                                parameters[13] = new ReportParameter("codigo_control", factura.Rows[0]["codControl"].ToString());
                                parameters[14] = new ReportParameter("fecha_limite", codigo.Rows[0]["fecFinal"].ToString());
                                rdlc.SetParameters(parameters);
                                Impresor imp = new Impresor();
                                imp.Imprime(rdlc);
                                LocalReport rdlc2 = new LocalReport();
                                rdlc2.ReportPath             = @"..\..\Vistas\Report1.rdlc";
                                rdlc2.ReportEmbeddedResource = "facturacion.Vistas.Report1.rdlc";
                                rdlc2.DataSources.Add(new ReportDataSource("DataSet1", customer));
                                ReportParameter nombre = new ReportParameter("nombre_cliente", cliente.Rows[0]["nombre"].ToString());
                                ReportParameter fecha  = new ReportParameter("fecha", venta2.Rows[0]["fecVenta"].ToString());
                                ReportParameter numero = new ReportParameter("numero", numero_next.ToString());
                                rdlc2.SetParameters(new ReportParameter[] { nombre, fecha, numero });
                                imp.Imprime(rdlc2);
                                limpiar();
                            }
                            limpiar();
                        }
                        numero_next++;
                        //retornar el reporte
                    }
                }
                else
                {
                    MessageBox.Show("El CI/Nit no esta registrado.\n Registre el Nombre y guardelo.");
                    btn_guardar.BackColor = System.Drawing.Color.Blue;
                    btn_guardar.Enabled   = true;
                    tb_nombreAp.Text      = "";
                    tb_nombreAp.Enabled   = true;
                    tb_nombreAp.Focus();
                }
            }
        }
Пример #10
0
        public async Task <IActionResult> RegistraryAprobarSolicitudPago(FormatoSolicitudPagoParaGuardarDto formatoDto)
        {
            await using var transaction = await _dataContext.Database.BeginTransactionAsync();

            FormatoSolicitudPago        formato              = null;
            RespuestaSolicitudPago      respuestaSolicitud   = new RespuestaSolicitudPago();
            Numeracion                  numeracionDisponible = null;
            DetalleFormatoSolicitudPago detalleSolicitud     = null;

            try
            {
                usuarioId  = int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value);
                valorPciId = User.FindFirst(ClaimTypes.Role).Value;
                if (!string.IsNullOrEmpty(valorPciId))
                {
                    pciId = int.Parse(valorPciId);
                }

                if (formatoDto != null)
                {
                    #region Mapear datos

                    formato                           = new FormatoSolicitudPago();
                    formato.TerceroId                 = formatoDto.TerceroId;
                    formato.PlanPagoId                = formatoDto.PlanPagoId;
                    formato.Crp                       = formatoDto.Crp;
                    formato.NumeroFactura             = formatoDto.NumeroFactura;
                    formato.ValorFacturado            = formatoDto.valorFacturado;
                    formato.ActividadEconomicaId      = formatoDto.ActividadEconomicaId;
                    formato.FechaInicio               = formatoDto.FechaInicio;
                    formato.FechaFinal                = formatoDto.FechaFinal;
                    formato.Observaciones             = formatoDto.Observaciones;
                    formato.ValorBaseGravableRenta    = formatoDto.ValorBaseGravableRenta;
                    formato.ValorIva                  = formatoDto.ValorIva;
                    formato.NumeroPlanilla            = formatoDto.NumeroPlanilla;
                    formato.MesId                     = formatoDto.MesId;
                    formato.BaseCotizacion            = formatoDto.BaseCotizacion;
                    formato.SupervisorId              = formatoDto.SupervisorId;
                    formato.ObservacionesModificacion = formatoDto.Observaciones;
                    formato.PciId                     = pciId;
                    formato.EstadoId                  = (int)EstadoSolicitudPago.Aprobado;

                    formato.UsuarioIdRegistro     = usuarioId;
                    formato.UsuarioIdModificacion = usuarioId;
                    formato.FechaRegistro         = _generalInterface.ObtenerFechaHoraActual();
                    formato.FechaModificacion     = _generalInterface.ObtenerFechaHoraActual();
                    formato.EsSaludVencida        = (formatoDto.FechaInicio.Month != formatoDto.MesId) ? true : false;

                    #endregion Mapear datos

                    #region Numeracion Disponible

                    var parametroLiquidacionTercero = await _terceroRepository.ObtenerParametrizacionLiquidacionXTercero(formatoDto.TerceroId, pciId);

                    if (parametroLiquidacionTercero != null && parametroLiquidacionTercero.FacturaElectronicaId == 0)
                    {
                        numeracionDisponible = await _repo.ObtenerUltimaNumeracionDisponible(pciId);

                        if (numeracionDisponible != null)
                        {
                            formato.NumeroFactura = numeracionDisponible.NumeroConsecutivo;
                        }
                    }

                    #endregion Numeracion Disponible

                    _dataContext.FormatoSolicitudPago.Add(formato);
                    await _dataContext.SaveChangesAsync();

                    #region Registrar Rubros Presupuestales

                    if (formato.EstadoId == (int)EstadoSolicitudPago.Aprobado)
                    {
                        if (formatoDto.DetallesFormatoSolicitudPago != null &&
                            formatoDto.DetallesFormatoSolicitudPago.Count > 0)
                        {
                            foreach (var item in formatoDto.DetallesFormatoSolicitudPago)
                            {
                                if (item.ValorAPagar > 0)
                                {
                                    detalleSolicitud = new DetalleFormatoSolicitudPago();
                                    detalleSolicitud.FormatoSolicitudPagoId      = formato.FormatoSolicitudPagoId;
                                    detalleSolicitud.RubroPresupuestalId         = item.RubroPresupuestal.Id;
                                    detalleSolicitud.ValorAPagar                 = item.ValorAPagar;
                                    detalleSolicitud.Dependencia                 = item.Dependencia;
                                    detalleSolicitud.ClavePresupuestalContableId = item.ClavePresupuestalContableId.HasValue ? item.ClavePresupuestalContableId.Value : null;
                                    _dataContext.DetalleFormatoSolicitudPago.Add(detalleSolicitud);
                                }
                            }
                        }
                        await _dataContext.SaveChangesAsync();
                    }

                    #endregion Registrar Rubros Presupuestales

                    #region Actualizar el plan de pago

                    var cantidadPlanPagoxCompromiso = await _planPagoRepository.CantidadPlanPagoParaCompromiso(formatoDto.Crp, pciId);


                    var planPagoBD = await _planPagoRepository.ObtenerPlanPagoBase(formatoDto.PlanPagoId);

                    if (cantidadPlanPagoxCompromiso > 1)
                    {
                        planPagoBD.EstadoPlanPagoId = (int)EstadoPlanPago.PorObligar;
                    }
                    planPagoBD.NumeroRadicadoProveedor  = formato.FormatoSolicitudPagoId.ToString();
                    planPagoBD.FechaRadicadoProveedor   = _generalInterface.ObtenerFechaHoraActual();
                    planPagoBD.NumeroRadicadoSupervisor = formato.FormatoSolicitudPagoId.ToString();
                    planPagoBD.FechaRadicadoSupervisor  = _generalInterface.ObtenerFechaHoraActual();
                    planPagoBD.ValorFacturado           = formatoDto.valorFacturado;
                    planPagoBD.UsuarioIdModificacion    = usuarioId;
                    planPagoBD.SaldoDisponible          = planPagoBD.SaldoDisponible.Value - formatoDto.valorFacturado;
                    planPagoBD.FechaModificacion        = _generalInterface.ObtenerFechaHoraActual();
                    await _dataContext.SaveChangesAsync();

                    #endregion Actualizar el plan de pago

                    #region Actualizar Numeracion Utilizada

                    if (parametroLiquidacionTercero != null && parametroLiquidacionTercero.FacturaElectronicaId == 0)
                    {
                        if (numeracionDisponible != null)
                        {
                            var numeracionBase = await _repo.ObtenerNumeracionBase(numeracionDisponible.NumeracionId);

                            if (numeracionBase != null)
                            {
                                numeracionBase.FormatoSolicitudPagoId = formato.FormatoSolicitudPagoId;
                                numeracionBase.Utilizado = true;
                                numeracionBase.PciId     = pciId;
                                await _dataContext.SaveChangesAsync();
                            }
                        }
                    }

                    #endregion Actualizar Numeracion Utilizada

                    await transaction.CommitAsync();

                    respuestaSolicitud.FormatoSolicitudPagoId = formato.FormatoSolicitudPagoId;
                    respuestaSolicitud.NumeroFactura          = formato.NumeroFactura;

                    return(Ok(respuestaSolicitud));
                }
            }
            catch (Exception)
            {
                throw;
            }
            throw new Exception($"No se pudo registrar el formato de liquidación");
        }
Пример #11
0
 public abstract bool Actualizar(Numeracion numeracion);
Пример #12
0
 public abstract int Insertar(Numeracion numeracion);
Пример #13
0
        private void btn_facturar_Click(object sender, EventArgs e)
        {
            if (id_now != 0)
            {
                try
                {
                    if (this.lista_ventas.CurrentRow.Cells["tipo"].Value.ToString() == "factura")
                    {
                        LocalReport rdlc = new LocalReport();
                        rdlc.ReportPath             = @"..\..\Vistas\Report3.rdlc";
                        rdlc.ReportEmbeddedResource = "facturacion.Vistas.Report3.rdlc";
                        rdlc.EnableExternalImages   = true;

                        DataTable factura    = CFactura.MostrarID(id_now);
                        DataTable venta2     = CVenta.MostrarID(id_now);
                        DataTable infomacion = CEmpresa.Mostrar();
                        DataTable codigo     = CCodigo.ultimoID(int.Parse(factura.Rows[0]["idCodigo"].ToString()));
                        DataTable cliente    = CCliente.MostrarID(venta2.Rows[0]["idCliente"].ToString());
                        DataTable customer   = CDetalleVenta.Mostrar((int)id_now);
                        rdlc.DataSources.Add(new ReportDataSource("DataSet1", customer));


                        ReportParameter[] parameters = new ReportParameter[16];
                        string            path       = "file:\\" + Application.StartupPath + infomacion.Rows[0]["logo"];
                        string            pathqr     = "file:\\" + Application.StartupPath + factura.Rows[0]["QR"].ToString();
                        parameters[15] = new ReportParameter("Path", @path, true);
                        parameters[0]  = new ReportParameter("PathQr", @pathqr, true);
                        parameters[1]  = new ReportParameter("empresa", infomacion.Rows[0]["nombre"].ToString());
                        parameters[2]  = new ReportParameter("propietario", infomacion.Rows[0]["nomPropietario"].ToString());
                        parameters[3]  = new ReportParameter("direccion", infomacion.Rows[0]["direccion"].ToString());
                        parameters[4]  = new ReportParameter("nit", infomacion.Rows[0]["nit"].ToString());
                        parameters[5]  = new ReportParameter("nro", factura.Rows[0]["numFactura"].ToString());
                        parameters[6]  = new ReportParameter("autorizacion", codigo.Rows[0]["autorizacion"].ToString());
                        parameters[7]  = new ReportParameter("telefono", infomacion.Rows[0]["telefono"].ToString());
                        parameters[8]  = new ReportParameter("literal", "Son: " + venta2.Rows[0]["montoLiteral"].ToString());
                        parameters[9]  = new ReportParameter("nombre_cliente", cliente.Rows[0]["nombre"].ToString());
                        parameters[10] = new ReportParameter("ci", cliente.Rows[0]["ci"].ToString());
                        parameters[11] = new ReportParameter("fecha", venta2.Rows[0]["fecVenta"].ToString());
                        parameters[12] = new ReportParameter("total", venta2.Rows[0]["montoTotal"].ToString());
                        parameters[13] = new ReportParameter("codigo_control", factura.Rows[0]["codControl"].ToString());
                        parameters[14] = new ReportParameter("fecha_limite", codigo.Rows[0]["fecFinal"].ToString());
                        rdlc.SetParameters(parameters);
                        Impresor imp = new Impresor();
                        imp.Imprime(rdlc);
                    }
                    else
                    {
                        if (MessageBox.Show("Esta Apunto de Facturar el monto de " + lb_importeTotal.Text + ".", "FACTURAR", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                        {
                            DataTable aux = CCliente.Buscar("ci", lb_ciNit.Text.ToString());
                            string    ccodigo;
                            if (aux.Rows.Count == 1)
                            {
                                DataRow    row_cliente = aux.Rows[0];
                                Numeracion num         = new Numeracion();
                                MVentas    venta       = new MVentas(0, int.Parse(row_cliente["id"].ToString()), 1, DateTime.Now, Double.Parse(lb_importeTotal.Text), num.Convertir(lb_importeTotal.Text, true), "factura", "cancelado", 0);
                                CVenta.Editar(int.Parse(id_now.ToString()), venta, this);
                                DataTable cla = CCodigo.ultimo();

                                DataTable fa          = CFactura.ultimo();
                                int       id_fac_last = 0;
                                if (fa.Rows.Count != 0)
                                {
                                    id_fac_last = int.Parse(fa.Rows[0]["id"].ToString());
                                }
                                id_fac_last++;
                                string        clave  = cla.Rows[0]["clave"].ToString();
                                Hashid.Hashid hashid = new Hashid.Hashid();
                                string[]      ff     = lb_fecVenta.Text.Split(' ');
                                string[]      f      = ff[0].Split('/');
                                ccodigo  = (String)hashid.calcular(cla.Rows[0]["autorizacion"].ToString(), id_fac_last.ToString(), lb_ciNit.Text.ToString(), f[2] + f[1] + f[0], lb_importeTotal.Text, clave);
                                qr_image = new Gma.QrCodeNet.Encoding.Windows.Forms.QrCodeImgControl();
                                qr_image.QuietZoneModule = Gma.QrCodeNet.Encoding.Windows.Render.QuietZoneModules.Two;
                                qr_image.Size            = new System.Drawing.Size(108, 95);
                                qr_image.Text            = lb_nit.Text + "|" + id_fac_last.ToString() + "|" + cla.Rows[0]["autorizacion"].ToString() + "|" + ff[0] + "|" + lb_importeTotal.Text + "|" + lb_importeTotal.Text + "|" + ccodigo + "|" + lb_ciNit.Text.ToString() + "|0|0|0|0|";
                                string dir = "/img/qrs/" + ccodigo + ".jpg";
                                qr_image.Image.Save(@"" + Application.StartupPath + dir, ImageFormat.Jpeg);

                                MFactura fact = new MFactura(0, (int)id_now, int.Parse(cla.Rows[0]["id"].ToString()), ccodigo, dir, id_fac_last.ToString(), DateTime.Now);
                                CFactura.Insertar(fact, this);
                                Mostrar(tb_cliente.Text.ToString());

                                LocalReport rdlc = new LocalReport();
                                rdlc.ReportPath             = @"..\..\Vistas\Report3.rdlc";
                                rdlc.ReportEmbeddedResource = "facturacion.Vistas.Report3.rdlc";
                                rdlc.EnableExternalImages   = true;

                                DataTable factura    = CFactura.MostrarID(id_now);
                                DataTable venta2     = CVenta.MostrarID(id_now);
                                DataTable infomacion = CEmpresa.Mostrar();
                                DataTable codigo     = CCodigo.ultimoID(int.Parse(factura.Rows[0]["idCodigo"].ToString()));
                                DataTable cliente    = CCliente.MostrarID(venta2.Rows[0]["idCliente"].ToString());
                                DataTable customer   = CDetalleVenta.Mostrar((int)id_now);
                                rdlc.DataSources.Add(new ReportDataSource("DataSet1", customer));


                                ReportParameter[] parameters = new ReportParameter[16];
                                string            path       = "file:\\" + Application.StartupPath + infomacion.Rows[0]["logo"];
                                string            pathqr     = "file:\\" + Application.StartupPath + factura.Rows[0]["QR"].ToString();
                                parameters[15] = new ReportParameter("Path", @path, true);
                                parameters[0]  = new ReportParameter("PathQr", @pathqr, true);
                                parameters[1]  = new ReportParameter("empresa", infomacion.Rows[0]["nombre"].ToString());
                                parameters[2]  = new ReportParameter("propietario", infomacion.Rows[0]["nomPropietario"].ToString());
                                parameters[3]  = new ReportParameter("direccion", infomacion.Rows[0]["direccion"].ToString());
                                parameters[4]  = new ReportParameter("nit", infomacion.Rows[0]["nit"].ToString());
                                parameters[5]  = new ReportParameter("nro", factura.Rows[0]["numFactura"].ToString());
                                parameters[6]  = new ReportParameter("autorizacion", codigo.Rows[0]["autorizacion"].ToString());
                                parameters[7]  = new ReportParameter("telefono", infomacion.Rows[0]["telefono"].ToString());
                                parameters[8]  = new ReportParameter("literal", "Son: " + venta2.Rows[0]["montoLiteral"].ToString());
                                parameters[9]  = new ReportParameter("nombre_cliente", cliente.Rows[0]["nombre"].ToString());
                                parameters[10] = new ReportParameter("ci", cliente.Rows[0]["ci"].ToString());
                                parameters[11] = new ReportParameter("fecha", venta2.Rows[0]["fecVenta"].ToString());
                                parameters[12] = new ReportParameter("total", venta2.Rows[0]["montoTotal"].ToString());
                                parameters[13] = new ReportParameter("codigo_control", factura.Rows[0]["codControl"].ToString());
                                parameters[14] = new ReportParameter("fecha_limite", codigo.Rows[0]["fecFinal"].ToString());
                                rdlc.SetParameters(parameters);
                                Impresor imp = new Impresor();
                                imp.Imprime(rdlc);
                            }
                            else
                            {
                                MessageBox.Show("El CI/Nit no esta registrado.\n Registre el Nombre y guardelo.");
                            }
                        }
                    }
                }catch (Exception err) {
                    Mostrar(string.Empty);
                    MessageBox.Show("Upp!, algo ha salido mal, por favor vuelva a seleccionar la venta e intentelo de nuevo");
                }
            }
            else
            {
                MessageBox.Show("Seleccione una venta");
            }
        }
Пример #14
0
 public static int Insertar(Numeracion numeracion)
 {
     return(AppProvider.Numeracion.Insertar(numeracion));
 }
Пример #15
0
        private void btn_cobrar_Click(object sender, EventArgs e)
        {
            if (lista.Rows.Count == 0)
            {
                ToastNotification.Show(this, "Añade un producto antes de cobrar.", global::facturacion.Properties.Resources.error, 3000, (eToastGlowColor.Red), (eToastPosition.TopRight));
                return;
            }
            if (MessageBox.Show("Esta Apunto de Cobrar el monto de " + lb_total_importe.Text + ".", "COBRAR PEDIDO", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
            {
                aux = CCliente.BuscarCI(cb_ci_nit.Text.ToString());
                if (aux.Rows.Count >= 1 && lista.Rows.Count > 0)
                {
                    DataRow    row_cliente = aux.Rows[0];
                    Numeracion num         = new Numeracion();
                    MVentas    venta       = new MVentas(0, int.Parse(row_cliente["id"].ToString()), int.Parse(Datos.Rows[0]["id"].ToString()), DateTime.Now, Double.Parse(lb_total_importe.Text), num.Convertir(lb_total_importe.Text, true), "pedido", "cancelado", numero_next);
                    long       id_now      = CVenta.Insertar(venta, this);
                    if (id_now != (-1))
                    {
                        foreach (DataGridViewRow r in lista.Rows)
                        {
                            string        precio_total = r.Cells["total"].Value.ToString();
                            string        cantidad     = r.Cells["cantidad"].Value.ToString();
                            string        unitario     = r.Cells["precio"].Value.ToString();
                            string        descripcion  = r.Cells["descripcion"].Value.ToString();
                            int           id           = Convert.ToInt32(r.Cells["id"].Value);
                            MDetalleVenta det          = new MDetalleVenta(0, id, double.Parse(cantidad), (int)id_now, Double.Parse(precio_total), descripcion, Double.Parse(unitario));
                            if (CDetalleVenta.Insertar(det, this))
                            {
                            }
                        }

                        try
                        {
                            LocalReport rdlc = new LocalReport();
                            rdlc.ReportPath             = @"..\..\Vistas\Report1.rdlc";
                            rdlc.ReportEmbeddedResource = "facturacion.Vistas.Report1.rdlc";
                            DataTable customer = CDetalleVenta.Mostrar((int)id_now);
                            rdlc.DataSources.Add(new ReportDataSource("DataSet1", customer));
                            DataTable       venta2     = CVenta.MostrarID(id_now);
                            DataTable       infomacion = CEmpresa.Mostrar();
                            DataTable       cliente    = CCliente.MostrarID(venta2.Rows[0]["idCliente"].ToString());
                            ReportParameter nombre     = new ReportParameter("nombre_cliente", cliente.Rows[0]["nombre"].ToString());
                            ReportParameter fecha      = new ReportParameter("fecha", venta2.Rows[0]["fecVenta"].ToString());
                            ReportParameter numero     = new ReportParameter("numero", numero_next.ToString());
                            rdlc.SetParameters(new ReportParameter[] { nombre, fecha, numero });
                            Impresor imp = new Impresor();
                            imp.Imprime(rdlc);
                            limpiar();
                        }
                        catch (Exception exp)
                        {
                            ToastNotification.Show(this, exp.Message, global::facturacion.Properties.Resources.Warning_sign, 3000, (eToastGlowColor.Red), (eToastPosition.TopRight));
                            if (MessageBox.Show("Ha ocurrido un error al imprimir, Desea volver a imprimir el pedido??", "ERROR AL FACTURAR!!!", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                            {
                                LocalReport rdlc = new LocalReport();
                                rdlc.ReportPath             = @"..\..\Vistas\Report1.rdlc";
                                rdlc.ReportEmbeddedResource = "facturacion.Vistas.Report1.rdlc";
                                DataTable customer = CDetalleVenta.Mostrar((int)id_now);
                                rdlc.DataSources.Add(new ReportDataSource("DataSet1", customer));
                                DataTable       venta2     = CVenta.MostrarID(id_now);
                                DataTable       infomacion = CEmpresa.Mostrar();
                                DataTable       cliente    = CCliente.MostrarID(venta2.Rows[0]["idCliente"].ToString());
                                ReportParameter nombre     = new ReportParameter("nombre_cliente", cliente.Rows[0]["nombre"].ToString());
                                ReportParameter fecha      = new ReportParameter("fecha", venta2.Rows[0]["fecVenta"].ToString());
                                ReportParameter numero     = new ReportParameter("numero", numero_next.ToString());
                                rdlc.SetParameters(new ReportParameter[] { nombre, fecha, numero });
                                Impresor imp = new Impresor();
                                imp.Imprime(rdlc);
                                limpiar();
                            }
                        }
                        numero_next++;
                    }
                }
                else
                {
                    MessageBox.Show("El CI/Nit no esta registrado.\n Registre el Nombre y guardelo.");
                    btn_guardar.BackColor = System.Drawing.Color.Blue;
                    btn_guardar.Enabled   = true;
                    tb_nombreAp.Text      = "";
                    tb_nombreAp.Enabled   = true;
                    tb_nombreAp.Focus();
                }
            }
        }
Пример #16
0
 public static bool Actualizar(Numeracion numeracion)
 {
     return(AppProvider.Numeracion.Actualizar(numeracion));
 }
Пример #17
0
        public async Task <IActionResult> RegistrarFormatoSolicitudPago(FormatoSolicitudPagoParaGuardarDto formatoDto)
        {
            await using var transaction = await _dataContext.Database.BeginTransactionAsync();

            FormatoSolicitudPago   formato              = null;
            RespuestaSolicitudPago respuestaSolicitud   = new RespuestaSolicitudPago();
            Numeracion             numeracionDisponible = null;

            try
            {
                usuarioId  = int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value);
                valorPciId = User.FindFirst(ClaimTypes.Role).Value;
                if (!string.IsNullOrEmpty(valorPciId))
                {
                    pciId = int.Parse(valorPciId);
                }

                if (formatoDto != null)
                {
                    #region Mapear datos

                    formato = _mapper.Map <FormatoSolicitudPago>(formatoDto);
                    formato.EsSaludVencida       = (formatoDto.FechaInicio.Month != formatoDto.MesId) ? true : false;
                    formato.ActividadEconomicaId = formatoDto.ActividadEconomicaId;
                    formato.EstadoId             = (int)EstadoSolicitudPago.Generado;
                    formato.UsuarioIdRegistro    = usuarioId;
                    formato.PciId         = pciId;
                    formato.FechaRegistro = _generalInterface.ObtenerFechaHoraActual();

                    #endregion Mapear datos

                    #region Numeracion Disponible

                    var parametroLiquidacionTercero = await _terceroRepository.ObtenerParametrizacionLiquidacionXTercero(formatoDto.TerceroId, pciId);

                    if (parametroLiquidacionTercero != null && parametroLiquidacionTercero.FacturaElectronicaId == 0)
                    {
                        numeracionDisponible = await _repo.ObtenerUltimaNumeracionDisponible(pciId);

                        if (numeracionDisponible != null)
                        {
                            formato.NumeroFactura = numeracionDisponible.NumeroConsecutivo;
                        }
                    }

                    #endregion Numeracion Disponible

                    _dataContext.FormatoSolicitudPago.Add(formato);
                    await _dataContext.SaveChangesAsync();

                    #region Actualizar el plan de pago

                    var cantidadPlanPagoxCompromiso = await _planPagoRepository.CantidadPlanPagoParaCompromiso(formatoDto.Crp, pciId);

                    if (cantidadPlanPagoxCompromiso > 1)
                    {
                        var planPagoBD = await _planPagoRepository.ObtenerPlanPagoBase(formatoDto.PlanPagoId);

                        planPagoBD.EstadoPlanPagoId      = (int)EstadoPlanPago.ConSolicitudPago;
                        planPagoBD.UsuarioIdModificacion = usuarioId;
                        planPagoBD.FechaModificacion     = _generalInterface.ObtenerFechaHoraActual();
                        await _dataContext.SaveChangesAsync();
                    }

                    #endregion Actualizar el plan de pago

                    #region Actualizar Numeracion Utilizada

                    if (parametroLiquidacionTercero != null && parametroLiquidacionTercero.FacturaElectronicaId == 0)
                    {
                        if (numeracionDisponible != null)
                        {
                            var numeracionBase = await _repo.ObtenerNumeracionBase(numeracionDisponible.NumeracionId);

                            if (numeracionBase != null)
                            {
                                numeracionBase.FormatoSolicitudPagoId = formato.FormatoSolicitudPagoId;
                                numeracionBase.Utilizado = true;
                                numeracionBase.PciId     = pciId;
                                await _dataContext.SaveChangesAsync();
                            }
                        }
                    }

                    #endregion Actualizar Numeracion Utilizada

                    await transaction.CommitAsync();

                    respuestaSolicitud.FormatoSolicitudPagoId = formato.FormatoSolicitudPagoId;
                    respuestaSolicitud.NumeroFactura          = formato.NumeroFactura;

                    return(Ok(respuestaSolicitud));
                }
            }
            catch (Exception)
            {
                throw;
            }

            throw new Exception($"No se pudo registrar el formato de liquidación");
        }