Пример #1
0
        /// <summary>
        /// 根据主键获取实体
        /// </summary>
        /// <param name="input">主键</param>
        /// <returns></returns>

        public async Task <MeetingIssueOutputDto> Get(NullableIdDto <Guid> input)
        {
            var model = await _repository.FirstOrDefaultAsync(x => x.Id == input.Id.Value);

            if (model == null)
            {
                throw new UserFriendlyException((int)ErrorCode.CodeValErr, "该数据不存在!");
            }
            var ret = new MeetingIssueOutputDto();

            using (_unitOfWorkManager.Current.DisableFilter(AbpDataFilters.SoftDelete))
            {
                ret = model.MapTo <MeetingIssueOutputDto>();
                if (model.OrgId.HasValue)
                {
                    ret.OrgName = (await _workflowOrganizationUnitsRepository.GetAsync(model.OrgId.Value)).DisplayName;
                }
                if (!model.UserId.IsNullOrEmpty())
                {
                    ret.UserName = _workFlowOrganizationUnitsManager.GetNames(model.UserId);
                }
                if (model.SingleProjectId.HasValue)
                {
                    var singleProject = await _singleProjectRepository.FirstOrDefaultAsync(r => r.Id == model.SingleProjectId.Value);

                    if (singleProject != null)
                    {
                        ret.SingleProjecetName = singleProject.SingleProjectName;
                    }
                }

                ret.StautsTitle = ret.Stauts.ToString();
            }

            return(ret);
        }
Пример #2
0
        public MeetingIssueOutputDto CreateSelf(CreateMeetingIssueInput input)
        {
            if (input.IssueType == IssueType.部门议题 && !input.OrgId.HasValue)
            {
                throw new UserFriendlyException((int)ErrorCode.NullPropertyCodeErr, "部门议题清选择部门");
            }

            if (input.IssueType == IssueType.项目议题 && !input.SingleProjectId.HasValue)
            {
                throw new UserFriendlyException((int)ErrorCode.NullPropertyCodeErr, "项目议题清选择项目");
            }

            var newmodel = new MeetingIssue()
            {
                Id              = Guid.NewGuid(),
                Name            = input.Name,
                OrgId           = input.OrgId,
                UserId          = input.UserId,
                Content         = input.Content,
                IssueType       = input.IssueType,
                SingleProjectId = input.SingleProjectId,
            };

            if (input.RelationMeetingId.HasValue)
            {
                newmodel.RelationMeetingId = input.RelationMeetingId;
                newmodel.Status            = MeetingIssueStatus.草稿;
            }
            else
            {
                newmodel.Status = MeetingIssueStatus.待议;
            }


            if (input.IssueType == IssueType.项目议题)
            {
                var _projectAuditMemberRepository = Abp.AbpBootstrapper.Create <Abp.Modules.AbpModule>().IocManager.IocContainer.Resolve <IRepository <ProjectAuditMember, Guid> >();
                var projectleaderModel            = _projectAuditMemberRepository.GetAll().FirstOrDefault(r => r.ProjectBaseId == input.SingleProjectId.Value && r.UserAuditRole == (int)AuditRoleEnum.项目负责人);
                if (projectleaderModel != null)
                {
                    newmodel.ProjectLeaderId = projectleaderModel.UserId;
                }
            }

            _repository.Insert(newmodel);
            var ret = new MeetingIssueOutputDto()
            {
                Id              = newmodel.Id,
                Name            = input.Name,
                OrgId           = input.OrgId,
                UserId          = input.UserId,
                Content         = input.Content,
                IssueType       = input.IssueType,
                SingleProjectId = input.SingleProjectId,
            };

            if (ret.OrgId.HasValue)
            {
                ret.OrgName = (_workflowOrganizationUnitsRepository.Get(ret.OrgId.Value)).DisplayName;
            }
            if (!ret.UserId.IsNullOrEmpty())
            {
                ret.UserName = _workFlowOrganizationUnitsManager.GetNames(ret.UserId);
            }
            ret.StautsTitle = ret.Stauts.ToString();
            return(ret);
        }