Пример #1
0
        public ItemBriefDetails GetItemBriefDetails(ItemBriefRequestDetails itemBriefRequestDetails)
        {
            ItemBriefDetails itemBriefDetails = new Data.DataTypes.ItemBriefDetails();

            using (StageBitzDB dataContext = new StageBitzDB())
            {
                try
                {
                    ItemBriefBL itemBriefBL = new ItemBriefBL(dataContext);
                    ItemTypesBL itemTypesBL = new ItemTypesBL(dataContext);

                    Data.ItemBrief itemBrief = itemBriefBL.GetItemBrief(itemBriefRequestDetails.ItemBriefId);

                    int projectId = 0;
                    if (itemBrief != null)
                    {
                        projectId = itemBrief.ProjectId;
                    }

                    itemBriefDetails.CountryId = itemBriefBL.GetCountryIdByItemBriefId(itemBrief.ItemBriefId);

                    itemBriefDetails.ItemBriefInfo       = itemBriefBL.GetItemBriefInfoByItemBrief(itemBrief);
                    itemBriefDetails.IsReadOnly          = Support.IsReadOnlyRightsForProject(projectId, itemBriefRequestDetails.UserId);
                    itemBriefDetails.CanSeeBudgetSummary = Support.CanSeeBudgetSummary(itemBriefRequestDetails.UserId, projectId);
                    int itemTypeId = itemBriefRequestDetails.ItemTypeId.HasValue ?
                                     itemBriefRequestDetails.ItemTypeId.Value : itemBriefBL.GetItemBriefType(itemBriefRequestDetails.ItemBriefId).ItemTypeId;
                    itemBriefDetails.DisplayMarkUp   = itemTypesBL.GetItemTypeHTML(itemTypeId);
                    itemBriefDetails.ItemBriefValues = itemTypesBL.GetItemBriefFieldValues(itemBriefRequestDetails.ItemBriefId).Select(ibfv =>
                                                                                                                                       new ValuesInfo
                    {
                        Id            = ibfv.ItemBriefValueId,
                        FieldId       = ibfv.FieldId,
                        FieldOptionId = ibfv.FieldOptionId,
                        Value         = ibfv.Value
                    }).ToList();

                    int itemId = 0;
                    int userId = 0;

                    ItemBooking itemBooking = itemBriefBL.GetInUseItemBooking(itemBriefRequestDetails.ItemBriefId);
                    if (itemBooking != null)
                    {
                        itemId = itemBooking.ItemId;
                    }

                    userId = itemBriefRequestDetails.UserId;
                    ItemDetails itemDetails = itemTypesBL.GetItemDetails(itemId, itemBriefRequestDetails.ItemBriefId, userId, null, null, null);
                    if (itemDetails != null)
                    {
                        itemBriefDetails.ItemDetails = itemDetails;
                    }
                }
                catch (Exception ex)
                {
                    AgentErrorLog.HandleException(ex);
                }
                return(itemBriefDetails);
            }
        }