public async Task ProjectCompanyService_GetKIKDocument_Test()
        {
            const int ownerCompanyId           = 9;
            var       projectCompanyRepository = new ProjectCompanyRepository(new WebKikDataContext());
            var       factShareCalculation     = new FactShareCalculation();
            var       shareRepository          = new EntityRepository <ProjectCompanyShare, int>(new WebKikDataContext());
            var       service = new ProjectCompanyService(projectCompanyRepository, factShareCalculation, null, null, null, shareRepository);
            var       path    = Environment.CurrentDirectory + templateRelativePath;

            var data = await service.GetKIKDocument(ownerCompanyId, path, 2016);

            File.WriteAllBytes(@"TestExcelKik.xlsx", data);
        }
Ejemplo n.º 2
0
        public bool UpdateProject(ProjectViewModel viewModel)
        {
            var id                 = viewModel.Id;
            var oldModel           = ProjctRepository.Entities.FirstOrDefault(o => o.Id == id);
            var oldCompanyEntities = oldModel.Companies;

            var projectEntity = AutoMapper.Mapper.Map <ProjectViewModel, Project>(viewModel);

            projectEntity.IdentifyCode = oldModel.IdentifyCode;
            projectEntity.CreatedTime  = oldModel.CreatedTime;
            projectEntity.Creator      = oldModel.Creator;

            #region 新增或更新机构信息
            var companyies = projectEntity.Companies.ToList();
            companyies.ForEach(p =>
            {
                if (p.Id > 0)
                {
                    var pEntity = ProjectCompanyRepository.Entities.FirstOrDefault(o => o.Id == p.Id);
                    if (pEntity != null)
                    {
                        pEntity.CompanyRole = p.CompanyRole;
                        pEntity.CompanyID   = p.CompanyID;
                        pEntity.ProjectID   = projectEntity.Id;
                        ProjectCompanyRepository.Update(pEntity);
                    }
                }
                else
                {
                    p.ProjectID   = projectEntity.Id;
                    p.CreatedTime = DateTime.Now;
                    ProjectCompanyRepository.Insert(p);
                }
            });
            #endregion

            var isSucceed = false;
            if (projectEntity != null)
            {
                isSucceed = ProjctRepository.Update(projectEntity) > 0;
                if (isSucceed)
                {
                    ClearCache();
                }
            }
            return(isSucceed);
        }