Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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}");
            }
        }
Ejemplo n.º 3
0
 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}");
            }
        }