Esempio n. 1
0
        public int AddProject(ProjectViewModel viewModel)
        {
            var entity = AutoMapper.Mapper.Map <ProjectViewModel, Project>(viewModel);

            entity.IdentifyCode = Guid.NewGuid().ToString();
            var id = ProjctRepository.Insert(entity);

            ClearCache();
            return(id);
        }
Esempio n. 2
0
        public bool DeleteProject(int id)
        {
            var project   = ProjctRepository.Entities.Where(o => o.Id == id).FirstOrDefault();
            var isSucceed = false;

            if (project != null)
            {
                isSucceed = ProjctRepository.Delete(project) > 0;
            }
            ClearCache();
            return(isSucceed);
        }
Esempio n. 3
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);
        }