Example #1
0
        /// <summary>
        /// Loads the control.
        /// </summary>
        public void LoadControl()
        {
            InitializeIds();
            if (ItemId > 0)
            {
                StageBitz.Data.Item item = this.GetBL <InventoryBL>().GetItem(ItemId);

                if (item != null)
                {
                    LoadItem(item);
                    documentPreview.ShouldRemoveFromDatabase = true;
                }
            }
            else if (ItemBriefId > 0)
            {
                Data.ItemVersionHistory itemVersionHistory = this.GetBL <InventoryBL>().GetItemVersionHistoryByItemBriefId(ItemBriefId);

                if (itemVersionHistory != null)
                {
                    LoadItemVersionHistory(itemVersionHistory);
                }
                else
                {
                    StageBitz.Data.ItemBrief itemBrief = this.GetBL <ItemBriefBL>().GetItemBrief(ItemBriefId);

                    if (itemBrief != null)
                    {
                        LoadItemBrief(itemBrief);
                        documentPreview.ShouldRemoveFromDatabase = false;
                    }
                }
            }

            pnlCompletedItem.Style["display"]  = "block";
            documentPreview.IsTextboxsDisabled = IsReadOnly || ItemBriefId > 0;
            documentPreview.IsReadOnly         = IsReadOnly;
            documentPreview.InitializeUI();

            LoadImageList();

            switch (this.DisplayMode)
            {
            case CompleteItemDisplayMode.ItemDetails:
                divDescription.Visible = true;
                break;

            case CompleteItemDisplayMode.ItemBriefDetails:
                divDescription.Visible = false;
                break;
            }
        }
Example #2
0
 /// <summary>
 /// Loads the item version history.
 /// </summary>
 /// <param name="itemVersionHistory">The item version history.</param>
 private void LoadItemVersionHistory(Data.ItemVersionHistory itemVersionHistory)
 {
     documentList.RelatedTableName = "ItemVersionHistory";
     documentList.RelatedId        = itemVersionHistory.ItemVersionHistoryId;
 }
Example #3
0
        /// <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();
        }
Example #4
0
        /// <summary>
        /// Gets the item details.
        /// </summary>
        /// <param name="itemId">The item identifier.</param>
        /// <param name="itemBriefId">The item brief identifier.</param>
        /// <param name="userId">The user identifier.</param>
        /// <param name="itemTypeIdToBeLoad">The item type identifier to be load.</param>
        /// <param name="fromDate">From date.</param>
        /// <param name="toDate">To date.</param>
        /// <returns></returns>
        public ItemDetails GetItemDetails(int itemId, int itemBriefId, int userId, int?itemTypeIdToBeLoad, DateTime?fromDate = null, DateTime?toDate = null)
        {
            bool isItemCreated = false;
            bool isReadOnly    = false;
            int  itemTypeId    = 0;

            InventoryBL inventoryBL = new InventoryBL(DataContext);
            ItemBriefBL itemBriefBL = new ItemBriefBL(DataContext);

            ItemDetails itemDetails = new ItemDetails();

            InitializeIds(ref itemId, ref itemBriefId, ref isItemCreated);

            if (itemId > 0)
            {
                StageBitz.Data.Item item = inventoryBL.GetItem(itemId);
                if (item != null)
                {
                    ItemBooking itemBooking = null;
                    itemDetails.IsEditableToAdminOnly = true;

                    if (itemBriefId > 0)
                    {
                        ProjectBL projectBL = new ProjectBL(DataContext);
                        itemBooking = itemBriefBL.GetInUseItemBooking(itemBriefId);
                        itemDetails.CanEditInItemBrief    = inventoryBL.CanEditIteminItemBrief(itemBriefId, itemId);
                        itemDetails.IsEditableToAdminOnly = inventoryBL.IsItemGeneretedFromGivenItemBrief(itemId, itemBriefId) && !projectBL.IsReadOnlyRightsForProject(itemBriefBL.GetItemBrief(itemBriefId).ProjectId, userId, true);
                    }
                    else
                    {
                        itemDetails.MinQuantity = inventoryBL.GetMaxBookedQuantityForAllDuration(item.ItemId);

                        ItemStatusInformationForUser itemStatusInformationForUser = inventoryBL.GetItemStatusInformationForUser(item, item.CompanyId.Value, userId);
                        isReadOnly = itemStatusInformationForUser.IsReadOnly;
                        itemDetails.IsEditableToAdminOnly = itemStatusInformationForUser.CanEditQuantity;
                    }

                    itemDetails.Name        = item.Name;
                    itemDetails.Description = item.Description;
                    itemDetails.LocationId  = item.LocationId;
                    itemDetails.Quantity    = itemBooking != null ? itemBooking.Quantity : item.Quantity.HasValue ? item.Quantity.Value : item.Quantity;

                    User bookingManager = inventoryBL.GetContactBookingManager(item.CompanyId.Value, item.LocationId);
                    if (bookingManager != null)
                    {
                        itemDetails.BookingManagerName  = Utils.GetFullName(bookingManager);
                        itemDetails.BookingManagerEmail = bookingManager.Email1;
                    }

                    if (fromDate.HasValue && toDate.HasValue)
                    {
                        itemDetails.AvailableQty = DataContext.GetAvailableItemQuantity(itemId, fromDate.Value, toDate.Value, 0).FirstOrDefault().Value;
                    }
                    itemDetails.CreatedFor      = item.CreatedFor;
                    itemDetails.ItemBriefId     = itemBriefId;
                    itemDetails.LastUpdatedDate = item.LastUpdatedDate;
                    itemTypeId = itemTypeIdToBeLoad.HasValue ? itemTypeIdToBeLoad.Value : item.ItemTypeId.Value;

                    itemDetails.LastUpdatedDate = item.LastUpdatedDate;

                    itemDetails.ItemStatus = itemBooking != null?inventoryBL.GetItemBookingStatus(itemBooking.ItemBookingId).Description : string.Empty;

                    itemDetails.ItemId     = itemId;
                    itemDetails.ItemValues = GetItemFieldValues(itemId).Select(iv =>
                                                                               new ValuesInfo
                    {
                        Id            = iv.ItemValueId,
                        FieldId       = iv.FieldId,
                        FieldOptionId = iv.FieldOptionId,
                        Value         = iv.Value
                    }).ToList();

                    itemDetails.CountryId  = inventoryBL.GetCountryIdByItemId(item.ItemId);
                    itemDetails.ItemTypeId = item.ItemTypeId;
                    itemDetails.Status     = "OK";
                }
            }
            else if (itemBriefId > 0)
            {
                Data.ItemVersionHistory itemVersionHistory = inventoryBL.GetItemVersionHistoryByItemBriefId(itemBriefId);
                itemDetails.ItemBriefId = itemBriefId;
                if (itemVersionHistory != null)
                {
                    itemId                            = itemVersionHistory.ItemId;
                    itemDetails.Name                  = itemVersionHistory.Name;
                    itemDetails.Description           = itemVersionHistory.Description;
                    itemDetails.LocationId            = null; //itemVersionHistory.Location;
                    itemDetails.Quantity              = itemVersionHistory.Quantity.HasValue ? itemVersionHistory.Quantity.Value : itemDetails.Quantity;
                    itemDetails.IsEditableToAdminOnly = false;
                    itemDetails.ItemBriefId           = itemVersionHistory.ItemBriefId;
                    itemDetails.ItemValues            = GetItemVersionHistoryValues(itemVersionHistory.ItemVersionHistoryId).Select(ivhv =>
                                                                                                                                    new ValuesInfo
                    {
                        Id            = ivhv.ItemVersionHistoryId,
                        FieldId       = ivhv.FieldId,
                        FieldOptionId = ivhv.FieldOptionId,
                        Value         = ivhv.Value
                    }).ToList();
                    itemTypeId             = itemTypeIdToBeLoad.HasValue ? itemTypeIdToBeLoad.Value : itemVersionHistory.ItemTypeId.Value;
                    itemDetails.CountryId  = inventoryBL.GetCountryIdByItemId(itemVersionHistory.ItemId);
                    itemDetails.ItemTypeId = itemVersionHistory.ItemTypeId;
                    itemDetails.Status     = "OK";
                }
                else
                {
                    StageBitz.Data.ItemBrief itemBrief = itemBriefBL.GetItemBrief(itemBriefId);
                    if (itemBrief != null)
                    {
                        itemDetails.Name                  = itemBrief.Name;
                        itemDetails.Description           = itemBrief.Description;
                        itemDetails.LocationId            = null;
                        itemDetails.IsEditableToAdminOnly = true;
                        itemDetails.ItemBriefId           = itemBriefId;
                        itemDetails.Quantity              = itemBrief.Quantity.HasValue ? itemBrief.Quantity.Value : itemBrief.Quantity;
                        itemDetails.ItemBriefId           = itemBrief.ItemBriefId;
                        itemDetails.ItemValues            = GetItemBriefFieldValues(itemBriefId).Select(ibfv =>
                                                                                                        new ValuesInfo
                        {
                            Id            = 0,
                            FieldId       = ibfv.FieldId,
                            FieldOptionId = ibfv.FieldOptionId,
                            Value         = ibfv.Value
                        }).ToList();

                        itemTypeId                     = itemTypeIdToBeLoad.HasValue ? itemTypeIdToBeLoad.Value : itemBriefBL.GetItemBriefType(itemBrief.ItemBriefId).ItemTypeId;
                        itemDetails.CountryId          = itemBriefBL.GetCountryIdByItemBriefId(itemBrief.ItemBriefId);
                        itemDetails.Status             = "OK";
                        itemDetails.CanEditInItemBrief = true;
                        itemDetails.ItemTypeId         = itemBrief.ItemBriefTypes.FirstOrDefault().ItemTypeId;
                    }
                }
            }

            itemDetails.IsReadOnly    = isReadOnly;
            itemDetails.DisplayMarkUp = GetItemTypeHTML(itemTypeId);

            Data.ItemType itemType = Utils.GetItemTypeById(itemDetails.ItemTypeId.Value);
            itemDetails.ItemTypeName = itemType != null ? itemType.Name : string.Empty;

            return(itemDetails);
        }