public static KeyValueBunch GetBackupContentSummary(int userId, int packageId, int serviceId, int serverId) { Dictionary <string, List <string> > summary = new Dictionary <string, List <string> >(); // Get backup items List <ServiceProviderItem> items = GetBackupItems(userId, packageId, serviceId, serverId); // Prepare filter for in-loop sort ServiceProviderItemType[] itemTypes = PackageController.GetServiceItemTypes().ToArray(); // Group service items by type id foreach (ServiceProviderItem si in items) { ServiceProviderItemType itemType = Array.Find <ServiceProviderItemType>(itemTypes, x => x.ItemTypeId == si.TypeId && x.Backupable); // Sort out item types without backup capabilities if (itemType != null) { // Mimic a grouping sort if (!summary.ContainsKey(itemType.DisplayName)) { summary.Add(itemType.DisplayName, new List <string>()); } // summary[itemType.DisplayName].Add(si.Name); } } // KeyValueBunch result = new KeyValueBunch(); // Convert grouped data into serializable format foreach (string groupName in summary.Keys) { result[groupName] = String.Join(",", summary[groupName].ToArray()); } // return(result); }
public static KeyValueBunch GetBackupContentSummary(int userId, int packageId, int serviceId, int serverId) { Dictionary<string, List<string>> summary = new Dictionary<string, List<string>>(); // Get backup items List<ServiceProviderItem> items = GetBackupItems(userId, packageId, serviceId, serverId); // Prepare filter for in-loop sort ServiceProviderItemType[] itemTypes = PackageController.GetServiceItemTypes().ToArray(); // Group service items by type id foreach (ServiceProviderItem si in items) { ServiceProviderItemType itemType = Array.Find<ServiceProviderItemType>(itemTypes, x => x.ItemTypeId == si.TypeId && x.Backupable); // Sort out item types without backup capabilities if (itemType != null) { // Mimic a grouping sort if (!summary.ContainsKey(itemType.DisplayName)) summary.Add(itemType.DisplayName, new List<string>()); // summary[itemType.DisplayName].Add(si.Name); } } // KeyValueBunch result = new KeyValueBunch(); // Convert grouped data into serializable format foreach (string groupName in summary.Keys) result[groupName] = String.Join(",", summary[groupName].ToArray()); // return result; }
private void BindForm() { if (PanelSecurity.SelectedUser.Role == UserRole.Administrator && PanelSecurity.PackageId < 2) ddlDestination.Items.Remove(ddlDestination.Items.FindByValue("1")); if (PanelSecurity.LoggedUser.Role != UserRole.Administrator) ddlDestination.Items.Remove(ddlDestination.Items.FindByValue("2")); if (PanelSecurity.SelectedUser.Role != UserRole.Administrator) chkDeleteBackup.Visible = false; string modeText = "{0}"; string modeValue = ""; string filePrefix = ""; int userId = PanelSecurity.SelectedUserId, packageId = PanelSecurity.PackageId, serviceId = PanelRequest.ServiceId, serverId = PanelRequest.ServerId; if (PanelSecurity.PackageId > 0) { // load a single package PackageInfo backupPackage = ES.Services.Packages.GetPackage(PanelSecurity.PackageId); // load "store" packages PackageInfo[] packages = ES.Services.Packages.GetMyPackages(PanelSecurity.SelectedUser.UserId); foreach (PackageInfo package in packages) ddlSpace.Items.Add(new ListItem(package.PackageName, package.PackageId.ToString())); ddlSpace.SelectedValue = PanelSecurity.PackageId.ToString(); modeText = "Text.SpaceBackupMode"; modeValue = backupPackage.PackageName; filePrefix = "SpaceBackup"; } else if (PanelRequest.ServiceId > 0) { ddlDestination.Items.Remove(ddlDestination.Items.FindByValue("1")); ServiceInfo service = ES.Services.Servers.GetServiceInfo(PanelRequest.ServiceId); modeText = "Text.ServiceBackupMode"; modeValue = service.ServiceName; filePrefix = "ServiceBackup"; } else if (PanelRequest.ServerId > 0) { ddlDestination.Items.Remove(ddlDestination.Items.FindByValue("1")); ServerInfo server = ES.Services.Servers.GetServerById(PanelRequest.ServerId); modeText = "Text.ServerBackupMode"; modeValue = server.ServerName; filePrefix = "ServerBackup"; } else if (PanelSecurity.SelectedUserId > 0) { // load user spaces PackageInfo[] packages = ES.Services.Packages.GetMyPackages(PanelSecurity.SelectedUserId); foreach (PackageInfo package in packages) ddlSpace.Items.Add(new ListItem(package.PackageName, package.PackageId.ToString())); modeText = "Text.UserBackupMode"; modeValue = PanelSecurity.SelectedUser.Username; filePrefix = "UserBackup"; } // backupSetContent = ES.Services.Backup.GetBackupContentSummary(userId, packageId, serviceId, serverId); // rptBackupSetSummary.DataSource = backupSetContent.GetAllKeys(); rptBackupSetSummary.DataBind(); // backup type litBackupType.Text = String.Format(GetLocalizedString(modeText), modeValue); // backup file txtBackupFileName.Text = String.Format("{0}-{1}-{2}.wspak", filePrefix, Regex.Replace(modeValue, "[^\\w]", "_"), DateTime.Now.ToString("ddMMyyyy", System.Globalization.CultureInfo.InvariantCulture)); ToggleFormControls(); InitFolderBrowser(); }