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, }); }
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); }
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), }); }
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()); }
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), }); }
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); }
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); }
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, }); }
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)); }
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); }
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()); }
private VATAdjustments CreateAdjustments(FakturoidContext context, ExportSetup setup) { return(new VATAdjustments()); }