public async Task <byte[]> GetDocumentData(ProjectCompany ownerCompany, IList <ProjectCompanyFactShare> factShares, Signatory signature, string templatePath, IList <ProjectCompanyShare> shares) { pageNumber = 1; this.ownerCompany = ownerCompany; this.factShares = factShares; this.shares = shares; sheets = new List <SheetBase>(); companyNumberContainer = new CompanyNumberContainer(); allCompanies = (await projectCompanyService.GetAllByProjectId(ownerCompany.ProjectId)).ToDictionary(x => x.Id); //currentCompany = await projectCompanyService.GetById(ownerCompany.Id); byte[] result; using (var package = new ExcelPackage(new FileInfo(templatePath))) { CreateSheets(package.Workbook, signature); foreach (var sheet in sheets) { sheet.InitRanges(); sheet.WriteValues(); } result = package.GetAsByteArray(); } return(await Task.Run(() => result)); }
public NPReportCompany(ProjectCompanyFactShare factShare, CompanyNumberContainer numbers) { ProjectCompany = factShare.DependentProjectCompany; OwnerCompany = factShare.OwnerProjectCompany; this.factShare = factShare; switch (ProjectCompany.State) { case State.Domestic: Number = ++numbers.DomesticCompanyNumber; break; case State.ForeignLight: Number = ++numbers.ForeignLightCompanyNumber; break; case State.Foreign: Number = ++numbers.ForeignCompanyNumber; break; case State.Individual: default: throw new ArgumentException($"Expected Project Company State Domestic, Foreign, ForeignLight. Got {ProjectCompany.State}"); } }
private void Init(IEnumerable <ProjectCompany> companies, IEnumerable <ProjectCompanyShare> shares, int ownerCompanyId) { pageNumber = 1; this.companies = companies; this.shares = shares; this.ownerCompanyId = ownerCompanyId; sheets = new List <SheetBase>(); companyNumberContainer = new CompanyNumberContainer(); }
public IEnumerable <CompanyChain> GetChains() { companyNumberContainer = new CompanyNumberContainer(); var reportCompanies = factShares .Select(share => new ReportCompany(share, companyNumberContainer)) .ToArray(); var companies = reportCompanies.ToList(); var chains = new List <CompanyChain>(); foreach (var company in companies) { var chain = GetCompanyChainsWithUpdateReportCompanies(company.ProjectCompany.ProjectId, company.ProjectCompany.Id, reportCompanies, factShares); chains.AddRange(chain); } return(chains); }
public KikReportCompany(ProjectCompany ownerCompany, ProjectCompany projectCompany, CompanyNumberContainer numbers) { ProjectCompany = projectCompany; OwnerCompany = ownerCompany; switch (ProjectCompany.State) { case State.Domestic: Number = ++numbers.DomesticCompanyNumber; break; case State.ForeignLight: Number = ++numbers.ForeignLightCompanyNumber; break; case State.Foreign: Number = ++numbers.ForeignCompanyNumber; break; case State.Individual: default: throw new ArgumentException($"Expected Project Company State Domestic, Foreign, ForeignLight. Got {ProjectCompany.State}"); } }