public override List<UsageSpaceStatItem> GetStatData() { if (!DbRegistry.IsDatabaseRegistered(MailDatabaseId)) { DbRegistry.RegisterDatabase(MailDatabaseId, ConfigurationManager.ConnectionStrings[MailDatabaseId]); } using (var mail_db = new DbManager(MailDatabaseId)) { var query = new SqlQuery("mail_attachment a") .InnerJoin("mail_mail m", Exp.EqColumns("a.id_mail", "m.id")) .Select("m.id_user") .Select("sum(a.size) as size") .Where("m.tenant", TenantProvider.CurrentTenantID) .Where("a.need_remove", 0) .GroupBy(1) .OrderBy(2, false); return mail_db.ExecuteList(query) .Select(r => { var user_id = new Guid(Convert.ToString(r[0])); var user = CoreContext.UserManager.GetUsers(user_id); var item = new UsageSpaceStatItem { Name = DisplayUserSettings.GetFullUserName(user, false), ImgUrl = UserPhotoManager.GetSmallPhotoURL(user.ID), Url = CommonLinkUtility.GetUserProfile(user.ID), SpaceUsage = Convert.ToInt64(r[1]) }; return item; }) .ToList(); } }
public override List <UsageSpaceStatItem> GetStatData() { if (!DbRegistry.IsDatabaseRegistered(MailDatabaseId)) { DbRegistry.RegisterDatabase(MailDatabaseId, ConfigurationManager.ConnectionStrings[MailDatabaseId]); } using (var mail_db = new DbManager(MailDatabaseId)) { var query = new SqlQuery("mail_attachment a") .InnerJoin("mail_mail m", Exp.EqColumns("a.id_mail", "m.id")) .Select("m.id_user") .Select("sum(a.size) as size") .Where("m.tenant", TenantProvider.CurrentTenantID) .Where("a.need_remove", 0) .GroupBy(1) .OrderBy(2, false); return(mail_db.ExecuteList(query) .Select(r => { var user_id = new Guid(Convert.ToString(r[0])); var user = CoreContext.UserManager.GetUsers(user_id); var item = new UsageSpaceStatItem { Name = DisplayUserSettings.GetFullUserName(user, false), ImgUrl = UserPhotoManager.GetSmallPhotoURL(user.ID), Url = CommonLinkUtility.GetUserProfile(user.ID), SpaceUsage = Convert.ToInt64(r[1]) }; return item; }) .ToList()); } }
public override List <UsageSpaceStatItem> GetStatData() { using (var mail_db = DbManager.FromHttpContext(MailDatabaseId)) { var query = new SqlQuery("mail_attachment a") .InnerJoin("mail_mail m", Exp.EqColumns("a.id_mail", "m.id")) .Select("m.id_user") .Select("sum(a.size) as size") .Where("a.tenant", TenantProvider.CurrentTenantID) .Where("a.need_remove", 0) .GroupBy(1) .OrderBy(2, false); return(mail_db.ExecuteList(query) .Select(r => { var user_id = new Guid(Convert.ToString(r[0])); var user = CoreContext.UserManager.GetUsers(user_id); var item = new UsageSpaceStatItem { Name = DisplayUserSettings.GetFullUserName(user, false), ImgUrl = UserPhotoManager.GetSmallPhotoURL(user.ID), Url = CommonLinkUtility.GetUserProfile(user.ID), SpaceUsage = Convert.ToInt64(r[1]), Disabled = user.Status == EmployeeStatus.Terminated }; return item; }) .ToList()); } }
public override List <UsageSpaceStatItem> GetStatData() { if (!DbRegistry.IsDatabaseRegistered(FileConstant.DatabaseId)) { DbRegistry.RegisterDatabase(FileConstant.DatabaseId, ConfigurationManager.ConnectionStrings[FileConstant.DatabaseId]); } using (var db = new DbManager(FileConstant.DatabaseId)) { var myFiles = new SqlQuery("files_file f") .Select("f.create_by") .Select("sum(f.content_length) as size") .InnerJoin("files_folder_tree t", Exp.EqColumns("f.folder_id", "t.folder_id")) .InnerJoin("files_bunch_objects b", Exp.EqColumns("f.tenant_id", "b.tenant_id") & Exp.EqColumns("t.parent_id", "b.left_node")) .Where("b.tenant_id", TenantProvider.CurrentTenantID) .Where(Exp.Like("b.right_node", "files/my/", SqlLike.StartWith) | Exp.Like("b.right_node", "files/trash/", SqlLike.StartWith)) .GroupBy(1); var commonFiles = new SqlQuery("files_file f") .Select("'" + Constants.LostUser.ID + "'") .Select("sum(f.content_length) as size") .InnerJoin("files_folder_tree t", Exp.EqColumns("f.folder_id", "t.folder_id")) .InnerJoin("files_bunch_objects b", Exp.EqColumns("f.tenant_id", "b.tenant_id") & Exp.EqColumns("t.parent_id", "b.left_node")) .Where("b.tenant_id", TenantProvider.CurrentTenantID) .Where("b.right_node", "files/common/"); var query = myFiles.UnionAll(commonFiles); return(db.ExecuteList(query) .GroupBy(r => CoreContext.UserManager.GetUsers(new Guid(Convert.ToString(r[0]))), r => Convert.ToInt64(r[1]), (user, items) => { var item = new UsageSpaceStatItem { SpaceUsage = items.Sum() }; if (user.Equals(Constants.LostUser)) { item.Name = FilesUCResource.CorporateFiles; item.ImgUrl = PathProvider.GetImagePath("corporatefiles_big.png"); item.Url = PathProvider.GetFolderUrl(Global.FolderCommon); } else { item.Name = user.DisplayUserName(false); item.ImgUrl = user.GetSmallPhotoURL(); item.Url = user.GetUserProfilePageURL(); } return item; }) .OrderByDescending(i => i.SpaceUsage) .ToList()); } }
public override List<UsageSpaceStatItem> GetStatData() { if (!DbRegistry.IsDatabaseRegistered(FileConstant.DatabaseId)) { DbRegistry.RegisterDatabase(FileConstant.DatabaseId, ConfigurationManager.ConnectionStrings[FileConstant.DatabaseId]); } using (var db = new DbManager(FileConstant.DatabaseId)) { var myFiles = new SqlQuery("files_file f") .Select("f.create_by") .Select("sum(f.content_length) as size") .InnerJoin("files_folder_tree t", Exp.EqColumns("f.folder_id", "t.folder_id")) .InnerJoin("files_bunch_objects b", Exp.EqColumns("f.tenant_id", "b.tenant_id") & Exp.EqColumns("t.parent_id", "b.left_node")) .Where("b.tenant_id", TenantProvider.CurrentTenantID) .Where(Exp.Like("b.right_node", "files/my/", SqlLike.StartWith) | Exp.Like("b.right_node", "files/trash/", SqlLike.StartWith)) .GroupBy(1); var commonFiles = new SqlQuery("files_file f") .Select("'" + Constants.LostUser.ID + "'") .Select("sum(f.content_length) as size") .InnerJoin("files_folder_tree t", Exp.EqColumns("f.folder_id", "t.folder_id")) .InnerJoin("files_bunch_objects b", Exp.EqColumns("f.tenant_id", "b.tenant_id") & Exp.EqColumns("t.parent_id", "b.left_node")) .Where("b.tenant_id", TenantProvider.CurrentTenantID) .Where("b.right_node", "files/common/"); var query = myFiles.UnionAll(commonFiles); return db.ExecuteList(query) .GroupBy(r => CoreContext.UserManager.GetUsers(new Guid(Convert.ToString(r[0]))), r => Convert.ToInt64(r[1]), (user, items) => { var item = new UsageSpaceStatItem { SpaceUsage = items.Sum() }; if (user.Equals(Constants.LostUser)) { item.Name = FilesUCResource.CorporateFiles; item.ImgUrl = PathProvider.GetImagePath("corporatefiles_big.png"); item.Url = PathProvider.GetFolderUrl(Global.FolderCommon); } else { item.Name = user.DisplayUserName(false); item.ImgUrl = user.GetSmallPhotoURL(); item.Url = user.GetUserProfilePageURL(); } return item; }) .OrderByDescending(i => i.SpaceUsage) .ToList(); } }
public override List <UsageSpaceStatItem> GetStatData() { var myFiles = FilesDbContext.Files .Join(FilesDbContext.Tree, a => a.FolderId, b => b.FolderId, (file, tree) => new { file, tree }) .Join(FilesDbContext.BunchObjects, a => a.tree.ParentId.ToString(), b => b.LeftNode, (fileTree, bunch) => new { fileTree.file, fileTree.tree, bunch }) .Where(r => r.file.TenantId == r.bunch.TenantId) .Where(r => r.file.TenantId == TenantManager.GetCurrentTenant().TenantId) .Where(r => r.bunch.RightNode.StartsWith("files/my/") | r.bunch.RightNode.StartsWith("files/trash/")) .GroupBy(r => r.file.CreateBy) .Select(r => new { CreateBy = r.Key, Size = r.Sum(a => a.file.ContentLength) }); var commonFiles = FilesDbContext.Files .Join(FilesDbContext.Tree, a => a.FolderId, b => b.FolderId, (file, tree) => new { file, tree }) .Join(FilesDbContext.BunchObjects, a => a.tree.ParentId.ToString(), b => b.LeftNode, (fileTree, bunch) => new { fileTree.file, fileTree.tree, bunch }) .Where(r => r.file.TenantId == r.bunch.TenantId) .Where(r => r.file.TenantId == TenantManager.GetCurrentTenant().TenantId) .Where(r => r.bunch.RightNode.StartsWith("files/common/")) .GroupBy(r => Constants.LostUser.ID) .Select(r => new { CreateBy = Constants.LostUser.ID, Size = r.Sum(a => a.file.ContentLength) }); return(myFiles.Union(commonFiles) .ToList() .GroupBy( r => r.CreateBy, r => r.Size, (userId, items) => { var user = UserManager.GetUsers(userId); var item = new UsageSpaceStatItem { SpaceUsage = items.Sum() }; if (user.Equals(Constants.LostUser)) { item.Name = FilesUCResource.CorporateFiles; item.ImgUrl = PathProvider.GetImagePath("corporatefiles_big.png"); item.Url = PathProvider.GetFolderUrlById(GlobalFolderHelper.FolderCommon); } else { item.Name = user.DisplayUserName(false, DisplayUserSettingsHelper); item.ImgUrl = user.GetSmallPhotoURL(UserPhotoManager); item.Url = user.GetUserProfilePageURL(CommonLinkUtility); item.Disabled = user.Status == EmployeeStatus.Terminated; } return item; }) .OrderByDescending(i => i.SpaceUsage) .ToList()); }