Ejemplo n.º 1
0
        /// <summary>
        /// Initializes the ids.
        /// </summary>
        /// <param name="itemId">The item identifier.</param>
        /// <param name="itemBriefId">The item brief identifier.</param>
        /// <param name="isItemCreated">if set to <c>true</c> [is item created].</param>
        public void InitializeIds(ref int itemId, ref int itemBriefId, ref bool isItemCreated)
        {
            InventoryBL inventoryBL = new InventoryBL(DataContext);
            ItemBriefBL itemBriefBL = new ItemBriefBL(DataContext);

            if (itemId > 0)
            {
                StageBitz.Data.Item item = inventoryBL.GetItem(itemId);

                if (item != null)
                {
                    isItemCreated = true;
                }
            }
            else if (itemBriefId > 0)
            {
                StageBitz.Data.ItemBrief itemBrief = itemBriefBL.GetItemBrief(itemBriefId);

                if (itemBrief != null)
                {
                    ItemBooking itemBooking = itemBriefBL.GetInUseItemBooking(itemBriefId);

                    Data.Item item = null;
                    if (itemBooking != null)
                    {
                        item = itemBooking.Item;
                    }

                    if (item != null)
                    {
                        itemId        = item.ItemId;
                        isItemCreated = true;
                    }
                    else
                    {
                        isItemCreated = false;
                    }
                }
            }
        }
Ejemplo n.º 2
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;
                    }
                }
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Adds the task.
        /// </summary>
        /// <param name="sender">The sender.</param>
        /// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param>
        protected void AddTask(object sender, EventArgs e)
        {
            if (Page.IsValid && !PageBase.StopProcessing)
            {
                #region Create new task object

                ItemBriefTask itemBriefTask = new ItemBriefTask();
                itemBriefTask.Description = txtDescription.Text.Trim();
                if (txtEstimatedCost.Value.HasValue)
                {
                    itemBriefTask.EstimatedCost = (decimal)txtEstimatedCost.Value;
                }
                else
                {
                    itemBriefTask.EstimatedCost = null;
                }
                itemBriefTask.Tax         = 0;
                itemBriefTask.NetCost     = 0;
                itemBriefTask.TotalCost   = 0;
                itemBriefTask.ItemBriefId = ItemBriefID;
                itemBriefTask.ItemBriefTaskStatusCodeId = codeInprogress.CodeId;
                itemBriefTask.CreatedByUserId           = UserID;
                itemBriefTask.CreatedDate         = Now;
                itemBriefTask.LastUpdatedByUserId = UserID;
                itemBriefTask.LastUpdatedDate     = Now;
                DataContext.ItemBriefTasks.AddObject(itemBriefTask);

                #endregion Create new task object

                #region Generate Task Add Notification

                Notification nfTask = new Notification();
                nfTask.ModuleTypeCodeId    = Support.GetCodeIdByCodeValue("ModuleType", "TASK");
                nfTask.OperationTypeCodeId = Support.GetCodeIdByCodeValue("OperationType", "ADD");
                nfTask.RelatedId           = itemBriefTask.ItemBriefId;
                nfTask.ProjectId           = ProjectId;
                nfTask.Message             = string.Format("{0} added a task - '{1}'.", Support.UserFullName, itemBriefTask.Description);
                nfTask.CreatedByUserId     = nfTask.LastUpdatedByUserId = UserID;
                nfTask.CreatedDate         = nfTask.LastUpdatedDate = Now;

                DataContext.Notifications.AddObject(nfTask);

                #endregion Generate Task Add Notification

                #region Update Item Brief status

                StageBitz.Data.ItemBrief itemBrief = GetItemBrief(ItemBriefID);

                //Mark the item brief as 'In Progress' if it is not in progress.
                int ibNotStartedCodeId = Support.GetCodeIdByCodeValue("ItemBriefStatusCode", "NOTSTARTED");
                int ibInProgressCodeId = Support.GetCodeIdByCodeValue("ItemBriefStatusCode", "INPROGRESS");

                if (!GetBL <ItemBriefBL>().IsItemBriefComplete(itemBrief))
                {
                    if (itemBrief.ItemBriefStatusCodeId != ibInProgressCodeId)
                    {
                        string oldStatus = (itemBrief.ItemBriefStatusCodeId == ibNotStartedCodeId) ? "Not Started" : "Completed";

                        itemBrief.ItemBriefStatusCodeId = ibInProgressCodeId;
                        itemBrief.LastUpdatedByUserId   = UserID;
                        //itemBrief.LastUpdatedDate = Now;
                        DataContext.SaveChanges();

                        #region Generate Item Brief Notification

                        Notification nfItemBrief = new Notification();
                        nfItemBrief.ModuleTypeCodeId    = Support.GetCodeIdByCodeValue("ModuleType", "ITEMBRIEF");
                        nfItemBrief.OperationTypeCodeId = Support.GetCodeIdByCodeValue("OperationType", "EDIT");
                        nfItemBrief.RelatedId           = itemBrief.ItemBriefId;
                        nfItemBrief.ProjectId           = ProjectId;
                        nfItemBrief.Message             = string.Format("{0} changed the Item Brief status from '{1}' to 'In Progress'.", Support.UserFullName, oldStatus);
                        nfItemBrief.CreatedByUserId     = nfItemBrief.LastUpdatedByUserId = UserID;
                        nfItemBrief.CreatedDate         = nfItemBrief.LastUpdatedDate = Now;

                        DataContext.Notifications.AddObject(nfItemBrief);

                        #endregion Generate Item Brief Notification

                        if (InformItemBriefDetail != null)
                        {
                            //Inform parent to show the description as inprogress.
                            InformItemBriefDetail(ibInProgressCodeId, false);
                        }
                    }
                }

                #endregion Update Item Brief status

                DataContext.SaveChanges();

                LoadTasks();
                gvTasks.DataBind();
                txtDescription.Text   = string.Empty;
                txtEstimatedCost.Text = string.Empty;
                txtDescription.Focus();
                if (InformItemBriefDetailToShowBudget != null)
                {
                    InformItemBriefDetailToShowBudget();
                }
            }
        }
Ejemplo n.º 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);
        }