public SupplyRecordBuilderByARInvoice(IGAFRepository gafRepository,
                                       GafRecordBuilderByRegister gafRecordBuilderByRegister,
                                       SupplyRecordBuilderByCustomerData supplyRecordBuilderByCustomerData,
                                       SupplyRecordCountryBuilderForARInvoice countryBuilder)
     : base(gafRepository, gafRecordBuilderByRegister, supplyRecordBuilderByCustomerData, countryBuilder)
 {
 }
 public PurchaseRecordBuilderByTaxTranOfAPPayment(IGAFRepository gafRepository,
                                                  PurchaseRecordBuilderByVendorData recordBuilderByVendorData,
                                                  GafRecordBuilderByRegister gafRecordBuilderByRegister)
     : base(gafRepository, gafRecordBuilderByRegister)
 {
     _recordBuilderByVendorData = recordBuilderByVendorData;
 }
 public PurchaseRecordBuilderByInvoiceTran(IGAFRepository gafRepository,
                                           PurchaseRecordBuilderByVendorData recordBuilderByVendorData,
                                           GafRecordBuilderByRegister recordBuilderByRegister)
     : base(gafRepository, recordBuilderByRegister)
 {
     _recordBuilderByVendorData = recordBuilderByVendorData;
 }
 public SupplyRecordBuilderByARInvoiceTaxTranForTaxCalcedOnDocumentAmt(IGAFRepository gafRepository,
                                                                       GafRecordBuilderByRegister gafRecordBuilderByRegister,
                                                                       SupplyRecordBuilderByCustomerData recordBuilderByCustomerData,
                                                                       SupplyRecordCountryBuilderForARInvoice recordCountryBuilder) : base(gafRepository, gafRecordBuilderByRegister)
 {
     _recordBuilderByCustomerData = recordBuilderByCustomerData;
     _recordCountryBuilder        = recordCountryBuilder;
 }
 protected SupplyRecordBuilderByInvoiceBase(IGAFRepository gafRepository,
                                            GafRecordBuilderByRegister recordBuilderByRegister,
                                            SupplyRecordBuilderByCustomerData supplyRecordBuilderByCustomerData,
                                            SupplyRecordCountryBuilderBase <TExtendedInvoice> countryBuilder) : base(gafRepository, recordBuilderByRegister)
 {
     _supplyRecordBuilderByCustomerData = supplyRecordBuilderByCustomerData;
     _countryBuilder = countryBuilder;
 }
示例#6
0
        public APInvoiceGAFRecordsCreatorTests()
        {
            var recordBuilderByVendorData             = new PurchaseRecordBuilderByVendorData(GAFRepository);
            var recordBuilderByRegister               = new GafRecordBuilderByRegister(GAFRepository);
            var recordBuilderByInvoiceTran            = new PurchaseRecordBuilderByInvoiceTran(GAFRepository, recordBuilderByVendorData, recordBuilderByRegister);
            var recordBuilderByTaxTranFromTaxDocument = new PurchaseRecordBuilderByTaxTranFromTaxDocument(GAFRepository,
                                                                                                          recordBuilderByVendorData, recordBuilderByRegister);

            InvoiceGafRecordsCreator = new APInvoiceGAFRecordsCreator(GAFRepository, recordBuilderByInvoiceTran,
                                                                      recordBuilderByTaxTranFromTaxDocument,
                                                                      new PurchaseRecordBuilderByAPInvoiceTaxTranForTaxCalcedOnDocumentAmt(GAFRepository, recordBuilderByRegister,
                                                                                                                                           recordBuilderByVendorData));

            _apInvoiceAggregateBuilderFactory = GetService <APInvoiceAggregateBuilderFactory>();
        }
示例#7
0
 public SupplyRecordBuilderByCADocumentTaxTranForTaxCalcedOnDocumentAmt(IGAFRepository gafRepository,
                                                                        GafRecordBuilderByRegister gafRecordBuilderByRegister) : base(gafRepository, gafRecordBuilderByRegister)
 {
 }
示例#8
0
 public PurchaseRecordBuilderByCADocument(IGAFRepository gafRepository,
                                          GafRecordBuilderByRegister recordBuilderByRegister) : base(gafRepository, recordBuilderByRegister)
 {
 }
 public PurchaseRecordBuilderByAPInvoiceTaxTranForTaxCalcedOnDocumentAmt(IGAFRepository gafRepository,
                                                                         GafRecordBuilderByRegister gafRecordBuilderByRegister,
                                                                         PurchaseRecordBuilderByVendorData recordBuilderByVendorData) : base(gafRepository, gafRecordBuilderByRegister)
 {
     _recordBuilderByVendorData = recordBuilderByVendorData;
 }
示例#10
0
 protected SupplyRecordBuilderByTaxTranCalcedOnDocumentAmtBase(IGAFRepository gafRepository,
                                                               GafRecordBuilderByRegister gafRecordBuilderByRegister)
     : base(gafRepository, gafRecordBuilderByRegister)
 {
 }
        private static void GenerateProc(GAFPeriod gafPeriod)
        {
            var gafGenerationProcess = PXGraph.CreateInstance <GAFGenerationProcess>();

            IGAFRepository gafRepository               = new GAFRepository(gafGenerationProcess);
            var            recordBuilderByVendorData   = new PurchaseRecordBuilderByVendorData(gafRepository);
            var            recordBuilderByCustomerData = new SupplyRecordBuilderByCustomerData(gafRepository);
            var            recordBuilderByRegister     = new GafRecordBuilderByRegister(gafRepository);
            var            recordCountryBuilderForSO   = new SupplyRecordCountryBuilderForSOInvoice(gafRepository);
            var            recordCountryBuilderForAR   = new SupplyRecordCountryBuilderForARInvoice(gafRepository);


            var apInvoiceGAFRecordsCreator = new APInvoiceGAFRecordsCreator(gafRepository,
                                                                            new PurchaseRecordBuilderByInvoiceTran(gafRepository, recordBuilderByVendorData, recordBuilderByRegister),
                                                                            new PurchaseRecordBuilderByTaxTranFromTaxDocument(gafRepository, recordBuilderByVendorData, recordBuilderByRegister),
                                                                            new PurchaseRecordBuilderByAPInvoiceTaxTranForTaxCalcedOnDocumentAmt(gafRepository, recordBuilderByRegister, recordBuilderByVendorData));

            var arInvoiceGAFRecordsCreator = new ARInvoiceGAFRecordsCreator(gafRepository,
                                                                            new SupplyRecordBuilderByARInvoice(gafRepository,
                                                                                                               recordBuilderByRegister,
                                                                                                               recordBuilderByCustomerData,
                                                                                                               recordCountryBuilderForAR),
                                                                            new SupplyRecordBuilderByARInvoiceTaxTranForTaxCalcedOnDocumentAmt(gafRepository,
                                                                                                                                               recordBuilderByRegister,
                                                                                                                                               recordBuilderByCustomerData,
                                                                                                                                               recordCountryBuilderForAR));

            var arInvoiceFromSOGAFRecordsCreator = new ARInvoiceFromSOGAFRecordsCreator(gafRepository,
                                                                                        new SupplyRecordBuilderBySOInvoice(gafRepository,
                                                                                                                           recordBuilderByRegister,
                                                                                                                           recordBuilderByCustomerData,
                                                                                                                           recordCountryBuilderForSO),
                                                                                        new SupplyRecordBuilderBySOInvoiceTaxTranForTaxCalcedOnDocumentAmt(gafRepository,
                                                                                                                                                           recordBuilderByRegister,
                                                                                                                                                           recordBuilderByCustomerData,
                                                                                                                                                           recordCountryBuilderForSO));

            var apPaymentGAFRecordsCreator = new APPaymentGAFRecordsCreator(gafRepository,
                                                                            new PurchaseRecordBuilderByTaxTranOfAPPayment(gafRepository, recordBuilderByVendorData, recordBuilderByRegister));

            var caDocumentPurchaseGAFRecordsCreator = new CADocumentPurchaseGAFRecordsCreator(gafRepository,
                                                                                              new PurchaseRecordBuilderByCADocument(gafRepository, recordBuilderByRegister),
                                                                                              new PurchaseRecordBuilderByCADocumentTaxTranForTaxCalcedOnDocumentAmt(gafRepository, recordBuilderByRegister));

            var caDocumentSupplyGAFRecordsCreator = new CADocumentSupplyGAFRecordsCreator(gafRepository,
                                                                                          new SupplyRecordBuilderByCADocument(gafRepository, recordBuilderByRegister),
                                                                                          new SupplyRecordBuilderByCADocumentTaxTranForTaxCalcedOnDocumentAmt(gafRepository, recordBuilderByRegister));

            var taxAdjustmentGafRecordsCreator = new TaxAdjustmentGAFRecordsCreator(gafRepository,
                                                                                    new GafRecordBuilderByTaxAdjustmentTaxTran(gafRepository));

            var glDocumentGAFRecordsCreator = new GLDocumentGAFRecordsCreator(gafRepository,
                                                                              new GafRecordBuilderByGLTranAndTaxTran(gafRepository));

            var gafCreationHelper = new GAFValidator(gafRepository);

            var gafDataCreator = new GAFDataCreator(gafRepository,
                                                    gafCreationHelper,
                                                    new GLGAFLedgerRecordsCreator(gafRepository),
                                                    apInvoiceGAFRecordsCreator,
                                                    arInvoiceGAFRecordsCreator,
                                                    arInvoiceFromSOGAFRecordsCreator,
                                                    apPaymentGAFRecordsCreator,
                                                    caDocumentPurchaseGAFRecordsCreator,
                                                    caDocumentSupplyGAFRecordsCreator,
                                                    taxAdjustmentGafRecordsCreator,
                                                    glDocumentGAFRecordsCreator,
                                                    new GafRecordWriter(gafRepository));



            var gafPeriodFromDB = gafRepository.FindGAFPeriodByKey(gafPeriod.BranchID, gafPeriod.TaxAgencyID,
                                                                   gafPeriod.TaxPeriodID);

            gafPeriod = gafPeriodFromDB ?? gafGenerationProcess.GAFPeriodView.Insert(gafPeriod);

            var gstAuditFile = gafDataCreator.Create(gafPeriod, gafGenerationProcess.Accessinfo.BusinessDate.Value);

            if (gstAuditFile == null)
            {
                return;
            }

            gafPeriod.GAFMajorVersion     = gstAuditFile.MajorVersion;
            gafPeriod.GAFMinorLastVersion = gstAuditFile.MinorVersion;

            gafGenerationProcess.GAFPeriodView.Update(gafPeriod);

            using (var ts = new PXTransactionScope())
            {
                PX.Objects.Common.Tools.UploadFileHelper.AttachDataAsFile(gstAuditFile.FileName, gstAuditFile.Data, gafPeriod,
                                                                          gafGenerationProcess);

                gafGenerationProcess.Actions.PressSave();

                ts.Complete();
            }
        }