public List <ReporteInvoiceBE> ListadoMontlySales(int IdCompany, int IdClient, int Periodo, int Mes)
        {
            Database  db        = DatabaseFactory.CreateDatabase("cnERPBD");
            DbCommand dbCommand = db.GetStoredProcCommand("usp_rptInvoiceMontlySales");

            db.AddInParameter(dbCommand, "pIdCompany", DbType.Int32, IdCompany);
            db.AddInParameter(dbCommand, "pIdClient", DbType.Int32, IdClient);
            db.AddInParameter(dbCommand, "pPeriodo", DbType.Int32, Periodo);
            db.AddInParameter(dbCommand, "pMes", DbType.Int32, Mes);

            IDataReader             reader             = db.ExecuteReader(dbCommand);
            List <ReporteInvoiceBE> ReporteInvoicelist = new List <ReporteInvoiceBE>();
            ReporteInvoiceBE        ReporteInvoice;

            while (reader.Read())
            {
                ReporteInvoice               = new ReporteInvoiceBE();
                ReporteInvoice.NameCompany   = reader["NameCompany"].ToString();
                ReporteInvoice.NumberInvoice = reader["NumberInvoice"].ToString();
                DateTime deIssueDate = DateTime.Parse(reader["IssueDate"].ToString());
                ReporteInvoice.IssueDate       = deIssueDate.ToString("MM/dd/yyyy");
                ReporteInvoice.NameClient      = reader["NameClient"].ToString();
                ReporteInvoice.NameDestination = reader["NameDestination"].ToString();
                ReporteInvoice.Contac          = reader["Contac"].ToString();
                ReporteInvoice.TotalAmount     = Decimal.Parse(reader["TotalAmount"].ToString());
                ReporteInvoice.TotalComision   = Decimal.Parse(reader["TotalComision"].ToString());
                ReporteInvoice.TotalPieces     = Decimal.Parse(reader["TotalPieces"].ToString());
                ReporteInvoicelist.Add(ReporteInvoice);
            }
            reader.Close();
            reader.Dispose();
            return(ReporteInvoicelist);
        }
        public List <ReporteInvoiceBE> Listado(int IdInvoice)
        {
            Database  db        = DatabaseFactory.CreateDatabase("cnERPBD");
            DbCommand dbCommand = db.GetStoredProcCommand("usp_rptInvoice");

            db.AddInParameter(dbCommand, "pIdInvoice", DbType.Int32, IdInvoice);

            IDataReader             reader             = db.ExecuteReader(dbCommand);
            List <ReporteInvoiceBE> ReporteInvoicelist = new List <ReporteInvoiceBE>();
            ReporteInvoiceBE        ReporteInvoice;

            while (reader.Read())
            {
                ReporteInvoice                 = new ReporteInvoiceBE();
                ReporteInvoice.NameCompany     = reader["NameCompany"].ToString();
                ReporteInvoice.Logo            = (byte[])reader["Logo"];
                ReporteInvoice.IdClient        = Int32.Parse(reader["IdClient"].ToString());
                ReporteInvoice.NumberInvoice   = reader["NumberInvoice"].ToString();
                ReporteInvoice.NameClient      = reader["NameClient"].ToString();
                ReporteInvoice.ConceptoImprime = reader["ConceptoImprime"].ToString();
                DateTime deIssueDate = DateTime.Parse(reader["IssueDate"].ToString());
                ReporteInvoice.IssueDate                = deIssueDate.ToString("MM/dd/yyyy");
                ReporteInvoice.NameDestination          = reader["NameDestination"].ToString();
                ReporteInvoice.BrandCertificate         = reader["BrandCertificate"].ToString();
                ReporteInvoice.PercentComision          = Decimal.Parse(reader["PercentComision"].ToString());
                ReporteInvoice.ComisionImprime          = reader["ComisionImprime"].ToString();
                ReporteInvoice.AddressClient            = reader["AddressClient"].ToString();
                ReporteInvoice.Contac                   = reader["Contac"].ToString();
                ReporteInvoice.Occupation               = reader["Occupation"].ToString();
                ReporteInvoice.NoteGeneral              = reader["NoteGeneral"].ToString();
                ReporteInvoice.NameBank                 = reader["NameBank"].ToString();
                ReporteInvoice.NumberCtaCte             = reader["NumberCtaCte"].ToString();
                ReporteInvoice.Swift                    = reader["Swift"].ToString();
                ReporteInvoice.CodeAba                  = reader["CodeAba"].ToString();
                ReporteInvoice.AddressBank              = reader["AddressBank"].ToString();
                ReporteInvoice.Phone                    = reader["Phone"].ToString();
                ReporteInvoice.Representative           = reader["Representative"].ToString();
                ReporteInvoice.NameCurrency             = reader["NameCurrency"].ToString();
                ReporteInvoice.TotalAmount              = Decimal.Parse(reader["TotalAmount"].ToString());
                ReporteInvoice.TotalComision            = Decimal.Parse(reader["TotalComision"].ToString());
                ReporteInvoice.TotalPieces              = Decimal.Parse(reader["TotalPieces"].ToString());
                ReporteInvoice.ComisionLetter           = reader["ComisionLetter"].ToString();
                ReporteInvoice.NameStatus               = reader["NameStatus"].ToString();
                ReporteInvoice.IdInspectionCertificate  = Int32.Parse(reader["IdInspectionCertificate"].ToString());
                ReporteInvoice.NumberCertificate        = reader["NumberCertificate"].ToString();
                ReporteInvoice.NumberInvoiceCertificate = reader["NumberInvoiceCertificate"].ToString();
                DateTime deIssueDateInvoice = DateTime.Parse(reader["IssueDateInvoice"].ToString());
                ReporteInvoice.IssueDateInvoice = deIssueDateInvoice.ToString("MM/dd/yyyy");
                ReporteInvoice.NameDivision     = reader["NameDivision"].ToString();
                ReporteInvoice.Amount           = Decimal.Parse(reader["Amount"].ToString());
                ReporteInvoice.Comision         = Decimal.Parse(reader["Comision"].ToString());
                ReporteInvoice.Pieces           = Decimal.Parse(reader["Pieces"].ToString());
                ReporteInvoicelist.Add(ReporteInvoice);
            }
            reader.Close();
            reader.Dispose();
            return(ReporteInvoicelist);
        }
        public List <ReporteInvoiceBE> ListadoCommisionCover(int IdInvoice)
        {
            Database  db        = DatabaseFactory.CreateDatabase("cnERPBD");
            DbCommand dbCommand = db.GetStoredProcCommand("usp_rptInvoiceCommisionCover");

            db.AddInParameter(dbCommand, "pIdInvoice", DbType.Int32, IdInvoice);

            IDataReader             reader             = db.ExecuteReader(dbCommand);
            List <ReporteInvoiceBE> ReporteInvoicelist = new List <ReporteInvoiceBE>();
            ReporteInvoiceBE        ReporteInvoice;

            while (reader.Read())
            {
                ReporteInvoice                   = new ReporteInvoiceBE();
                ReporteInvoice.NameCompany       = reader["NameCompany"].ToString();
                ReporteInvoice.Logo              = (byte[])reader["Logo"];
                ReporteInvoice.NumberInvoice     = reader["NumberInvoice"].ToString();
                ReporteInvoice.NameClient        = reader["NameClient"].ToString();
                ReporteInvoice.BrandCertificate  = reader["BrandCertificate"].ToString();
                ReporteInvoice.NameDestination   = reader["NameDestination"].ToString();
                ReporteInvoice.NameVendor        = reader["NameVendor"].ToString();
                ReporteInvoice.NumberCertificate = reader["NumberCertificate"].ToString();
                DateTime deIssueCertificate = DateTime.Parse(reader["IssueCertificate"].ToString());
                ReporteInvoice.IssueCertificate         = deIssueCertificate.ToString("MM/dd/yyyy");
                ReporteInvoice.NumberInvoiceCertificate = reader["NumberInvoiceCertificate"].ToString();
                DateTime deIssueDateInvoice = DateTime.Parse(reader["IssueDateInvoice"].ToString());
                ReporteInvoice.IssueDateInvoice = deIssueDateInvoice.ToString("MM/dd/yyyy");
                ReporteInvoice.Amount           = Decimal.Parse(reader["Amount"].ToString());
                ReporteInvoice.Comision         = Decimal.Parse(reader["Comision"].ToString());
                ReporteInvoice.NameDivision     = reader["NameDivision"].ToString();
                ReporteInvoice.NumberPO         = reader["NumberPO"].ToString();
                ReporteInvoice.NumberOI         = reader["NumberOI"].ToString();
                ReporteInvoice.NameStyle        = reader["NameStyle"].ToString();
                ReporteInvoice.Pieces           = Decimal.Parse(reader["Pieces"].ToString());
                ReporteInvoice.AmountDetail     = Decimal.Parse(reader["AmountDetail"].ToString());
                ReporteInvoice.ComisionDetail   = Decimal.Parse(reader["ComisionDetail"].ToString());
                ReporteInvoicelist.Add(ReporteInvoice);
            }
            reader.Close();
            reader.Dispose();
            return(ReporteInvoicelist);
        }
        public List <ReporteInvoiceBE> Listado(int IdInvoice)
        {
            try
            {
                ReporteInvoiceDL Invoice = new ReporteInvoiceDL();

                List <ReporteInvoiceBE> lstReporteInvoice = new List <ReporteInvoiceBE>();

                foreach (var item in Invoice.Listado(IdInvoice))
                {
                    ReporteInvoiceBE objE_ReporteInvoice = new ReporteInvoiceBE();
                    objE_ReporteInvoice.NameCompany              = item.NameCompany;
                    objE_ReporteInvoice.Logo                     = item.Logo;
                    objE_ReporteInvoice.IdClient                 = item.IdClient;
                    objE_ReporteInvoice.NumberInvoice            = item.NumberInvoice;
                    objE_ReporteInvoice.NameClient               = item.NameClient;
                    objE_ReporteInvoice.ConceptoImprime          = item.ConceptoImprime;
                    objE_ReporteInvoice.IssueDate                = item.IssueDate;
                    objE_ReporteInvoice.NameDestination          = item.NameDestination;
                    objE_ReporteInvoice.BrandCertificate         = item.BrandCertificate;
                    objE_ReporteInvoice.PercentComision          = item.PercentComision;
                    objE_ReporteInvoice.ComisionImprime          = item.ComisionImprime;
                    objE_ReporteInvoice.AddressClient            = item.AddressClient;
                    objE_ReporteInvoice.Contac                   = item.Contac;
                    objE_ReporteInvoice.Occupation               = item.Occupation;
                    objE_ReporteInvoice.NoteGeneral              = item.NoteGeneral;
                    objE_ReporteInvoice.NameBank                 = item.NameBank;
                    objE_ReporteInvoice.NumberCtaCte             = item.NumberCtaCte;
                    objE_ReporteInvoice.Swift                    = item.Swift;
                    objE_ReporteInvoice.CodeAba                  = item.CodeAba;
                    objE_ReporteInvoice.AddressBank              = item.AddressBank;
                    objE_ReporteInvoice.Phone                    = item.Phone;
                    objE_ReporteInvoice.Representative           = item.Representative;
                    objE_ReporteInvoice.NameCurrency             = item.NameCurrency;
                    objE_ReporteInvoice.TotalAmount              = item.TotalAmount;
                    objE_ReporteInvoice.TotalComision            = item.TotalComision;
                    objE_ReporteInvoice.TotalPieces              = item.TotalPieces;
                    objE_ReporteInvoice.ComisionLetter           = item.ComisionLetter;
                    objE_ReporteInvoice.NameStatus               = item.NameStatus;
                    objE_ReporteInvoice.IdInspectionCertificate  = item.IdInspectionCertificate;
                    objE_ReporteInvoice.NumberInvoiceCertificate = item.NumberInvoiceCertificate;
                    objE_ReporteInvoice.IssueDateInvoice         = item.IssueDateInvoice;
                    objE_ReporteInvoice.NameDivision             = item.NameDivision;
                    objE_ReporteInvoice.Amount                   = item.Amount;
                    objE_ReporteInvoice.Comision                 = item.Amount;
                    objE_ReporteInvoice.Pieces                   = item.Pieces;

                    if (item.IdClient == 7) //SOLAMENTE PARA VINCE
                    {
                        string strCertificateVince = "CERTIFICATE# " + item.NumberCertificate + " - PO# ";
                        string strStyleVince       = "STYLE# ";

                        List <InspectionCertificateDetailBE> lstInspectionCertificateDetail = null;
                        lstInspectionCertificateDetail = new InspectionCertificateDetailDL().ListaResumen(item.IdInspectionCertificate);

                        string strPOFinal          = "";
                        string strCertificateFinal = "";

                        foreach (var itemIDC in lstInspectionCertificateDetail)
                        {
                            string strPO = "";
                            strPO               = itemIDC.NumberPO.ToString().Substring(3, itemIDC.NumberPO.Length - 3);
                            strPOFinal          = strPOFinal + Convert.ToInt32(strPO).ToString() + "/";
                            strCertificateFinal = strCertificateFinal + itemIDC.NameStyle + "/";
                        }

                        objE_ReporteInvoice.CertificateVince = strCertificateVince + strPOFinal.Remove(strPOFinal.Length - 1);
                        objE_ReporteInvoice.StyleVince       = strStyleVince + strCertificateFinal.Remove(strCertificateFinal.Length - 1);
                    }

                    lstReporteInvoice.Add(objE_ReporteInvoice);
                }



                return(lstReporteInvoice);
            }
            catch (Exception ex)
            { throw ex; }
        }
        private void tlbMenu_PrintClick()
        {
            try
            {
                Cursor = Cursors.WaitCursor;

                List <ReporteInvoiceBE> lstReporteTemp = null;
                List <ReporteInvoiceBE> lstReporte     = new List <ReporteInvoiceBE>();

                int[] rows = gvInvoice.GetSelectedRows();

                for (int i = 0; i < rows.Length; i++)
                {
                    lstReporteTemp = new ReporteInvoiceBL().Listado(int.Parse(gvInvoice.GetRowCellValue(rows[i], gvInvoice.Columns.ColumnByFieldName("IdInvoice")).ToString()));
                    foreach (var item in lstReporteTemp)
                    {
                        ReporteInvoiceBE objE_Reporte = new ReporteInvoiceBE();
                        objE_Reporte.NameCompany              = item.NameCompany;
                        objE_Reporte.Logo                     = item.Logo;
                        objE_Reporte.NumberInvoice            = item.NumberInvoice;
                        objE_Reporte.NameClient               = item.NameClient;
                        objE_Reporte.ConceptoImprime          = item.ConceptoImprime;
                        objE_Reporte.IssueDate                = item.IssueDate;
                        objE_Reporte.NameDestination          = item.NameDestination;
                        objE_Reporte.BrandCertificate         = item.BrandCertificate;
                        objE_Reporte.PercentComision          = item.PercentComision;
                        objE_Reporte.ComisionImprime          = item.ComisionImprime;
                        objE_Reporte.AddressClient            = item.AddressClient;
                        objE_Reporte.Contac                   = item.Contac;
                        objE_Reporte.Occupation               = item.Occupation;
                        objE_Reporte.NoteGeneral              = item.NoteGeneral;
                        objE_Reporte.NameBank                 = item.NameBank;
                        objE_Reporte.NumberCtaCte             = item.NumberCtaCte;
                        objE_Reporte.Swift                    = item.Swift;
                        objE_Reporte.CodeAba                  = item.CodeAba;
                        objE_Reporte.AddressBank              = item.AddressBank;
                        objE_Reporte.Phone                    = item.Phone;
                        objE_Reporte.Representative           = item.Representative;
                        objE_Reporte.NameCurrency             = item.NameCurrency;
                        objE_Reporte.TotalAmount              = item.TotalAmount;
                        objE_Reporte.TotalComision            = item.TotalComision;
                        objE_Reporte.TotalPieces              = item.TotalPieces;
                        objE_Reporte.ComisionLetter           = item.ComisionLetter;
                        objE_Reporte.NameStatus               = item.NameStatus;
                        objE_Reporte.NumberCertificate        = item.NumberCertificate;
                        objE_Reporte.IssueCertificate         = item.IssueCertificate;
                        objE_Reporte.NameVendor               = item.NameVendor;
                        objE_Reporte.NumberInvoiceCertificate = item.NumberInvoiceCertificate;
                        objE_Reporte.IssueDateInvoice         = item.IssueDateInvoice;
                        objE_Reporte.NameDivision             = item.NameDivision;
                        objE_Reporte.Amount                   = item.Amount;
                        objE_Reporte.Comision                 = item.Comision;
                        objE_Reporte.Pieces                   = item.Pieces;
                        objE_Reporte.CertificateVince         = item.CertificateVince;
                        objE_Reporte.StyleVince               = item.StyleVince;
                        lstReporte.Add(objE_Reporte);
                    }
                }

                if (lstReporte != null)
                {
                    if (lstReporte.Count > 0)
                    {
                        RptVistaReportes objRptInvoice = new RptVistaReportes();
                        objRptInvoice.VerRptInvoice(lstReporte);
                        objRptInvoice.ShowDialog();
                    }
                    else
                    {
                        XtraMessageBox.Show("No hay información para el periodo seleccionado", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    }
                }
                Cursor = Cursors.Default;
            }
            catch (Exception ex)
            {
                Cursor = Cursors.Default;
                XtraMessageBox.Show(ex.Message, this.Text, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }