Пример #1
0
        public static ListView Refresh(this ListView listView,
                                       IList <object> newItemList,
                                       OutputFieldMetadata outputField,
                                       MyFormHandler myFormHandler,
                                       Dictionary <string, FormMetadata> allFormsMetadata)
        {
            var outputFieldProperty = outputField.CustomProperties.GetCustomProperty <IEnumerable <OutputFieldMetadata> >("columns");
            var adapter             = new ListCustomAdapter <object>(newItemList.ToList(), outputFieldProperty, myFormHandler);

            listView.Adapter = adapter;
            return(listView);
        }
Пример #2
0
        public static IEnumerable <object> GetTypeaheadSource <T>(this object source,
                                                                  MyFormHandler myFormHandler,
                                                                  TypeaheadRequest <T> request = null)
        {
            if (source is IEnumerable <object> )
            {
                return(source.CastTObject <IEnumerable <object> >());
            }
            if (request != null)
            {
                var list = new Dictionary <string, object> {
                    { "query", request.Query }, { "ids", request.Ids }
                };
                var obj = JsonConvert.SerializeObject(list);

                var dataSource  = source.ToString();
                var formRequest = new InvokeForm.Request
                {
                    Form             = dataSource,
                    InputFieldValues = obj
                };

                try
                {
                    var result = Task.Run(
                        () => myFormHandler.InvokeFormAsync(new[] { formRequest }));

                    var response = result.Result;

                    var typeahead = response[0].Data.CastTObject <TypeaheadResponse <object> >();

                    if (typeahead != null)
                    {
                        return(typeahead.Items);
                    }
                }
                catch (AggregateException ex)
                {
                    ex.ThrowInnerException();
                }
            }
            return(new List <object>());
        }
Пример #3
0
        public static ListView IntializeListView(this IList <object> itemList, OutputFieldMetadata outputField, MyFormHandler myFormHandler)
        {
            var listView            = new ListView(Application.Context);
            var outputFieldProperty = outputField.CustomProperties.GetCustomProperty <IEnumerable <OutputFieldMetadata> >("columns");
            var adapter             = new ListCustomAdapter <object>(itemList.ToList(), outputFieldProperty, myFormHandler);

            listView.Adapter = adapter;
            return(listView);
        }
Пример #4
0
 public ListCustomAdapter(List <T> objectList, IEnumerable <OutputFieldMetadata> outputFieldProperty, MyFormHandler myFormHandler)
 {
     this.ObjectList          = objectList;
     this.OutputFieldProperty = outputFieldProperty;
     this.MyFormHandler       = myFormHandler;
 }