protected ProjectBaseController(IProjectService projectService, IMFilesVaultService mfvaultService, IMfUserGroupService mfgroupService, IVaultTemplateService vaultTemplateService, IMFObjectService mfilesObjService, IAuthenticationManager authManager) : base(authManager) { _mfvaultService = mfvaultService; _mfusergroupService = mfgroupService; _projectService = projectService; _vaultTemplateService = vaultTemplateService; _mfilesObjService = mfilesObjService; }
public InviteController(UserManager <User, long> userManager, IUserService userService, IProjectMemberService projectMemberService , IProjectService projectService, IVaultTemplateService vaultTempService, IMFilesVaultService mfvaultService , IMFObjectService mfobjService, IMfUserGroupService mfusergroupService, IEmailService emailService) { _userManger = userManager; _userService = userService; _projectMemberService = projectMemberService; _projectService = projectService; _vaultTempService = vaultTempService; _mfvaultService = mfvaultService; _mfobjService = mfobjService; _mfusergroupService = mfusergroupService; _emailService = emailService; }
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); } } }
private static void SetErpPmUser(Project proj, SqlConnection sqlc, IUserService _userService, IMfUserGroupService _mfusergroupService, Vault ovault) { try { var select1 = string.Format("select userid from erppm "); var sqlcommand1 = new SqlCommand(select1, sqlc); var rds1 = new SqlDataAdapter(sqlcommand1); var dt1 = new DataTable(); rds1.Fill(dt1); var userid = 1; if (dt1.Rows.Count > 0) { foreach (DataRow row in dt1.Rows) { foreach (DataColumn column in dt1.Columns) { userid = int.Parse(row[column].ToString()); break; } var username = _userService.GetUserById(userid).UserName; var userId = _mfusergroupService.GetUserId(ovault, username); var ugid = ovault.GetMetadataStructureItemIDByAlias( MFMetadataStructureItem.MFMetadataStructureItemUserGroup, MfilesAliasConfig.UgErpPrincipal); _mfusergroupService.AddUserToGroup(ovault, userId, ugid); break; } } } catch (Exception ex) { // Log.Info("SetErpPmUser error:" + ex.Message); } }
private void SetVicePresident(Vault mVault, Project proj, IUserService _userService, IMfUserGroupService _mfusergroupService) { // var connstr = ConfigurationManager.ConnectionStrings["AecCloudObjects"].ConnectionString; var sqlc = new SqlConnection(textBoxsqlserver.Text); sqlc.Open(); SetVicePresidentByCompany(proj, sqlc, _userService, _mfusergroupService, proj.CompanyId); if (proj.Company.Code != "0001A210000000002ORS") { SetVicePresidentByCompany(proj, sqlc, _userService, _mfusergroupService, 1); } //} //catch (Exception ex) //{ // Log.Info("SetVicePresident error:" + ex.Message); //} SetErpPmUser(proj, sqlc, _userService, _mfusergroupService, mVault); sqlc.Close(); }
private void SetVicePresidentByCompany(Project proj, SqlConnection sqlc, IUserService _userService, IMfUserGroupService _mfusergroupService, long companyid) { try { var select1 = string.Format("select userid,groupid from usergroup where id = '{0}' ", companyid); var sqlcommand1 = new SqlCommand(select1, sqlc); var rds1 = new SqlDataAdapter(sqlcommand1); var dt1 = new DataTable(); rds1.Fill(dt1); if (dt1.Rows.Count > 0) { foreach (DataRow row in dt1.Rows) { var index = 0; var userg = new UserGroupDb(); foreach (DataColumn column in dt1.Columns) { switch (index) { case 0: userg.UserId = int.Parse(row[column].ToString()); break; case 1: userg.GroupId = int.Parse(row[column].ToString()); break; } index++; } var username = _userService.GetUserById(userg.UserId).UserName; string mfigroupid = GetMfGroupName(userg.GroupId); _mfusergroupService.AddUserToGroup(proj.Vault, username, mfigroupid); } } } catch (Exception ex) { // Log.Info(companyid + "SetVicePresidentByCompany error:" + ex.Message); } }
/// <summary> /// 是否为创建项目的参与方的项目经理 /// </summary> /// <param name="vault"></param> /// <returns></returns> protected static internal bool IsCreateProjectManager(MFilesVault vault, string userName, IMfUserGroupService mfusergroupService, IVaultTemplateService vautTempService) { //var userName = GetUserName(); var mgrGroup = ProjectRoleConstants.ProjectManager; var groups = mfusergroupService.GetGroupsByUser(vault, userName); var template = GetTemplateByTempId(vautTempService, vault.TemplateId); var tempDto = template.ToDto(); if (tempDto.HasParty) { return(groups.Any(c => c.Name == mgrGroup) && groups.Any(c => c.Name == "项目创建者")); } return(groups.Any(c => c.Name == mgrGroup)); }