/// <summary> /// Shows the remove confirmation message. /// </summary> private void ShowRemoveConfirmationMessage() { Data.ItemBooking itemBooking = GetBL <InventoryBL>().GetItemBookingByItemID(SelectedItemId, ItemBriefId, "ItemBrief"); //Check if a new Item is created and appears on the pinboard tab and the 'X' button is selected if (itemBooking != null) { ItemBookingId = itemBooking.ItemBookingId; bool isItemBriefItemInUse = itemBooking.ItemBookingStatusCodeId == Utils.GetCodeIdByCodeValue("ItemBookingStatusCode", "INUSE") || itemBooking.ItemBookingStatusCodeId == Utils.GetCodeIdByCodeValue("ItemBookingStatusCode", "INUSECOMPLETE"); //Make sure that there is no Item already attached. if (isItemBriefItemInUse && GetBL <InventoryBL>().IsItemGeneretedFromGivenItemBrief(SelectedItemId, ItemBriefId)) { popupRemoveItemGeneratedFromIB.ShowPopup(); } //Check the status of the Item. If it is "In Use" with the IB. //If it is Just "Pinned" just show the short confirmation else if (isItemBriefItemInUse || GetBL <ItemBriefBL>().IsItemBriefComplete(GetBL <ItemBriefBL>().GetItemBrief(ItemBriefId))) { //Display InUse message popupRemoveInUseItem.ShowPopup(); } else if (itemBooking.ItemBookingStatusCodeId == Utils.GetCodeByValue("ItemBookingStatusCode", "PINNED").CodeId) { //Display Pinned message popupRemovePinnedItem.ShowPopup(); } } }
/// <summary> /// Loads the data. /// </summary> private void LoadData() { reqName.ControlToValidate = itemNameEdit.TextBox.ID; sbInventoryLocations.CompanyId = this.CompanyId; bool showAll = false; InitializeIds(); LoadItemTypes(); if (ItemId > 0) { sbItemVisibilityToolTip.ItemId = this.ItemId; sbItemVisibilityToolTip.LoadData(); // Show/Hide in the place it's being used (ItemDetails or ItemBriefDetails) divBookedQty.Visible = !(ItemBriefId > 0); trItemStatus.Visible = false; Data.Item item = GetBL <InventoryBL>().GetItem(this.ItemId); // Show location for users have No Access + Shared Inventory permissions if (item != null) { Code visibilityCode = GetBL <InventoryBL>().GetUserInventoryVisibilityLevel(item.CompanyId.Value, this.UserID, item.LocationId, false); showAll = visibilityCode.SortOrder >= Utils.GetCodeByValue("InventoryVisibilityLevel", "ABOVE_IO").SortOrder; } if (ItemBriefId > 0) { Data.ItemBooking itemBooking = this.GetBL <InventoryBL>().GetItemBookingByRelatedTable(ItemBriefId, "ItemBrief", true); if (itemBooking != null && itemBooking.ToDate.HasValue) { trItemStatus.Visible = true; } } } else if (ItemBriefId > 0) { trItemStatus.Visible = false; lblItemStatus.Text = string.Empty; divBookedQty.Visible = false; } sbInventoryLocations.LoadData(showAll: showAll); upnlItemBriefThumb.Update(); }
/// <summary> /// Handles the Click event of the lbtnOk control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param> protected void lbtnOk_Click(object sender, EventArgs e) { if (!PageBase.StopProcessing) { if (rntxtQuntity.Value.HasValue && RelatedTable == "Item" && ItemBriefId.HasValue) { Data.Item item = this.GetBL <InventoryBL>().GetItem(ItemId); Data.ItemBooking itemBooking = GetBL <InventoryBL>().GetItemBookingByItemID(ItemId, ItemBriefId.Value, "ItemBrief"); if (itemBooking != null && itemBooking.ItemBookingStatusCodeId == Utils.GetCodeIdByCodeValue("ItemBookingStatusCode", "PINNED")) { if (item != null && itemBooking.ToDate.HasValue) { int?availableQuntity = this.GetBL <InventoryBL>().GetAvailableItemQuantity(this.ItemId, itemBooking.FromDate, itemBooking.ToDate.Value); if (availableQuntity.HasValue && (availableQuntity + itemBooking.Quantity) >= rntxtQuntity.Value.Value) { itemBooking.Quantity = (int)rntxtQuntity.Value.Value; itemBooking.LastUpdateDate = Now; itemBooking.LastUpdatedBy = UserID; this.GetBL <InventoryBL>().SaveChanges(); } else { if (ShowConcurencyErrorPopup != null) { ShowConcurencyErrorPopup(ItemBrief.PinnedItems.PinnedItemsConcurrencyType.InvalidAvailableQuntity); } } } } else { if (ShowConcurencyErrorPopup != null) { ShowConcurencyErrorPopup(ItemBrief.PinnedItems.PinnedItemsConcurrencyType.ItemAlreadyConfirmed); } } } } }
/// <summary> /// Initializes the ids. /// </summary> private void InitializeIds() { if (ItemId > 0) { StageBitz.Data.Item item = this.GetBL <InventoryBL>().GetItem(ItemId); if (item != null) { IsItemCreated = true; this.ItemTypeId = item.ItemTypeId.Value; } } else if (ItemBriefId > 0) { StageBitz.Data.ItemBrief itemBrief = this.GetBL <ItemBriefBL>().GetItemBrief(ItemBriefId); if (itemBrief != null) { Data.ItemBooking itemBooking = this.GetBL <InventoryBL>().GetItemBookingByRelatedTable(ItemBriefId, "ItemBrief", true); Data.Item item = null; if (itemBooking != null) { item = itemBooking.Item; } if (item != null) { ItemId = item.ItemId; IsItemCreated = true; this.ItemTypeId = item.ItemTypeId.Value; } else { IsItemCreated = false; this.ItemTypeId = itemBrief.ItemBriefTypes.FirstOrDefault().ItemTypeId; } } } }
/// <summary> /// Loads the data. /// </summary> public void LoadData() { int relatedId = (RelatedTable == "ItemBrief") && ItemBriefId.HasValue ? ItemBriefId.Value : ItemId; var defaultImage = (from m in DataContext.DocumentMedias where m.RelatedTableName == RelatedTable && m.RelatedId == relatedId && m.IsImageFile == true orderby m.SortOrder descending select new { m.DocumentMediaId, m.Name }).FirstOrDefault(); if (defaultImage != null) { thumbItem.DocumentMediaId = defaultImage.DocumentMediaId; thumbItem.ImageTitle = defaultImage.Name; } if (RelatedTable == "ItemBrief") { if (ItemBriefId.HasValue) { Data.ItemBrief itemBrief = GetBL <ItemBriefBL>().GetItemBrief(ItemBriefId.Value); if (itemBrief != null) { lblName.Text = Support.TruncateString(itemBrief.Name, 20); if (itemBrief.Name.Length > 20) { lblName.ToolTip = itemBrief.Name; } if (itemBrief.Quantity != null) { lblQuantity.Text = itemBrief.Quantity.ToString(); rntxtQuntity.Value = itemBrief.Quantity; } else { trQuantity.Visible = false; } trStatus.Visible = false; trCompany.Visible = false; lblDescription.InnerText = Support.TruncateString(itemBrief.Description, 60); if (itemBrief.Description != null && itemBrief.Description.Length > 60) { lblDescription.Attributes.Add("title", itemBrief.Description); } } trLocation.Visible = false; } } else { Data.Item item = this.GetBL <InventoryBL>().GetItem(ItemId); if (item != null) { lblName.Text = Support.TruncateString(item.Name, 20); if (item.Name.Length > 20) { lblName.ToolTip = item.Name; } if (item.Quantity != null) { lblQuantity.Text = item.Quantity.ToString(); } else { trQuantity.Visible = false; } trCompany.Visible = true; string companyName = Support.GetCompanyNameById(Convert.ToInt32(item.CompanyId)); lblcompany.Text = Support.TruncateString(companyName, 20); if (companyName.Length > 20) { lblcompany.ToolTip = companyName; } string path = GetBL <LocationBL>().GetLocationPath(item.LocationId, item.CompanyId.Value); lblLocation.Text = Utils.ReverseEllipsize(path, 22); if (path.Length > 22) { lblLocation.ToolTip = path; } // If both ItemBriefId and ItemId exists need to get information from ItemBooking (this is specific for Pinboard tab) if (ItemBriefId.HasValue) { Data.ItemBooking itemBooking = GetBL <InventoryBL>().GetItemBookingByItemID(ItemId, ItemBriefId.Value, "ItemBrief"); if (itemBooking != null && itemBooking.ToDate.HasValue) { litStatus.Text = GetBL <InventoryBL>().GetItemBookingStatus(itemBooking.ItemBookingId).Description; lnkName.Visible = true; lblName.Visible = false; lnkName.Text = Support.TruncateString(item.Name, 20); lnkName.NavigateUrl = string.Format("~/Inventory/ItemDetails.aspx?ItemId={0}&CompanyId={1}", this.ItemId, GetBL <ItemBriefBL>().GetItemBrief(itemBooking.RelatedId).Project.CompanyId); if (item.Name.Length > 20) { lnkName.ToolTip = item.Name; } int availableQuntity = this.GetBL <InventoryBL>().GetAvailableItemQuantity(this.ItemId, itemBooking.FromDate, itemBooking.ToDate.Value); int maxQty = availableQuntity + itemBooking.Quantity; rntxtQuntity.MaxValue = maxQty; lblAvailableQty.Text = maxQty.ToString(CultureInfo.InvariantCulture); rntxtQuntity.MinValue = availableQuntity == 0 ? 0 : 1; rntxtQuntity.Value = itemBooking.Quantity >= rntxtQuntity.MinValue ? itemBooking.Quantity : rntxtQuntity.MinValue; lblQuantity.Text = itemBooking.Quantity.ToString(CultureInfo.InvariantCulture); litFromDate.Text = Support.FormatDate(itemBooking.FromDate); litToDate.Text = Support.FormatDate(itemBooking.ToDate); trBookingFrom.Visible = true; trBookingTo.Visible = true; } else { trStatus.Visible = false; } this.IsReadOnly = this.IsReadOnly || itemBooking.ItemBookingStatusCodeId != Utils.GetCodeIdByCodeValue("ItemBookingStatusCode", "PINNED") || !itemBooking.ToDate.HasValue || itemBooking.ToDate < Utils.Today; } else { trStatus.Visible = false; } lblDescription.InnerText = Support.TruncateString(item.Description, 60); if (item.Description != null && item.Description.Length > 60) { lblDescription.Attributes.Add("title", item.Description); } } } InitializeEditMode(); }
/// <summary> /// Loads the data. /// </summary> public void LoadData() { bool canEditIteminItemBrief = GetBL <InventoryBL>().CanEditIteminItemBrief(ItemBriefId); this.IsReadOnly = IsItemBriefReadOnly || !canEditIteminItemBrief; Data.ItemBooking itemBooking = GetBL <InventoryBL>().GetInUseOrCompleteItemBooking(ItemBriefId); Data.Item completedItem = null; Data.ItemVersionHistory itemVersionHistory = null; if (itemBooking != null) { completedItem = itemBooking.Item; } else { itemVersionHistory = GetBL <InventoryBL>().GetItemVersionHistoryByItemBriefId(ItemBriefId); } if (completedItem == null && itemVersionHistory == null) { ShowHideItemCompleteTab(false); this.HasItem = false; if (HasCompanyReachedInventoryLimit()) { if (this.GetBL <ItemBriefBL>().HasPinnedItems(ItemBriefId)) { liInventoryLimitReachedMsg.Visible = true; liInventoryLimitReachedMsg.InnerText = "Update its listing in the Company Inventory"; } else { liInventoryLimitReachedMsg.Visible = false; } } else { liInventoryLimitReachedMsg.Visible = true; } var pinnedItems = this.GetBL <ItemBriefBL>().GetAllPinnedItems(ItemBriefId); int pinnedItemCount = pinnedItems.Count(); //If the Item(s) were pined from Inventory. If so, display the text. if (pinnedItemCount > 1 || pinnedItemCount == 1 && !this.GetBL <InventoryBL>().IsItemGeneretedFromGivenItemBrief(pinnedItems.FirstOrDefault().ItemId, ItemBriefId)) { string headerText = (string.Format("<b>{0} {1} been suggested for this {2} Brief. </b>", pinnedItemCount, pinnedItemCount == 1 ? "Item has" : "Items have", this.GetBL <ItemBriefBL>().GetItemBriefType(ItemBriefId).ItemType.Name)); string bodyText = "</br>It's decision time...Before you can complete this you'll need to confirm if you wish to use an Item booked from the Inventory that is currently showing on the Pinboard tab. Once you've done that the details will appear here for you to check.</br></br>"; litForNotYetKeptItem.Text = string.Concat(headerText, bodyText); divBlankNotice.Visible = false; } else { litForNotYetKeptItem.Visible = false; divBlankNotice.Visible = true; } } else { ShowHideItemCompleteTab(true); litForNotYetKeptItem.Visible = false; this.HasItem = true; if (itemVersionHistory == null) { litNormalText.Visible = true; litNormalText.Text = this.GetBL <InventoryBL>().GetDefaultMessageToDisplayInCompleteItemTab(completedItem.ItemId, ItemBriefId); } else { divOriginalVersionText.Visible = true; litNormalText.Visible = false; if (GetBL <ProjectBL>().IsProjectClosed(ProjectId)) { litProjCloseDate.Text = "when the project was closed on " + Support.FormatDate(GetBL <ProjectBL>().GetProjectArchive(ProjectId).ProjectClosedDate) + "."; } else { litProjCloseDate.Text = "when it was released to the Inventory on " + Support.FormatDate(GetBL <InventoryBL>().GetItemBriefItemReleaseDate(ItemBriefId)) + "."; } if (!this.GetBL <InventoryBL>().IsItemHidden(itemVersionHistory.ItemId) && itemVersionHistory.Item.Code.SortOrder >= GetBL <InventoryBL>().GetUserInventoryVisibilityLevel(itemVersionHistory.Item.CompanyId.Value, this.UserID, itemVersionHistory.Item.LocationId, false).SortOrder) { lnkItemName.Visible = true; lblItemName.Visible = false; lnkItemName.Text = Support.TruncateString(itemVersionHistory.Name, 40); if (itemVersionHistory.Name.Length > 40) { lnkItemName.ToolTip = itemVersionHistory.Name; } lnkItemName.NavigateUrl = ResolveUrl(string.Format("~/Inventory/ItemDetails.aspx?ItemId={0}&CompanyId={1}", itemVersionHistory.ItemId, Support.GetCompanyByProjectId(ProjectId).CompanyId)); } else { lnkItemName.Visible = false; lblItemName.Visible = true; lblItemName.Text = Support.TruncateString(itemVersionHistory.Name, 40); if (itemVersionHistory.Name.Length > 40) { lblItemName.ToolTip = itemVersionHistory.Name; } } } } InitailizeValidationGroup(); InitializeItemCompletePopup(); InitializeItemCompleteTab(); IntializeCompleteButton(); UpdateUpdatePanels(); }