コード例 #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);
        }
コード例 #2
0
        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));
        }
コード例 #3
0
ファイル: CloudClient.cs プロジェクト: weijx-xa/test
        /// <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));
        }
コード例 #4
0
        //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;
        }
コード例 #5
0
ファイル: CloudClient.cs プロジェクト: weijx-xa/test
 internal Task <HttpResponseMessage> LoadClouds(UserCloudModel model)
 {
     return(_client.PostAsJsonAsync(_routePrefix + "/Clouds/", model));
 }
コード例 #6
0
ファイル: CloudClient.cs プロジェクト: weijx-xa/test
 public Task <HttpResponseMessage> DelClouds(UserCloudModel model, TokenModel token)
 {
     TokenClient.RefreshToken(_client, token);
     return(_client.PostAsJsonAsync(_routePrefix + "/DelClouds/", model));
 }