Exemple #1
0
 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;
 }
Exemple #2
0
 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;
 }
Exemple #3
0
 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);
         }
     }
 }
Exemple #4
0
 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);
     }
 }
Exemple #5
0
        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();
        }
Exemple #6
0
        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);
            }
        }
Exemple #7
0
        /// <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));
        }