Ejemplo n.º 1
0
        public async Task <ActionResult <ResponseData> > Update(Guid id, GroupEditVm model)
        {
            try
            {
                var input = _mapper.Map <GroupEditVm, GroupInput>(model, opts =>
                {
                    opts.AfterMap((GroupEditVm s, GroupInput d) =>
                    {
                        d.Id                = id;
                        d.CurrentUserId     = GetUserId();
                        d.CurrentEmployeeId = GetEmployeeId();
                    });
                });

                var result = await _groupAppService.UpdateAsync(input);

                if (result.IsSuccess)
                {
                    return(BuildSuccess());
                }
                var msg = "未知业务错误";
                if (result.FailedCode == FailedCodes.Group_NotCreatedBy)
                {
                    msg = "不是所有者,不能编辑/添加成员/删除成员";
                }
                return(BuildFaild(result.FailedCode, msg));
            }
            catch (Exception ex)
            {
                return(BadRequest(LogError(_logger, ex)));
            }
        }
        /// <summary>
        /// 创建一个群组,返回一个会话ID
        /// </summary>
        /// <returns></returns>
        public async Task <ResponseData <Guid> > CreateGroupAsync(UserInfo owner, UserInfo partner, string name, string remark)
        {
            this._httpClient.SetBearerToken(owner.AccessToken);
            var param = new GroupEditVm()
            {
                Name            = name,
                Remark          = remark,
                AddingMemberIds = new HashSet <Guid>()
                {
                    partner.UserMdmId, owner.UserMdmId
                },
                AddingMemberNames = new List <string>()
                {
                    partner.Name, owner.Name
                }
            };

            var response = await this._httpClient.PostAsync(BizUrlConfig.CreateGroup_POST,
                                                            new StringContent(JsonConvert.SerializeObject(param), Encoding.UTF8, "application/json"));

            var str = await response.Content.ReadAsStringAsync();

            var responseModel = JsonConvert.DeserializeObject <ResponseData <Guid> >(str);

            return(responseModel);
        }
Ejemplo n.º 3
0
        public async Task <ActionResult <ResponseData <Guid> > > Create(GroupEditVm model)
        {
            try
            {
                var input = _mapper.Map <GroupEditVm, GroupInput>(model, opts =>
                {
                    opts.AfterMap((GroupEditVm s, GroupInput d) =>
                    {
                        d.CurrentUserId     = GetUserId();
                        d.CurrentEmployeeId = GetEmployeeId();
                    });
                });

                var id = await _groupAppService.CreateCustomAsync(input);

                return(CreatedAtAction("GetById", new { id }, BuildSuccess(id)));
                //return BuildSuccess(id);
                //TODO 这里可能要根据客户端的需求返回一个VM
            }
            catch (Exception ex)
            {
                return(BadRequest(LogError(_logger, ex)));
            }
        }