public static string Invite(InviteModel inviteModel, UserManager <User, long> _userManger, long userId, string userName , IUserService _userService, IProjectMemberService _projectMemberService, IProjectService _projectService , IVaultTemplateService _vaultTempService, IMFilesVaultService _mfvaultService, IMFObjectService _mfobjService , IMfUserGroupService _mfusergroupService, IEmailService _emailService, string baseUri) { if (String.IsNullOrEmpty(inviteModel.Email)) { var userDto = AccountController.GetUserProfile(_userManger, userId);//UserClient.GetProfile(baseUri, token); //if (!userRes.Success) //{ // return BadRequest("当前用户认证失效"); //} //var userDto = JsonConvert.DeserializeObject<UserDto>(userRes.Content); inviteModel.Email = userDto.Email; } //Log.Info("API获取ProjectClient..."); if (inviteModel.InviteEmail != "")//分email和用户ID两种记录方式 { //Log.Info("API生成BindingModel..."); var model = new ProjectInvitationEmailModel { ProjectId = inviteModel.ProjectId, InviteeEmail = inviteModel.InviteEmail, InvitationMessage = "请加入" + inviteModel.ProjectName + "项目", InviteePartId = inviteModel.PartyId, MFUserId = inviteModel.MFUserId, BidProjId = inviteModel.BidProjId }; //Log.Info("API添加数据库信息..."); var res = Api.ProjectMembersController.InviteMemberByEmail(model, userId, userName , _userService, _projectMemberService, _projectService, _vaultTempService , _mfvaultService, _mfobjService, _mfusergroupService); if (String.IsNullOrEmpty(res)) { //Log.Info("API添加数据库信息成功..."); var sendEmailError = SendInviteEmail(baseUri, inviteModel.PartyName, inviteModel.InviteEmail, inviteModel.Email, inviteModel.ProjectName, inviteModel.ProjectId, inviteModel.UserId, inviteModel.PartyId, _emailService); if (sendEmailError == "success") { return(String.Empty); } else { return(sendEmailError); } } else { var err = res; Log.Error("API添加数据库信息失败:" + err); return(err); } } else { var model = new ProjectInvitationUserModel { ProjectId = inviteModel.ProjectId, InviteeId = inviteModel.UserId, InvitationMessage = "请加入" + inviteModel.ProjectName + "项目", InviteePartId = inviteModel.PartyId }; var res = Api.ProjectMembersController.InviteMemberByUserId(model, userId, userName, _projectService, _projectMemberService, _vaultTempService , _mfvaultService, _userService, _mfobjService, _mfusergroupService); if (String.IsNullOrEmpty(res)) { var sendEmailError = SendInviteEmail(baseUri, inviteModel.PartyName, inviteModel.InviteEmail, inviteModel.Email, inviteModel.ProjectName, inviteModel.ProjectId, inviteModel.UserId, inviteModel.PartyId, _emailService); if (sendEmailError == "success") { return(String.Empty); } else { return(sendEmailError); } } else { var err = res; return(err); } } }
/// <summary> /// 使用UserId进行邀请 /// </summary> /// <param name="model"></param> /// <param name="token"></param> /// <returns></returns> public Task <HttpResponseMessage> InviteMemberByUserId(ProjectInvitationUserModel model, TokenModel token) { TokenClient.RefreshToken(_client, token); return(_client.PostAsJsonAsync(_memberRoutePrefix + "/InviteMemberByUserId", model)); }