private void BulkUpdate(IEnumerable <ObjectDescriptor> updates) { var spliter = new EntityDescriptorSpliter { MaxCount = _WebView.GetMaxAcceptableArguments() - 1 }; var packer = new ObjectChildrenDescriptionPacker(); foreach (var entityDescriptor in spliter.SplitParameters(updates)) { var arguments = GetUpdateParameters(entityDescriptor, packer); BulkObjectsUpdater.ExecuteFunctionNoResult(_WebView, null, arguments); } }
private void BulkUpdate <T>(IEnumerable <EntityDescriptor <T> > updates, Func <T, string> getKeyDescription) { if (updates.Count() == 0) { return; } var spliter = new EntityDescriptorSpliter <T> { MaxCount = _WebView.MaxFunctionArgumentsNumber - 1 }; spliter.SplitParameters(updates) .Select(param => GetUpdateParameters(param, getKeyDescription)) .ForEach(arguments => Execute(arguments)); }