protected void MetadataRepeater_ItemDataBound(object sender, RepeaterItemEventArgs e) { if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) { var setting = (BrandMetadataSetting)e.Item.DataItem; var metadataVisibilityWrapper = (MetadataVisibilityWrapper)e.Item.FindControl("MetadataVisibilityWrapper"); var cell = (HtmlTableCell)e.Item.FindControl("Metadata_Cell"); var brandMetadataLabel = (BrandMetadataLabel)e.Item.FindControl("BrandMetadataLabel"); var trRepeaterMeta = (HtmlTableRow)e.Item.FindControl("TrRepeaterMeta"); //set order number trRepeaterMeta.Attributes["class"] = setting.AssetDetailOrderNum.ToString(); //set field id for the wrapper and label metadataVisibilityWrapper.FieldName = brandMetadataLabel.FieldName = setting.FieldId; if (setting.UiControlType == (int)BrandMetadataUiControlType.TextArea || setting.UiControlType == (int)BrandMetadataUiControlType.TextField || setting.SelectableSetting.SelectableType == (int)SelectableMetadataType.PresetTextArea) { cell.InnerText = CurrentAsset.GetStringValForGroup(setting.GroupNumber); } else if (setting.UiControlType == (int)BrandMetadataUiControlType.Select) { cell.InnerText = CurrentAsset.GetMetadataForGroup(setting.GroupNumber).Select(m => m.Name).ToCommaDelimitedList().EmptyValue("Not Specified"); } } }
private async Task LoadPickers() { #region Getting all the employees and adding them into the picker for Accountable Party var employees = await webClient.UploadDataTaskAsync("http://10.0.2.2:49450/Employees", "POST", Encoding.UTF8.GetBytes("")); _employees = JsonConvert.DeserializeObject <List <Employee> >(Encoding.Default.GetString(employees)); foreach (var item in _employees) { pAccountableParty.Items.Add(item.FirstName + " " + item.LastName); } #endregion #region Getting all the departments and adding them into the picker var getDepartments = await webClient.UploadDataTaskAsync("http://10.0.2.2:49450/Departments", "POST", Encoding.UTF8.GetBytes("")); _departments = JsonConvert.DeserializeObject <List <Department> >(Encoding.Default.GetString(getDepartments)); foreach (var item in _departments) { pDepartment.Items.Add(item.Name); } #endregion #region Getting all the asset groups and adding them into the picker var getAssetGroups = await webClient.UploadDataTaskAsync("http://10.0.2.2:49450/AssetGroups", "POST", Encoding.UTF8.GetBytes("")); _assetGroups = JsonConvert.DeserializeObject <List <AssetGroup> >(Encoding.Default.GetString(getAssetGroups)); foreach (var item in _assetGroups) { pAssetGroup.Items.Add(item.Name); } #endregion #region Getting all the departments' locations and adding them into the picker var getLocation = await webClient.UploadDataTaskAsync("http://10.0.2.2:49450/Locations", "POST", Encoding.UTF8.GetBytes("")); _locations = JsonConvert.DeserializeObject <List <Location> >(Encoding.Default.GetString(getLocation)); foreach (var item in _locations) { pLocation.Items.Add(item.Name); } #endregion if (_assetSN != string.Empty) { var response = await webClient.UploadDataTaskAsync($"http://10.0.2.2:49450/Assets/Details?assetSN={_assetSN}", "POST", Encoding.UTF8.GetBytes("")); CurrentAsset = JsonConvert.DeserializeObject <CurrentAsset>(Encoding.Default.GetString(response)); } var getDepartmentLocations = await webClient.UploadDataTaskAsync($"http://10.0.2.2:49450/Departments/DepartmentLocations", "POST", Encoding.UTF8.GetBytes("")); _departLocations = JsonConvert.DeserializeObject <List <DepartmentLocation> >(Encoding.Default.GetString(getDepartmentLocations)); var getTransferLogs = await webClient.UploadDataTaskAsync($"http://10.0.2.2:49450/AssetTransferLogs", "POST", Encoding.UTF8.GetBytes("")); _assetTranferLogs = JsonConvert.DeserializeObject <List <AssetTranferLog> >(Encoding.Default.GetString(getTransferLogs)); }
protected bool ShowFileMetadata() { if (!WebsiteBrandManager.GetBrand().GetMetadataSetting(BrandMetadataSettings.SHOW_FILE_METADATA).OnAssetDetail) { return(false); } var metadataList = CurrentAsset.GetFileMetadata(true); if (metadataList.Count > 0) { AssetFileMetadataRepeater.DataSource = metadataList; AssetFileMetadataRepeater.DataBind(); return(true); } return(false); }
protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { if (CurrentAsset.IsNull) { Page.ClientScript.RegisterClientScriptBlock(GetType(), "close", "self.close();", true); return; } // Get the asset ID int assetId = CurrentAsset.AssetId.GetValueOrDefault(); // Get the asset type info AssetTypeInfo assetType = AssetTypeInfo.Get(CurrentAsset.FileExtension); //----------------------------------------------------------------------------------------------------- // Set up UI elements based on asset type //----------------------------------------------------------------------------------------------------- OrientationRow.Visible = assetType.HasOrientation; DurationRow.Visible = assetType.HasDuration; DimensionsRow.Visible = assetType.HasDimensions; //----------------------------------------------------------------------------------------------------- // Set up asset breadcrumbs based on category //----------------------------------------------------------------------------------------------------- AssetBreadcrumb.CategoryId = CurrentAsset.PrimaryCategoryId; //----------------------------------------------------------------------------------------------------- // Update the audit log //----------------------------------------------------------------------------------------------------- AuditLogManager.LogAssetAction(assetId, CurrentUser, AuditAssetAction.ViewedAssetDetail); AuditLogManager.LogUserAction(CurrentUser, AuditUserAction.ViewedAssetDetail, string.Format("Viewed asset detail for AssetId: {0}", assetId)); //----------------------------------------------------------------------------------------------------- // Initialise the asset preview and buttons //----------------------------------------------------------------------------------------------------- AssetPreview1.Asset = CurrentAsset; AssetButtons1.Initialise(CurrentAsset); //----------------------------------------------------------------------------------------------------- // Bind categories list //----------------------------------------------------------------------------------------------------- AssetCategoriesContainer.Visible = (CurrentAsset.CategoryList.Count > 0); CategoriesRepeater.DataSource = CurrentAsset.CategoryList; CategoriesRepeater.DataBind(); //----------------------------------------------------------------------------------------------------- // Bind attached files //----------------------------------------------------------------------------------------------------- List <AssetFile> attachedFiles = CurrentAsset.GetAttachedFiles(); AttachedFilesRow.Visible = (attachedFiles.Count > 0); AttachedFilesDataList.DataSource = attachedFiles; AttachedFilesDataList.DataBind(); //----------------------------------------------------------------------------------------------------- // Bind linked assets //----------------------------------------------------------------------------------------------------- LinkedAssetsRow.Visible = (CurrentAsset.ReciprocalLinkedAssetList.Count > 0); LinkedAssetsRepeater.DataSource = CurrentAsset.ReciprocalLinkedAssetList; LinkedAssetsRepeater.DataBind(); //----------------------------------------------------------------------------------------------------- // Set up the file type icon //----------------------------------------------------------------------------------------------------- FileTypeIconImage.ImageUrl = SiteUtils.GetFileTypeImageUrl(CurrentAsset.FileExtension); FileTypeIconImage.ToolTip = CurrentAsset.Filename; //----------------------------------------------------------------------------------------------------- // Brand controlled metadata //----------------------------------------------------------------------------------------------------- AssetIdCell.InnerText = CurrentAsset.AssetId.ToString(); DateUploadedLabel.Text = CurrentAsset.UploadDate.ToString(Global.DateFormat); FilenameCell.InnerText = FileUtils.GetTruncatedFilename(CurrentAsset.Filename, 25); FileHashLabel.Text = StringUtils.IsBlank(CurrentAsset.FileHash) ? "[Not Available]" : CurrentAsset.FileHash.Substring(0, 15) + " ..."; FileHashLabel.ToolTip = CurrentAsset.FileHash; FilesizeCell.InnerText = FileUtils.FriendlyFileSize(CurrentAsset.FileSize); AssetTypeCell.InnerText = CurrentAsset.AssetType.Name; DateProducedCell.InnerText = CurrentAsset.GetProductionDate(); OriginatorCell.InnerText = CurrentAsset.Originator; TitleCell.InnerText = CurrentAsset.Title; ProjectCodeCell.InnerText = CurrentAsset.ProjectCode; BrandCell.InnerText = CurrentAsset.Brand.Name; AssetDescriptionContainer.InnerHtml = SiteUtils.ConvertTextToHtml(CurrentAsset.Description); AdditionalKeywordsCell.InnerText = CurrentAsset.Keywords; CopyrightOwnerCell.InnerHtml = StringUtils.IgnoreCaseCompare(CurrentAsset.CopyrightOwner, WebsiteBrandManager.GetBrand().OrganisationName) ? "(c) " + CurrentAsset.CopyrightOwner : CurrentAsset.CopyrightOwner; UsageRestrictionsCell.InnerHtml = CurrentAsset.UsageRestrictions; ContactEmailHyperLink.EmailAddress = CurrentAsset.ContactEmail; PublicationDateCell.InnerText = CurrentAsset.PublishDate.ToString(Global.DateFormat); ExpiryDateCell.InnerText = CurrentAsset.ExpiryDate.ToString(Global.DateFormat); // order metas according to their meta settings asset detail order numbers TrBrand.Attributes["class"] = CurrentAsset.Brand.GetMetadataSetting(BrandMetadataSettings.BRAND).AssetDetailOrderNum.ToString(); TrAssetType.Attributes["class"] = CurrentAsset.Brand.GetMetadataSetting(BrandMetadataSettings.ASSET_TYPE).AssetDetailOrderNum.ToString(); TrFilename.Attributes["class"] = CurrentAsset.Brand.GetMetadataSetting(BrandMetadataSettings.FILENAME).AssetDetailOrderNum.ToString(); TrFileSize.Attributes["class"] = CurrentAsset.Brand.GetMetadataSetting(BrandMetadataSettings.FILESIZE).AssetDetailOrderNum.ToString(); TrFileHash.Attributes["class"] = CurrentAsset.Brand.GetMetadataSetting(BrandMetadataSettings.FILEHASH).AssetDetailOrderNum.ToString(); TrDateUploaded.Attributes["class"] = CurrentAsset.Brand.GetMetadataSetting(BrandMetadataSettings.DATE_UPLOADED).AssetDetailOrderNum.ToString(); TrTitle.Attributes["class"] = CurrentAsset.Brand.GetMetadataSetting(BrandMetadataSettings.TITLE).AssetDetailOrderNum.ToString(); TrProjectCode.Attributes["class"] = CurrentAsset.Brand.GetMetadataSetting(BrandMetadataSettings.PROJECT_CODE).AssetDetailOrderNum.ToString(); TrOriginator.Attributes["class"] = CurrentAsset.Brand.GetMetadataSetting(BrandMetadataSettings.ORIGINATOR).AssetDetailOrderNum.ToString(); TrDateProduced.Attributes["class"] = CurrentAsset.Brand.GetMetadataSetting(BrandMetadataSettings.DATE_PRODUCED).AssetDetailOrderNum.ToString(); TrContactEmail.Attributes["class"] = CurrentAsset.Brand.GetMetadataSetting(BrandMetadataSettings.CONTACT_EMAIL).AssetDetailOrderNum.ToString(); TrCopyrightOwner.Attributes["class"] = CurrentAsset.Brand.GetMetadataSetting(BrandMetadataSettings.COPYRIGHT_OWNER).AssetDetailOrderNum.ToString(); TrRestrictedDownload.Attributes["class"] = CurrentAsset.Brand.GetMetadataSetting(BrandMetadataSettings.DOWNLOAD_RESTRICTIONS).AssetDetailOrderNum.ToString(); TrUsageRestrictions.Attributes["class"] = CurrentAsset.Brand.GetMetadataSetting(BrandMetadataSettings.USAGE_RESTRICTIONS).AssetDetailOrderNum.ToString(); TrAdditionalKeywords.Attributes["class"] = CurrentAsset.Brand.GetMetadataSetting(BrandMetadataSettings.ADDITIONAL_KEYWORDS).AssetDetailOrderNum.ToString(); TrPublicationDate.Attributes["class"] = CurrentAsset.Brand.GetMetadataSetting(BrandMetadataSettings.PUBLICATION_DATE).AssetDetailOrderNum.ToString(); TrExpiryDate.Attributes["class"] = CurrentAsset.Brand.GetMetadataSetting(BrandMetadataSettings.EXPIRY_DATE).AssetDetailOrderNum.ToString(); LinkedAssetsRow.Attributes["class"] = CurrentAsset.Brand.GetMetadataSetting(BrandMetadataSettings.LINKED_ASSETS).AssetDetailOrderNum.ToString(); AttachedFilesRow.Attributes["class"] = CurrentAsset.Brand.GetMetadataSetting(BrandMetadataSettings.ATTACHED_FILES).AssetDetailOrderNum.ToString(); var allSettings = BrandMetadataSettingManager.GetCustomMetadataSettings(CurrentAsset.Brand.BrandId.GetValueOrDefault()); var lastNum = allSettings.OrderBy(s => s.AssetDetailOrderNum).LastOrDefault().AssetDetailOrderNum; DimensionsRow.Attributes["class"] = (lastNum++).ToString(); DurationRow.Attributes["class"] = (lastNum++).ToString(); OrientationRow.Attributes["class"] = (lastNum++).ToString(); //----------------------------------------------------------------------------------------------------- // Other stuff //----------------------------------------------------------------------------------------------------- OrientationCell.InnerText = CurrentAsset.GetOrientation(); DurationCell.InnerText = SiteUtils.FriendlyDuration(CurrentAsset.Duration.GetValueOrDefault(), "Unknown"); DimensionsCell.InnerText = CurrentAsset.GetDimensions(); RestrictedDownloadCell.InnerText = EntitySecurityManager.IsAssetRestricted(CurrentUser, CurrentAsset) ? "Yes" : "No"; // Only show file metadata link if we have some available // ShowFileMeta data returns true if there is File metadata to display. FileMetadataLinkButton.Visible = ShowFileMetadata(); FileMetadataLinkDivider.Visible = FileMetadataLinkButton.Visible; //----------------------------------------------------------------------------------------------------- // Setup security in UI: Only display the edit and status links of the user has access //----------------------------------------------------------------------------------------------------- if (EntitySecurityManager.CanManageAsset(CurrentUser, CurrentAsset)) { string editUrl = "~/Admin/Assets/AssetForm.aspx?assetId=" + CurrentAsset.AssetId; EditHyperLink.NavigateUrl = editUrl; EditHyperLink.Attributes.Add("onClick", string.Format("GetParentWindow().location.href='{0}';self.close();return false;", ResolveUrl(editUrl))); string statsUrl = "~/Admin/Reports/AssetStats.aspx?assetId=" + assetId; StatsHyperLink.NavigateUrl = statsUrl; StatsHyperLink.Attributes.Add("onClick", string.Format("GetParentWindow().location.href='{0}';self.close();return false;", ResolveUrl(statsUrl))); string logHyperlink = "~/Admin/Reports/AssetAuditTrail.aspx?AssetId=" + CurrentAsset.AssetId; LogHyperLink.NavigateUrl = logHyperlink; LogHyperLink.Attributes.Add("onClick", string.Format("GetParentWindow().location.href='{0}';self.close();return false;", ResolveUrl(logHyperlink))); } else { AssetLinksContainer.Visible = false; } //----------------------------------------------------------------------------------------------------- // Control access or AssetOrderHistory links. //----------------------------------------------------------------------------------------------------- if (!EntitySecurityManager.CanViewAssetOrderHistory(CurrentUser, CurrentAsset)) { // Get the asset order history, if there isn't any order history // then hide the link. // Set visiblity of order history link OrderHistoryDivider.Visible = false; OrderHistoryLinkButton.Visible = false; } else { // Get the asset order history, if there isn't any order history // then hide the link. if (!ShowOrderHistory()) { // Set visiblity of order history link OrderHistoryDivider.Visible = false; OrderHistoryLinkButton.Visible = false; } } //----------------------------------------------------------------------------------------------------- // Populate blank cells //----------------------------------------------------------------------------------------------------- SiteUtils.PopulateBlankControl(AssetDescriptionContainer); SiteUtils.PopulateBlankControl(FilenameCell); SiteUtils.PopulateBlankControl(FilesizeCell); SiteUtils.PopulateBlankControl(TitleCell); SiteUtils.PopulateBlankControl(DurationCell); SiteUtils.PopulateBlankControl(ProjectCodeCell); SiteUtils.PopulateBlankControl(OriginatorCell); SiteUtils.PopulateBlankControl(DateProducedCell); SiteUtils.PopulateBlankControl(CopyrightOwnerCell); SiteUtils.PopulateBlankControl(OrientationCell); SiteUtils.PopulateBlankControl(UsageRestrictionsCell); } //sort metas on every request ClientScript.RegisterStartupScript(GetType(), "SortMetas2", "SortMetas();", true); //bind repeater on every request as otherwise labels stuff is lost MetadataRepeater.DataSource = BrandMetadataSettingManager.GetCustomMetadataSettings(CurrentAsset.BrandId); MetadataRepeater.DataBind(); }