예제 #1
0
    private void SetCoopInfo(RectTransform rt, PCooperateInfo Cinfo)
    {
        if (Cinfo == null)
        {
            return;
        }
        CooperationInfo coop = rt.gameObject.GetComponentDefault <CooperationInfo>();

        coop.SetInfo(Cinfo, SetMonShow);
    }
예제 #2
0
        public override async Task <Result> Handle(EditCooperationInfoCommand request, CancellationToken cancellationToken)
        {
            var id   = string.IsNullOrWhiteSpace(request.Id) ? 0 : Convert.ToInt32(request.Id);
            var show = request.Show == "1";
            var sort = Convert.ToInt32(request.Sort);

            var typeId = Convert.ToInt32(request.CooperationTypeId);

            if (!await _cooperationTypeRepository.AnyAsync(x => x.Id == typeId))
            {
                return(Result.Failure($"typeId={typeId}类型不存在"));
            }

            var user = await _userRepository.Set().FirstOrDefaultAsync(x => x.Id == request.UserId);

            if (user == null)
            {
                return(Result.Failure($"用户不存在"));
            }

            if (id <= 0) //新增
            {
                //if (user.Type != 0)
                //{
                //    return Result.Failure($"只有企业才可以添加");
                //}
                var item = new CooperationInfo()
                {
                    Content           = request.Content,
                    Show              = true,
                    Sort              = 0,
                    CooperationTypeId = typeId,
                    Title             = request.Title,
                    Status            = 0,
                    UserId            = request.UserId,
                    Describe          = request.Content.FilterHtml().Cut(300)
                };
                if (user.Type == 0)// || user.Type == 2)
                {
                    var company_user = await _companyUserRepository.Set().FirstOrDefaultAsync(x => x.UserId == request.UserId);

                    if (company_user == null)
                    {
                        return(Result.Failure($"您还未绑定企业"));
                    }

                    item.CompanyId = company_user.CompanyId;
                }

                if (user.Type == 1)
                {
                    item.Status = 1;
                }
                await _cooperationInfoRepository.AddAsync(item);
            }
            else
            {
                //修改
                var item = await _cooperationInfoRepository.Set().FirstOrDefaultAsync(x => x.Id == id);

                if (item == null)
                {
                    return(Result.Failure($"id={request.Id}错误,内容不存在"));
                }

                if (user.Type != 1 && item.Status == 1)
                {
                    return(Result.Failure($"当前状态不能修改!"));
                }



                if (user.Type == 0)//|| user.Type == 2)
                {
                    var company_user = await _companyUserRepository.Set().FirstOrDefaultAsync(x => x.UserId == request.UserId);

                    if (company_user == null)
                    {
                        return(Result.Failure($"您还未绑定企业"));
                    }

                    if (item.CompanyId != company_user.CompanyId)
                    {
                        return(Result.Failure($"您绑定的企业不符合"));
                    }
                }

                item.Content           = request.Content;
                item.Title             = request.Title;
                item.CooperationTypeId = typeId;
                item.Status            = 0;
                item.Describe          = request.Content.FilterHtml().Cut(300);

                if (user.Type == 0) //用户修改的情况
                {
                    if (item.Status != -1)
                    {
                        return(Result.Failure($"当前状态不能修改"));
                    }
                }

                if (user.Type == 1) //管理员修改
                {
                    if (string.IsNullOrWhiteSpace(request.Status))
                    {
                        return(Result.Failure($"请选择审核状态"));
                    }
                    var status = Convert.ToInt32(request.Status);

                    item.Show   = show;
                    item.Sort   = sort;
                    item.Status = status;
                }


                await _cooperationInfoRepository.UpdateAsync(item);
            }

            return(Result.Success());
        }