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); }
public MainWindowViewModel(UserDto user, UserCloudModel appModels, TokenModel token) { _user = user; _appModels = appModels; _token = token; _authClient = GetAuthClient(); UserProfile = new UserProfile(user) { Url = GetUserProfileUrl() }; Log.Info(string.Format("in MainWindowViewModel ,UserProfile={0}", UserProfile.Url)); //命令 ShowProfileCmd = new DelegateCommand(new Action(ShowProfile)); }
/// <summary> /// /// </summary> /// <param name="token"></param> /// <param name="clouds">App的ID列表</param> /// <returns></returns> public Task <HttpResponseMessage> LoadClouds(TokenModel token, params int[] clouds) { if (clouds == null || clouds.Length == 0) { throw new ArgumentException("clouds"); } TokenClient.RefreshToken(_client, token); var model = new UserCloudModel(); model.Apps.AddRange(clouds.Select(c => new CloudModel { App = new CloudDto { Id = c } })); return(LoadClouds(model)); }
//private async /// <summary> /// 设置用户数据 /// </summary> /// <param name="token"></param> /// <param name="user"></param> /// <param name="appModel"></param> private void UpdateUserInfo(TokenModel token, UserDto user, UserCloudModel appModel) { _userInfo.Token = token; //客户端UI中用户基本信息 _userInfo.UserId = user.Id; _userInfo.Password = user.Password; _userInfo.UserName = user.UserName; _userInfo.Email = user.Email; //从服务端返回的用户信息 _userInfo.UserWeb = user; //用户app信息,测试数据 _userInfo.UserApp = appModel; App.UserInfo = _userInfo; }
internal Task <HttpResponseMessage> LoadClouds(UserCloudModel model) { return(_client.PostAsJsonAsync(_routePrefix + "/Clouds/", model)); }
public Task <HttpResponseMessage> DelClouds(UserCloudModel model, TokenModel token) { TokenClient.RefreshToken(_client, token); return(_client.PostAsJsonAsync(_routePrefix + "/DelClouds/", model)); }