Beispiel #1
0
        /// <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();
                }
            }
        }
Beispiel #2
0
        /// <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();
        }
Beispiel #3
0
 /// <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);
                 }
             }
         }
     }
 }
Beispiel #4
0
        /// <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;
                    }
                }
            }
        }
Beispiel #5
0
        /// <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();
        }
Beispiel #6
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();
        }