private List <SliderItemDataModel> GetList(ControlContext controlContext, LayoutBinding binding, string str)
        {
            var layoutContext = controlContext.LayoutContext;
            var list          = new List <SliderItemDataModel>();

            if (LayoutContextHelper.TryGetCardDataSource(controlContext, binding, out var cardId))
            {
                var  cardData   = controlContext.SessionContext.AdvancedCardManager.GetCardData(cardId);
                Guid cardTypeId = cardData.Type.Id;


                if (!string.IsNullOrEmpty(str))
                {
                    string[] parts = str.Split(splitSymbol);
                    int      i     = 0;
                    while (i < parts.Length)
                    {
                        var item = new SliderItemDataModel();
                        item.Url         = parts[i++];
                        item.Description = GetLocalization(layoutContext, cardTypeId, parts[i++]);
                        list.Add(item);
                    }
                }
            }
            return(list);
        }
        /// <summary>
        /// Конвертирует значение для его показа
        /// </summary>
        public override BindingResult ConvertForDisplay(ControlContext controlContext, LayoutBinding binding, BindingResult bindingResult)
        {
            var model = GetList(controlContext, binding, bindingResult.Values[0]);

            return(new BindingResult
            {
                Name = bindingResult.Name,
                Value = model
            });
        }
示例#3
0
        // Основной метод, возвращающий отображаемое значение (а точнее модель) для значения элемента управления - bindingResult.Value
        public override BindingResult ConvertForDisplay(ControlContext controlContext, LayoutBinding binding, BindingResult bindingResult)
        {
            var itemId = bindingResult.Value != null ? (Guid)bindingResult.Value : Guid.Empty;
            var name   = itemId == Guid.Empty ? "" : refCasesService.GetCaseTitle(itemId);

            // Клиент ожидает модель, включающую идентификатор и название Дела
            var model = new CaseClientModel()
            {
                Id = itemId, Name = name
            };

            return(bindingResult.Clone(model));
        }