Example #1
0
        public static UserCloudModel GetClouds(User user, IUserVaultService _uservaultService //IUserCloudService _usercloudService,
                                               , ICloudService _cloudService, IVaultTemplateService _vaultTemplateService, IMFVaultService _vaultService, IMFilesVaultService _mfvaultService, string host, params string[] roleNames)
        {
            var clouds = _cloudService.GetCloudsByUserRoles(roleNames);
            var userId = user.Id;

            var appModel   = new UserCloudModel();
            var userVaults = _uservaultService.GetVaults(userId);

            foreach (var app in clouds)
            {
                var a    = app;
                var appM = new CloudModel {
                    App = a.ToDto()
                };
                if (app.Id == CloudConstants.MyProjects)
                {
                    var templates = new List <VaultTemplate>();
                    foreach (var t in _vaultTemplateService.GetTemplatesByCloud(app.Id))
                    {
                        templates.Add(t);
                        //a.Templates.Add(t);
                    }
                    if (templates.Count > 0)
                    {
                        var appVaults =
                            userVaults.Where(c => templates.Any(d => c.TemplateId > 0 && c.TemplateId == d.Id));
                        appM.Vaults.AddRange(appVaults.Select(c => c.ToDtoWithoutTemplate()));
                    }
                    appM.Url = "/IntegratedManagement/Index";
                }
                //else if (app.Id == CloudConstants.ProjManagements)
                //{
                //    //todo 指定路径

                //}
                appModel.Apps.Add(appM);
            }
            var password   = DBWorldCache.Get(userId.ToString());
            var appVaultsC = _mfvaultService.GetVaultsByCloud(CloudConstants.SubContracts);
            var vv         = new List <MFilesVault>();

            foreach (var v in appVaultsC)
            {
                if (_vaultService.HasUser(user, password, v))
                {
                    vv.Add(v);
                }
            }
            if (vv.Count > 0)
            {
                var cc = _cloudService.GetCloudById(CloudConstants.SubContracts);
                var cM = new CloudModel {
                    App = cc.ToDto()
                };
                cM.Vaults.AddRange(vv.Select(c => c.ToDtoWithoutTemplate()));
                appModel.Apps.Add(cM);
            }
            return(appModel);
        }
Example #2
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;
 }
Example #3
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;
 }
Example #4
0
 public CloudController(ICloudService cloudService
                        , IUserVaultService uservaultService, IVaultTemplateService vaultTemplateService, IRepository <Company> companyRepo, IRepository <Area> areaRepo
                        , IMFVaultService vaultService, IUserService userService, IMFilesVaultService mfvaultService, IAuthenticationManager authenticationManager)
     : base(authenticationManager) //, IUserCloudService usercloudService
 {
     _cloudService         = cloudService;
     _companyRepo          = companyRepo;
     _areaRepo             = areaRepo;
     _uservaultService     = uservaultService;
     _vaultTemplateService = vaultTemplateService;
     _vaultService         = vaultService;
     _userService          = userService;
     _mfvaultService       = mfvaultService;
 }
Example #5
0
 public ManageController(IAuthenticationManager authManager, SignInManager <User, long> signInManager, UserManager <User, long> userManager
                         , IProjectMemberService projMemberService, IProjectService projService, IUserService userService, IVaultServerService mfvaultServerService
                         , IMFilesVaultService mfvaultService, IVaultTemplateService vaultTempService
                         , IRepository <Company> companyRepo, IRepository <Department> departmentRepo)
     : base(authManager, signInManager, userManager)
 {
     _projMemberService    = projMemberService;
     _projService          = projService;
     _userService          = userService;
     _mfvaultService       = mfvaultService;
     _mfvaultServerService = mfvaultServerService;
     _vaultTempService     = vaultTempService;
     _companyRepo          = companyRepo;
     _departmentRepo       = departmentRepo;
 }
Example #6
0
        public static List <VaultTemplate> GetProjectTemplates(IVaultTemplateService vtService)
        {
            var tempList = new List <VaultTemplate>();
            var vts      = vtService.GetTemplates();

            foreach (var vt in vts)
            {
                //if (string.IsNullOrEmpty(vt.MetadataJson))
                //{
                //    var path = vt.StructurePath;
                //    var jsonFile = GetJson(path);
                //    vt.MetadataJson = jsonFile;
                //    vtService.UpdateTemplate(vt);
                //}
                tempList.Add(vt);
            }
            return(tempList);
        }
Example #7
0
 public AccountController(UserManager <User, long> userManager, SignInManager <User, long> signInManager, IAuthenticationManager authManager, IUserService userService
                          , IUserVaultService uservaultService, IRepository <MFilesVault> vaultRepository, IMFilesVaultService mfvaultService
                          , ICloudService cloudService, IVaultTemplateService vaultTemplateService, IProjectService projService, IProjectMemberService projectMemberService
                          , IVaultServerService vaultserverService, IMFUserService mfuserService, IMFVaultService vaultService) //IUserCloudService usercloudService,
     : base(authManager, signInManager, userManager)
 {
     _userService = userService;
     //_usercloudService = usercloudService;
     _uservaultService     = uservaultService;
     _cloudService         = cloudService;
     _vaultTemplateService = vaultTemplateService;
     _projService          = projService;
     _projectMemberService = projectMemberService;
     _mfvaultService       = mfvaultService;
     _vaultserverService   = vaultserverService;
     _mfuserService        = mfuserService;
     _vaultService         = vaultService;
     _vaultRepository      = vaultRepository;
 }
Example #8
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);
         }
     }
 }
Example #9
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));
        }
Example #10
0
 protected static VaultTemplate GetTemplateByTempId(IVaultTemplateService vaultTemplateService, long tempId)
 {
     return(vaultTemplateService.GetTemplateById(tempId));
 }