Ejemplo n.º 1
0
 private KHPeriodInfo CreatePeriodInfo(FakturoidContext context, ExportSetup setup)
 {
     return(new KHPeriodInfo
     {
         ExportDate = DateTime.Now.Date.ToString("dd.MM.yyyy"),
         Month = setup.ExportMode == ExportMode.Month ? new int?(setup.Period) : null,
         Quarter = setup.ExportMode == ExportMode.Quarter ? new int?(setup.Period) : null,
         Year = setup.Year,
     });
 }
Ejemplo n.º 2
0
        public KHExportSheet GetExportForPeriod(ExportSetup setup)
        {
            var context = new FakturoidContext(_connectConfig.AccountName, _connectConfig.Login, _connectConfig.Key, "Fakturoid API v2 C#/.NET Client Demo Application ([email protected])");

            var sheet = new KHExportSheet();

            sheet.ExportData = CreateExportData(context, setup);


            return(sheet);
        }
Ejemplo n.º 3
0
        private VATReceived CreateReceived(FakturoidContext context, ExportSetup setup)
        {
            var expenses = context.Expenses.Select().Where(w => w.issued_on >= setup.GetReferenceDate() && w.issued_on < setup.GetEndDate()).ToList();

            return(new VATReceived
            {
                WithoutTaxH = Decimal.Round(expenses.GetTotalWithoutVAT(FakturoidExtensions.VAT_RATE_REGULAR), 0),
                TaxH = Decimal.Round(expenses.GetVAT(FakturoidExtensions.VAT_RATE_REGULAR), 0),
                WithoutTaxL = Decimal.Round(expenses.GetTotalWithoutVAT(FakturoidExtensions.VAT_RATE_LOW), 0),
                TaxL = Decimal.Round(expenses.GetVAT(FakturoidExtensions.VAT_RATE_LOW), 0),
            });
        }
Ejemplo n.º 4
0
        private List <KHInvoice> CreateInvoices(FakturoidContext context, ExportSetup setup)
        {
            var invoices = context.Invoices.Select().Where(w => w.issued_on >= setup.GetReferenceDate() && w.issued_on < setup.GetEndDate());

            return(invoices.Select(s => new KHInvoice
            {
                InvoiceNumber = s.number,
                InvoiceDate = s.issued_on.Value.ToString("dd.MM.yyyy"),
                PartnerVATNumber = s.client_registration_no,
                PriceWithoutTaxH = s.subtotal,
                PriceTaxH = s.total - s.subtotal,
            }).ToList());
        }
Ejemplo n.º 5
0
        private KHSmallExpenses CreateSummedExpense(FakturoidContext context, ExportSetup setup)
        {
            var expenses = context.Expenses.Select().Where(w => w.issued_on >= setup.GetReferenceDate() && w.issued_on < setup.GetEndDate() && w.total < 10000).ToList();

            return(new KHSmallExpenses
            {
                PriceWithoutTaxH = expenses.GetTotalWithoutVAT(21),
                PriceTaxH = expenses.GetVAT(21),
                PriceWithoutTaxL = expenses.GetTotalWithoutVAT(15),
                PriceTaxL = expenses.GetVAT(15),
                //PriceWithoutTaxN = GetTotalWithVAT(expenses, 0),
                //PriceTaxN = GetVAT(expenses, 0),
            });
        }
Ejemplo n.º 6
0
        private KHExportBody CreateExportData(FakturoidContext context, ExportSetup setup)
        {
            var data = new KHExportBody
            {
                PeriodInfo       = CreatePeriodInfo(context, setup),
                Invoices         = CreateInvoices(context, setup),
                InvoicedExpenses = CreateInvoicedExpenses(context, setup),
                SmallExpenses    = CreateSummedExpense(context, setup),
                Subject          = CreateSubject(context, setup),
            };

            data.Summary = CreateSummary(data);

            return(data);
        }
Ejemplo n.º 7
0
        private VATExportBody CreateExportData(FakturoidContext context, ExportSetup setup)
        {
            var data = new VATExportBody
            {
                PeriodInfo  = CreatePeriodInfo(context, setup),
                Invoiced    = CreateInvoiced(context, setup),
                Received    = CreateReceived(context, setup),
                Adjustments = CreateAdjustments(context, setup),
                Subject     = CreateSubject(context, setup),
            };

            data.Summary = CreateSummary(data);

            return(data);
        }
Ejemplo n.º 8
0
        private Subject CreateSubject(FakturoidContext context, ExportSetup setup)
        {
            var client = context.GetAccountInfo();

            return(new Subject
            {
                FirstName = client.name.Split(' ').First(),
                Surname = client.name.Split(' ').Last(),
                Country = "ČESKÁ REPUBLIKA",
                City = client.city,
                Street = client.street,
                Email = client.email,
                VATNumber = client.vat_no.Replace("CZ", ""),
                Zip = client.zip,
                AuthorityOfficeNumber = setup.OfficeNo,
                AuthorityOffice2 = setup.OfficeDepartmentNo,
                Phone = client.phone,
            });
        }
Ejemplo n.º 9
0
        private static IActionResult GetReport(ExportDto exportDto, TraceWriter log)
        {
            log.Info("Function started");
            IActionResult check = exportDto.Validate();

            if (check != null)
            {
                return(check);
            }

            var setup = new ExportSetup()
            {
                Year       = exportDto.Year,
                Period     = exportDto.Quarter ?? exportDto.Month.GetValueOrDefault(),
                ExportMode = exportDto.Quarter.HasValue ? ExportMode.Quarter : ExportMode.Month,

                OfficeDepartmentNo = exportDto.OfficeDepartmentId.ToString(),
                OfficeNo           = exportDto.OfficeNo.ToString(),
            };

            var connectConfig = new FakturoidConfiguration()
            {
                AccountName = exportDto.AccountName,
                Key         = exportDto.Key,
                Login       = exportDto.Login
            };


            var exporter = new XmlGenerator();

            log.Info("Export started");
            var exportedData = new FakturoidVATExportAdapter(connectConfig).GetExportForPeriod(setup);

            log.Info("Data exported");

            string xml = exporter.Generate(exportedData);

            log.Info("Report generated");

            return(new OkObjectResult(xml));
        }
Ejemplo n.º 10
0
        public KHExportSheet GetExportForPeriod(ExportSetup setup)
        {
            var sheet = new KHExportSheet();

            sheet.SoftwareName          = "EPO MF ČR";
            sheet.SoftwareVersion       = "39.21.1";
            sheet.ExportData            = new KHExportBody();
            sheet.ExportData.Version    = "02.01";
            sheet.ExportData.PeriodInfo = CreatePeriodInfo();
            sheet.ExportData.Subject    = CreateSubjectInfo();

            sheet.ExportData.Invoices.Add(CreateLine1());
            sheet.ExportData.Invoices.Add(CreateLine2());
            sheet.ExportData.Invoices.Add(CreateLine3());

            sheet.ExportData.Summary = CreateSummary();

            sheet.Footer = CreateFooter();

            return(sheet);
        }
Ejemplo n.º 11
0
        private List <KHInvoicedExpense> CreateInvoicedExpenses(FakturoidContext context, ExportSetup setup)
        {
            var expenses = context.Expenses.Select().Where(w => w.issued_on >= setup.GetReferenceDate() && w.issued_on < setup.GetEndDate() && w.total > 10000).ToList();


            return(expenses.Select(s => new KHInvoicedExpense
            {
                PriceWithoutTaxH = s.subtotal,
                PriceTaxH = s.total - s.subtotal,
            }).ToList());
        }
Ejemplo n.º 12
0
 private VATAdjustments CreateAdjustments(FakturoidContext context, ExportSetup setup)
 {
     return(new VATAdjustments());
 }