public async Task <byte[]> GetDocument(int companyId, int sigantoryId, string path)
        {
            var factShares = await shareService.GetFactByProjectCompanyId(companyId, DateTime.Now);

            var company = await companyRepository.GetByIdAsync(companyId);

            var signature = await signatureService.GetById(sigantoryId);

            var shares = await shareService.GetAllByProjectId(company.ProjectId, DateTime.Now);

            return(await new NPWorkbook(notificationCalculation, projectCompanyService)
                   .GetDocumentData(company, factShares, signature, path, shares));
        }
        public async Task <byte[]> GetDocument(int companyId, int sigantoryId, string path, int year, int correction, int taxAuthorityCode)
        {
            var company = await projectCompanyService.GetById(companyId);

            var signature = await signatureService.GetSignatureById(sigantoryId);

            var factShares = await shareService.GetFactByProjectCompanyId(companyId, DateTime.Now);

            var shares = await shareService.GetAllByProjectId(company.ProjectId);

            IReportCompanyService reportCompanyService = new ReportCompanyService(company, shares, factShares);

            return(await new NotificationOfKIKWorkbook(projectCompanyService, shareService, reportCompanyService, register1Service, register3Service, register9Service)
                   .GetDocumentData(company, factShares, signature, path, year, correction, taxAuthorityCode));
        }
        [HttpGet, Route("{projectId}/ownership")] //todo: set filter.
        public async Task <ProjectOwnershipViewModel> GetProjectOwnership(int projectId, DateTime?date = null)
        {
            var project = await((IProjectService)Service).GetProjectOwnership(projectId);
            var data    = Mapper.Map <ProjectOwnershipViewModel>(project);

            var shares = await shareService.GetAllByProjectId(projectId, date ?? DateTime.Today);

            var factsShares = factSharesService.GetFactShares(shares);

            data.Links = factsShares
                         .Where(x => x.ShareDirectPart > 0)
                         .Select(x => new ProjectOwnershipLinkViewModel()
            {
                SourceId = x.OwnerProjectCompanyId,
                TargetId = x.DependentProjectCompanyId,
                Share    = x.ShareDirectPart
            }).ToArray();

            return(data);
        }