public dynamic Invoke(DynamicViewPoint point, InvokeMemberBinder binder, object[] args) { string location = point.Location; string idValue = args.Length == 1 ? Convert.ToString(args[0]) : ""; GetDataRequest request = new GetDataRequest { Credentials = GetCredentials(), Filter = new DataFilter { Location = location, Criteria = new [] {new FilterEntry {Name = "Id", Value = idValue}}, }, View = new GetDataView { Module = point.AmplaModule }, OutputOptions = new GetDataOutputOptions { ResolveIdentifiers = true }, }; GetDataResponse response = WebServiceClient.GetData(request); List<dynamic> records = new List<dynamic>(); IAmplaBinding binding = new AmplaGetDataBinding(response, records); if (binding.Validate() && binding.Bind()) { return records.FirstOrDefault(); } return null; }
public Task<List<SerializableDynamicObject>> GetDataAsync(Query query) { var request = new GetDataRequest { Query = query }; return _requestTask.Get(request) .Select(x => x.Results.ToList(), _scheduler.Task.TPL); }
private GetDataRequest GetDataRequest(bool includeDefaultFilters, params FilterValue[] filters) { GetDataRequest request = new GetDataRequest { Credentials = CreateCredentials(), Metadata = true, OutputOptions = new GetDataOutputOptions { ResolveIdentifiers = ModelProperties.ResolveIdentifiers, }, Filter = GetDataFilter(includeDefaultFilters, filters), View = new GetDataView { Context = NavigationContext.Plant, Mode = NavigationMode.Location, Module = ModelProperties.Module } }; return(request); }
public void GetDataWithNoData() { SimpleDataWebServiceClient webServiceClient = Create(); GetDataRequest request = new GetDataRequest { Credentials = CreateCredentials(), Filter = new DataFilter { Location = location }, Metadata = true, // OutputOptions = new GetDataOutputOptions(), View = new GetDataView { Module = AmplaModules.Production, Context = NavigationContext.Plant } }; var response = webServiceClient.GetData(request); Assert.That(response.RowSets, Is.Not.Empty); }
/// <summary> /// GetDestinationFields /// </summary> /// <param name="pIntegrationProcessID"></param> /// <returns></returns> public List <IntegrationAdapterField> GetDestinationFields(int pIntegrationProcessID) { List <IntegrationAdapterField> list = null; try { IntegrationProcess process = base.AppRuntime.DataService.GetEntity(GetDataRequest <IntegrationProcess> .Create(c => c.IntegrationProcessID == pIntegrationProcessID, "DestinationIntegrationAdapter.IntegrationAdapterFields")); if (process != null && process.DestinationIntegrationAdapter != null) { list = process.DestinationIntegrationAdapter.IntegrationAdapterFields.ToList(); } } catch (Exception ex) { LogManager.LogException(ex); } return(list); }
//private readonly ILogger<DataService> _logger; //public DataService(ILogger<DataService> logger) //{ // _logger = logger; //} public override async Task <DataResponse> GetData(GetDataRequest request, ServerCallContext context) { var result = new List <DataProto>(4000); await foreach (var elem in DataLoader.GetData()) { result.Add(new DataProto { Id = elem.Id, IsActive = elem.IsActive, Name = elem.Name ?? string.Empty, Status = GetGrpcStatus(elem.Status), Arguments = { elem.Arguments.Select(x => new GrpcData.Argument { First = x.First, Second = x.Second }) } }); } return(new DataResponse { Data = { result } }); }
public void GetDataWithNullOutputOptions() { SimpleDataWebServiceClient webServiceClient = Create(); GetDataRequest request = new GetDataRequest { Credentials = CreateCredentials(), Filter = new DataFilter { Location = location, Criteria = new FilterEntry[0] }, View = new GetDataView { Context = NavigationContext.Plant, Mode = NavigationMode.Location, Module = AmplaModules.Production }, Metadata = false, OutputOptions = null }; GetDataResponse response = webServiceClient.GetData(request); Assert.That(response.RowSets, Is.Not.Empty); Assert.That(response.RowSets[0].Columns, Is.Null); Assert.That(response.Context.ResolveIdentifiers, Is.False); }
/// <summary> /// Build Integration Process GetDataRequest /// </summary> /// <param name="pProcessCode"></param> /// <returns></returns> public static GetDataRequest <IntegrationProcess> BuildIntegrationProcessGetDataRequest(string pProcessCode) { GetDataRequest <IntegrationProcess> getDataRequest = null; try { string[] integrationProcessIncludes = { "SourceIntegrationAdapter.IntegrationAdapterFields", "SourceIntegrationAdapter.ApplicationDatabaseQuery.ApplicationDatabas.Application", "SourceIntegrationAdapter.ApplicationWebServiceRequest.ApplicationWebService.Application", "DestinationIntegrationAdapter.IntegrationAdapterFields", "DestinationIntegrationAdapter.ApplicationDatabaseQuery.ApplicationDatabas.Application", "DestinationIntegrationAdapter.ApplicationWebServiceRequest.ApplicationWebService.Application" }; getDataRequest = GetDataRequest <IntegrationProcess> .Create(c => c.IntegrationProcessCode == pProcessCode, integrationProcessIncludes); } catch { throw; } return(getDataRequest); }
public dynamic Invoke(DynamicViewPoint point, InvokeMemberBinder binder, object[] args) { string location = point.Location; string idValue = args.Length == 1 ? Convert.ToString(args[0]) : ""; GetDataRequest request = new GetDataRequest { Credentials = GetCredentials(), Filter = new DataFilter { Location = location, Criteria = new [] { new FilterEntry { Name = "Id", Value = idValue } }, }, View = new GetDataView { Module = point.AmplaModule }, OutputOptions = new GetDataOutputOptions { ResolveIdentifiers = true }, }; GetDataResponse response = WebServiceClient.GetData(request); List <dynamic> records = new List <dynamic>(); DynamicModelProperties modelProperties = new DynamicModelProperties(point); IAmplaBinding binding = new AmplaGetDataDynamicBinding(response, records, modelProperties); if (binding.Validate() && binding.Bind()) { return(records.FirstOrDefault()); } return(null); }
public ActionResult GetData(int queryId, GetDataRequest req) { var query = db.Queries .Include(q => q.DatabaseConnection) .ThenInclude(c => c.SshKeyFile) .FirstOrDefault(q => q.QueryID == queryId); if (query != null && CanUserAccessDatabase(query.DatabaseConnection)) { var queryDefinition = JsonConvert.DeserializeObject <dynamic>(query.QueryDefinition); var nodes = JsonConvert.SerializeObject(queryDefinition.Nodes); var selectedNodeId = queryDefinition.SelectedNodeId.ToString(); var data = _dbMgr.GetData(query.DatabaseConnection, nodes, selectedNodeId, req.Start, req.Length); var rows = data.Rows; var totalCount = data.RowCount; var dataTable = new { draw = req.Draw, recordsTotal = totalCount, recordsFiltered = totalCount, data = rows }; return(Json(dataTable)); } return(NotFound()); }
public static List <T> GetFilterWithPaging <T>(string serviceUrl, string serviceMethod, string tokenKey, List <string> filterParam, Method method = Method.POST) where T : BusinessObject // Return List Object { var content = ""; try { var _client = new RestClient(serviceUrl); var request = new RestRequest(serviceMethod, method) { RequestFormat = DataFormat.Json }; GetDataRequest dataRequest = new GetDataRequest(); if (!String.IsNullOrEmpty(tokenKey)) { request.AddHeader("tokenKey", tokenKey); } request.AddBody(dataRequest); var response = _client.Execute(request); GetDataResponse responseData = JsonConvert.DeserializeObject <GetDataResponse>(response.Content); content = responseData.Content.ToString(); List <T> dataObject = new List <T>(); if (responseData != null) { DataTable dataTable = new DataTable(); if (responseData != null) { dataTable = JsonConvert.DeserializeObject <DataTable>(responseData.Content.ToString()); return(ConvertDataTableToListObject <T>(dataTable)); } } } catch (Exception ex) {} return(new List <T>()); }
/// <summary> /// Return the data and the stat of the node of the given path. /// /// If the watch is non-null and the call is successful (no exception is /// thrown), a watch will be left on the node with the given path. The watch /// will be triggered by a successful operation that sets data on the node, or /// deletes the node. /// /// A KeeperException with error code KeeperException.NoNode will be thrown /// if no node with the given path exists. /// @param path the given path /// @param watcher explicit watcher /// @param stat the stat of the node /// @return the data of the node /// @throws KeeperException If the server signals an error with a non-zero error code /// @throws InterruptedException If the server transaction is interrupted. /// @throws IllegalArgumentException if an invalid path is specified /// </summary> public byte[] GetData(string path, IWatcher watcher, Stat stat) { string clientPath = path; PathUtils.ValidatePath(clientPath); // the watch contains the un-chroot path WatchRegistration wcb = null; if (watcher != null) { wcb = new DataWatchRegistration(watchManager, watcher, clientPath); } string serverPath = PrependChroot(clientPath); RequestHeader h = new RequestHeader(); h.Type = (int)OpCode.GetData; GetDataRequest request = new GetDataRequest(); request.Path = serverPath; request.Watch = watcher != null; GetDataResponse response = new GetDataResponse(); ReplyHeader r = cnxn.SubmitRequest(h, request, response, wcb); if (r.Err != 0) { throw KeeperException.Create((KeeperException.Code)Enum.ToObject(typeof(KeeperException.Code), r.Err), clientPath); } if (stat != null) { DataTree.CopyStat(response.Stat, stat); } return(response.Data); }
private void LoadOrderDetail(EntityRef orderRef) { if (orderRef == null) { return; } Async.Request( this, (IBrowsePatientDataService service) => { var request = new GetDataRequest { GetOrderDetailRequest = new GetOrderDetailRequest(orderRef, true, true, false, false, true, false) { IncludeExtendedProperties = true } }; return(service.GetData(request)); }, response => { _orderDetail = response.GetOrderDetailResponse.Order; UpdatePages(); NotifyPropertyChanged("SelectedOrder"); NotifyAllPropertiesChanged(); }, exception => { ExceptionHandler.Report(exception, this.Host.DesktopWindow); NotifyPropertyChanged("SelectedOrder"); NotifyAllPropertiesChanged(); }); }
/// <summary> /// Get Integration Adapter Fields /// </summary> /// <param name="pIntegrationAdapterID"></param> /// <returns></returns> public List <IntegrationAdapterField> GetIntegrationAdapterFields(int pIntegrationAdapterID) { List <IntegrationAdapterField> list = null; try { list = base.AppRuntime.DataService.GetAll(GetDataRequest <IntegrationAdapterField> .Create(c => c.IntegrationAdapterID == pIntegrationAdapterID)).ToList(); if (list != null && list.Count == 0) { list.Add(new IntegrationAdapterField() { IsRowVisible = false }); } } catch (Exception ex) { LogManager.LogException(ex); } return(list); }
/// <summary> /// Returns query with filter applied. /// </summary> /// <typeparam name="TEntity">The type of the entity.</typeparam> /// <param name="query">The query.</param> /// <param name="request">The request.</param> /// <returns> /// Query with filters and sorting applied. /// </returns> public static Tuple <IQueryable <TEntity>, IFutureValue <int> > ApplyFiltersWithChildren <TEntity>(this IQueryable <TEntity> query, GetDataRequest <TEntity> request) where TEntity : Entity { if (request != null) { // If paging is needed if (request.ItemsCount > 0) { // At first, load ids query = query .ApplyFilters(request.Filter); var futureValue = query.ToRowCountFutureValue(request); var ids = query .AddOrderAndPaging(request) .Select(entity => entity.Id) .ToList(); // Then load entities query = query.Where(l => ids.Contains(l.Id)); return(new Tuple <IQueryable <TEntity>, IFutureValue <int> >(query, futureValue)); } return(new Tuple <IQueryable <TEntity>, IFutureValue <int> >(query.ApplyFilters(request), null)); } return(new Tuple <IQueryable <TEntity>, IFutureValue <int> >(query, null)); }
/// <summary> /// To the row count future value. /// </summary> /// <typeparam name="TEntity">The type of the entity.</typeparam> /// <param name="query">The query.</param> /// <param name="request">The request.</param> /// <returns></returns> public static IFutureValue <int> ToRowCountFutureValue <TEntity>(this IQueryable <TEntity> query, GetDataRequest <TEntity> request) where TEntity : Entity { var hasPaging = (request == null || request.ItemsCount > 0); if (hasPaging) { return(query.ToRowCountFutureValue()); } return(null); }
/// <summary> /// Adds the order and paging. /// </summary> /// <typeparam name="TEntity">The type of the entity.</typeparam> /// <param name="query">The query.</param> /// <param name="request">The request.</param> /// <returns> Ordered and paged query </returns> public static IQueryable <TEntity> AddOrderAndPaging <TEntity>(this IQueryable <TEntity> query, GetDataRequest <TEntity> request) where TEntity : Entity { if (request != null) { query = query.AddOrder(request); query = query.AddPaging(request.StartItemNumber, request.ItemsCount); } return(query); }
private void LoadReports() { Async.CancelPending(this); if (_context == null) { return; } Async.Request( this, (IBrowsePatientDataService service) => { var request = new GetDataRequest { ListReportsRequest = new ListReportsRequest(null, _context.OrderRef), ListPatientProfilesRequest = new ListPatientProfilesRequest(_context.PatientRef), GetOrderDetailRequest = new GetOrderDetailRequest(_context.OrderRef, false, true, false, false, false, false) }; return(service.GetData(request)); }, response => { var procedure = CollectionUtils.FirstElement(response.GetOrderDetailResponse.Order.Procedures); if (procedure != null) { var facilityCode = procedure.PerformingFacility.InformationAuthority.Code; var matchingProfile = CollectionUtils.SelectFirst( response.ListPatientProfilesResponse.Profiles, summary => summary.Mrn.AssigningAuthority.Code == facilityCode); _patientProfileRef = matchingProfile != null ? matchingProfile.PatientProfileRef : null; } var reports = new List <CommonReportListItem>(); CollectionUtils.ForEach(response.ListReportsResponse.Reports, delegate(ReportListItem item) { var existingItem = CollectionUtils.SelectFirst(reports, crli => Equals(crli.ReportRef, item.ReportRef)); if (existingItem != null) { existingItem.AddReportListItem(item); } else { reports.Add(new CommonReportListItem(item.ProcedureRef, item.ReportRef, item)); } }); _reports = reports; _selectedReport = CollectionUtils.FirstElement(_reports); OnReportSelectionChanged(); NotifyAllPropertiesChanged(); }, exception => { _reports = new List <CommonReportListItem>(); _selectedReport = null; ExceptionHandler.Report(exception, this.Host.DesktopWindow); OnReportSelectionChanged(); NotifyAllPropertiesChanged(); }); }
private GetDataRequest CreateGetRequest(string name, string propertyName, string urlFilter, string options, string filter, string paging, string sort, bool forCopy = false) { string filterActionName = null; string idValue = null; var filterItems = new List <ClientFilterItem>(); if (NotNullOrEmpty(urlFilter)) { try { filterItems.AddRange(JsonConvert.DeserializeObject <List <ClientFilterItem> >(urlFilter)); } catch { var filterActions = DWKitRuntime.ServerActions.GetFilterNames().Where(n => n.Equals(urlFilter, StringComparison.OrdinalIgnoreCase)).ToList(); string filterAction = null; filterAction = filterActions.Count == 1 ? filterActions.First() : filterActions.FirstOrDefault(n => n.Equals(urlFilter, StringComparison.Ordinal)); if (!string.IsNullOrEmpty(filterAction)) { filterActionName = filterAction; } else { idValue = urlFilter; } } } if (NotNullOrEmpty(filter)) { filterItems.AddRange(JsonConvert.DeserializeObject <List <ClientFilterItem> >(filter, new JsonSerializerSettings { DateParseHandling = DateParseHandling.None })); } var getRequest = new GetDataRequest(name) { PropertyName = propertyName, FilterActionName = filterActionName, IdValue = idValue, Filter = filterItems, BaseUrl = $"{Request.Scheme}://{Request.Host.Value}", ForCopy = forCopy, GetHeadersForLocalRequest = () => { var dataUrlParameters = new Dictionary <string, string> { { "Cookie", string.Join(";", Request.Cookies.Select(c => $"{c.Key}={c.Value}")) } }; return(dataUrlParameters); } }; if (NotNullOrEmpty(options)) { getRequest.OptionsDictionary = JsonConvert.DeserializeObject <Dictionary <string, object> >(options); } if (NotNullOrEmpty(paging)) { getRequest.Paging = JsonConvert.DeserializeObject <ClientPaging>(paging); } if (NotNullOrEmpty(sort)) { getRequest.Sort = JsonConvert.DeserializeObject <List <ClienSortItem> >(sort); } return(getRequest); }
public Task <GetDataResult> GetDataAsync(GetDataRequest request) => throw new NotSupportedException();
/// <summary> /// Insert IntegrationAdapter /// </summary> /// <param name="pEntity"></param> /// <returns></returns> public int InsertIntegrationAdapter(IntegrationAdapter pEntity) { int results = 0; try { DataUtilities.UpdateRecordAuditInfo(pEntity); base.AppRuntime.DataService.AddEntity(pEntity); results = base.AppRuntime.DataService.SaveChanges(); if (pEntity.IntegrationAdapterID > 0) { IntegrationProcess process = base.AppRuntime.DataService.GetEntity(GetDataRequest <IntegrationProcess> .Create(c => c.IntegrationProcessID == this.IntegrationProcessID)); if (process != null) { if (this.IntegrationAdapterType == IntegrationChannelType.Source) { process.SourceIntegrationAdapterID = pEntity.IntegrationAdapterID; } else if (this.IntegrationAdapterType == IntegrationChannelType.Destination) { process.DestinationIntegrationAdapterID = pEntity.IntegrationAdapterID; } DataUtilities.UpdateRecordAuditInfo(process); base.AppRuntime.DataService.UpdateEntity(process); } } } catch (Exception ex) { LogManager.LogException(ex); } return(results); }
public void GetData_ResolveIdentifiers_True() { InMemoryRecord record = DowntimeRecords.NewRecord().MarkAsNew(); record.SetFieldIdValue("Cause", "Shutdown", 100); record.SetFieldIdValue("Classification", "Unplanned Process", 200); SimpleDataWebServiceClient webServiceClient = new SimpleDataWebServiceClient(record.Module, record.Location); record.SaveTo(webServiceClient); Assert.That(webServiceClient.DatabaseRecords, Is.Not.Empty); string recordId = Convert.ToString(webServiceClient.DatabaseRecords[0].RecordId); GetDataRequest request = new GetDataRequest { Credentials = CreateCredentials(), Filter = new DataFilter {Location = record.Location, Criteria = new [] { new FilterEntry {Name = "Id", Value = recordId}}}, View = new GetDataView { Context = NavigationContext.Plant, Mode = NavigationMode.Location, Module = AmplaModules.Downtime}, Metadata = true, OutputOptions = new GetDataOutputOptions {ResolveIdentifiers = true} }; GetDataResponse response = webServiceClient.GetData(request); AssertResponseContainsValue(response, "Cause", "Shutdown"); AssertResponseContainsValue(response, "Classification", "Unplanned Process"); }
public void GetDataWithNoMetaDataReturnsZeroColumns() { SimpleDataWebServiceClient webServiceClient = new SimpleDataWebServiceClient(module, location); webServiceClient.GetViewFunc = ProductionViews.StandardView; GetDataRequest request = new GetDataRequest { Credentials = CreateCredentials(), Filter = new DataFilter { Location = location, Criteria = new FilterEntry[0] }, View = new GetDataView { Context = NavigationContext.Plant, Mode = NavigationMode.Location, Module = AmplaModules.Production }, Metadata = false, OutputOptions = new GetDataOutputOptions { ResolveIdentifiers = false }, }; GetDataResponse response = webServiceClient.GetData(request); Assert.That(response.RowSets, Is.Not.Empty); Assert.That(response.RowSets[0].Columns, Is.Null); }
public void GetDataReturnsLocation() { SimpleDataWebServiceClient webServiceClient = new SimpleDataWebServiceClient(module, location); InMemoryRecord record = ProductionRecords.NewRecord().MarkAsNew(); SubmitDataRequest submitRequest = new SubmitDataRequest { Credentials = CreateCredentials(), SubmitDataRecords = new[] { record.ConvertToSubmitDataRecord() } }; SubmitDataResponse submitResponse = webServiceClient.SubmitData(submitRequest); Assert.That(submitResponse.DataSubmissionResults, Is.Not.Null); Assert.That(submitResponse.DataSubmissionResults.Length, Is.EqualTo(1)); Assert.That(submitResponse.DataSubmissionResults[0].RecordAction, Is.EqualTo(RecordAction.Insert)); Assert.That(submitResponse.DataSubmissionResults[0].SetId, Is.GreaterThan(100)); string recordId = Convert.ToString(submitResponse.DataSubmissionResults[0].SetId); Assert.That(webServiceClient.DatabaseRecords.Count, Is.EqualTo(1)); Assert.That(webServiceClient.DatabaseRecords[0].Location, Is.EqualTo(location)); GetDataRequest request = new GetDataRequest { Credentials = CreateCredentials(), Filter = new DataFilter { Location = record.Location, Criteria = new[] { new FilterEntry { Name = "Id", Value = recordId } } }, View = new GetDataView { Context = NavigationContext.Plant, Mode = NavigationMode.Location, Module = AmplaModules.Production }, Metadata = true, OutputOptions = new GetDataOutputOptions { ResolveIdentifiers = false }, }; GetDataResponse response = webServiceClient.GetData(request); AssertResponseContainsValue(response, "Duration", "90"); AssertResponseContainsValue(response, "Location", location); }
public IAsyncEnumerable <GetDataResponse> GetDataAsync(GetDataRequest request) { return(_serverService.GetData(request)); }
/// <summary> /// Gets the data. /// </summary> /// <param name="request">The request.</param> /// <returns></returns> public GetDataResponse GetData(GetDataRequest request) { return(TryCatchThrowFault(() => { XmlDocument xmlDoc = new XmlDocument(); CheckCredentials(request.Credentials); InMemoryFilterMatcher filterMatcher = new InMemoryFilterMatcher(request.Filter); List <InMemoryRecord> recordsToReturn = new List <InMemoryRecord>(); Dictionary <int, InMemoryRecord> database = amplaDatabase.GetModuleRecords(request.View.Module.ToString()); if (database.Count > 0) { recordsToReturn = database.Values.Where(filterMatcher.Matches).ToList(); } bool resolveIdentifiers = request.OutputOptions != null && request.OutputOptions.ResolveIdentifiers; List <Row> rows = new List <Row>(); foreach (InMemoryRecord record in recordsToReturn) { Row row = new Row { id = Convert.ToString(record.RecordId) }; List <XmlElement> values = new List <XmlElement>(); foreach (FieldValue value in record.Fields) { string name = XmlConvert.EncodeName(value.Name); XmlElement element = xmlDoc.CreateElement(name, "http://www.citect.com/Ampla/Data/2008/06"); element.InnerText = value.ResolveValue(resolveIdentifiers); values.Add(element); } row.Any = values.ToArray(); rows.Add(row); } string module = request.View.Module.ToString(); string location = request.Filter.Location; GetDataResponse response = new GetDataResponse { Context = new GetDataResponseContext { Context = request.View.Context, Metadata = request.Metadata, Mode = request.View.Mode, Module = request.View.Module, ResolveIdentifiers = resolveIdentifiers, ViewName = request.View.Name, Fields = request.View.Fields, ModelFields = request.View.ModelFields, }, RowSets = new[] { new RowSet { Rows = rows.ToArray(), Columns = request.Metadata ? GetColumns(module, location) : null } } }; return response; })); }
public async Task <ActionResult> GetData(string name, string control, string urlFilter, string options, string filter, string paging, string sort) { try { if (!await DWKitRuntime.Security.CheckFormPermission(name, "View")) { throw new Exception("Access denied!"); } string filterActionName = null; string idValue = null; var filterItems = new List <ClientFilterItem>(); if (NotNullOrEmpty(urlFilter)) { try { filterItems.AddRange(JsonConvert.DeserializeObject <List <ClientFilterItem> >(urlFilter)); } catch { if (DWKitRuntime.ServerActions.ContainsFilter(urlFilter)) { filterActionName = urlFilter; } else { idValue = urlFilter; } } } if (NotNullOrEmpty(filter)) { filterItems.AddRange(JsonConvert.DeserializeObject <List <ClientFilterItem> >(filter)); } var getRequest = new GetDataRequest(name) { RequestingControlName = control, FilterActionName = filterActionName, IdValue = idValue, Filter = filterItems }; if (NotNullOrEmpty(options)) { getRequest.OptionsDictionary = JsonConvert.DeserializeObject <Dictionary <string, object> >(options); } if (NotNullOrEmpty(paging)) { getRequest.Paging = JsonConvert.DeserializeObject <ClientPaging>(paging); } if (NotNullOrEmpty(sort)) { getRequest.Sort = JsonConvert.DeserializeObject <List <ClienSortItem> >(sort); } var data = await DataSource.GetDataForFormAsync(getRequest).ConfigureAwait(false); return(Json(new ItemSuccessResponse <object>(data.ToDictionary(true)))); } catch (Exception e) { return(Json(new FailResponse(e))); } }
protected override async Task ExecuteAsync(CancellationToken stoppingToken) { var tables = await _metadataRepository.GetTablesAsync(); var foreignKeys = await _metadataRepository.GetForeignKeysAsync(); foreach (var table in tables) { if (table.PrimaryKeyType != "uniqueidentifier") { continue; } Console.Write($"Updating {table.Name} "); var stopwatch = Stopwatch.StartNew(); var references = foreignKeys.Where(x => x.PrimaryTableId == table.Id && x.PrimaryColumnId == table.PrimaryKeyId).ToList(); await DisableForeignKeys(references); var dataRequest = new GetDataRequest { SchemaName = table.Schema, TableName = table.Name, ColumnName = table.PrimaryKeyName }; var data = await _dataRepository.GetDataAsync(dataRequest); var(cursorLeft, cursorTop) = Console.GetCursorPosition(); var count = 0; foreach (var id in data) { count++; if (count % 50 == 0) { Console.SetCursorPosition(cursorLeft, cursorTop); Console.Write($"{count}"); } var newId = SequentialGuid.NewGuid(); var updateIdRequest = new UpdateColumnRequest { SchemaName = table.Schema, TableName = table.Name, ColumnName = table.PrimaryKeyName, OldValue = id, NewValue = newId }; await _dataRepository.UpdateColumnAsync(updateIdRequest); foreach (var fk in references) { var updateKeyRequest = new UpdateColumnRequest { SchemaName = fk.ForeignSchemaName, TableName = fk.ForeignTableName, ColumnName = fk.ForeignColumnName, OldValue = id, NewValue = newId }; await _dataRepository.UpdateColumnAsync(updateKeyRequest); } } await EnableForeignKeys(references); stopwatch.Stop(); Console.SetCursorPosition(cursorLeft, cursorTop); Console.WriteLine($" Done ({stopwatch.Elapsed})"); } _appLifetime.StopApplication(); }
/// <inheritdoc /> public Task <GetDataResult> GetDataAsync(GetDataRequest request) => ExecuteOperation(new GetDataOperation(request, watcherWrapper));
public async Task <ActionResult> GetData(string name, string control, string urlFilter, string options, string filter, string paging, string sort, bool forCopy = false) { try { if (!await DWKitRuntime.Security.CheckFormPermissionAsync(name, "View")) { throw new Exception("Access denied!"); } string filterActionName = null; string idValue = null; var filterItems = new List <ClientFilterItem>(); if (NotNullOrEmpty(urlFilter)) { try { filterItems.AddRange(JsonConvert.DeserializeObject <List <ClientFilterItem> >(urlFilter)); } catch { var filterActions = DWKitRuntime.ServerActions.GetFilterNames().Where(n => n.Equals(urlFilter, StringComparison.OrdinalIgnoreCase)).ToList(); string filterAction = null; filterAction = filterActions.Count == 1 ? filterActions.First() : filterActions.FirstOrDefault(n => n.Equals(urlFilter, StringComparison.Ordinal)); if (!string.IsNullOrEmpty(filterAction)) { filterActionName = filterAction; } else { idValue = urlFilter; } } } if (NotNullOrEmpty(filter)) { filterItems.AddRange(JsonConvert.DeserializeObject <List <ClientFilterItem> >(filter, new JsonSerializerSettings { DateParseHandling = DateParseHandling.None })); } var getRequest = new GetDataRequest(name) { RequestingControlName = control, FilterActionName = filterActionName, IdValue = idValue, Filter = filterItems, BaseUrl = $"{Request.Scheme}://{Request.Host.Value}", ForCopy = forCopy, GetHeadersForLocalRequest = () => { var dataUrlParameters = new Dictionary <string, string> { { "Cookie", string.Join(";", Request.Cookies.Select(c => $"{c.Key}={c.Value}")) } }; return(dataUrlParameters); } }; if (NotNullOrEmpty(options)) { getRequest.OptionsDictionary = JsonConvert.DeserializeObject <Dictionary <string, object> >(options); } if (NotNullOrEmpty(paging)) { getRequest.Paging = JsonConvert.DeserializeObject <ClientPaging>(paging); } if (NotNullOrEmpty(sort)) { getRequest.Sort = JsonConvert.DeserializeObject <List <ClienSortItem> >(sort); } var data = await DataSource.GetDataForFormAsync(getRequest).ConfigureAwait(false); if (data.IsFromUrl && FailResponse.IsFailResponse(data.Entity, out FailResponse fail)) { return(Json(fail)); } var result = data.Entity != null?data.Entity.ToDictionary(true) : new object(); return(Json(new ItemSuccessResponse <object>(result))); } catch (Exception e) { return(Json(new FailResponse(e))); } }
public IAsyncEnumerable <GetDataResponse> GetData(GetDataRequest request) { VertifyTokenAsync().Wait(); return(_server.GetDataAsync(request)); }
/// <inheritdoc cref="IZooKeeperClient.GetDataAsync"/> public static GetDataResult GetData(this IZooKeeperClient client, GetDataRequest request) => client.GetDataAsync(request).GetAwaiter().GetResult();
/// <summary> /// Build Adapter Cache Results /// </summary> /// <param name="pSourceAdapterResponse"></param> /// <returns>Integration Adapter Cache Result</returns> internal List <AdapterCacheResult> BuildAdapterCacheResults(SourceAdapterResponse pSourceAdapterResponse) { List <AdapterCacheResult> queryCacheResults = null; List <IntegrationAdapterCach> tempCache = null; List <string> sourceResultsKeys = null; bool needSaveChanges = false; try { Parallel.ForEach(pSourceAdapterResponse.Results, recordInfo => { recordInfo.DbRecordKey = this.BuildRecordCompositeKey(pSourceAdapterResponse.AdapterPrimaryKeys, recordInfo); }); sourceResultsKeys = pSourceAdapterResponse.Results .Select(c => c.DbRecordKey) .Where(c => c.IsValidString()).ToList(); if (sourceResultsKeys != null && sourceResultsKeys.Count > 0) { tempCache = base.AppRuntime.DataService.GetAll(GetDataRequest <IntegrationAdapterCach> .Create(c => c.IntegrationAdapterID == pSourceAdapterResponse.AdapterMetadata.IntegrationAdapterID && sourceResultsKeys.Contains(c.CachePrimaryKeys))).ToList(); if (tempCache != null) { queryCacheResults = new List <AdapterCacheResult>(); foreach (DBRecordInfo recordInfo in pSourceAdapterResponse.Results.Where(c => c.DbRecordKey.IsValidString())) { IntegrationAdapterCach cacheItem = tempCache.FirstOrDefault(c => c.CachePrimaryKeys == recordInfo.DbRecordKey); if (cacheItem != null) { if (cacheItem.CacheStatus == RecordCacheStatus.InQueue.GetValue <Byte>() || cacheItem.CacheStatus == RecordCacheStatus.Failed.GetValue <Byte>()) { cacheItem.CacheStatus = RecordCacheStatus.InQueue.GetValue <Byte>(); base.AppRuntime.DataService.ApplyEntityChanges(cacheItem); needSaveChanges = true; queryCacheResults.Add(new AdapterCacheResult() { DBRecordCache = cacheItem, DBRecord = recordInfo }); } else if (cacheItem.CacheStatus == RecordCacheStatus.Succeeded.GetValue <Byte>()) { //Record Ignored: because the record has been moved successfully in earlier transaction } } else { cacheItem = new IntegrationAdapterCach() { IntegrationAdapterID = pSourceAdapterResponse.AdapterMetadata.IntegrationAdapterID, CachePrimaryKeys = recordInfo.DbRecordKey, CacheStatus = RecordCacheStatus.InQueue.GetValue <Byte>(), Description = string.Format("{0}-{1}", pSourceAdapterResponse.AdapterMetadata.IntegrationAdapterID, recordInfo.DbRecordKey), RecordStatus = (int)RecordAuditStatus.Active, RecordCreated = DateTime.Now, RecordCreatedBy = Constants.SystemUser, RecordLastUpdate = DateTime.Now, RecordLastUpdateBy = Constants.SystemUser, }; base.AppRuntime.DataService.AddEntity(cacheItem); needSaveChanges = true; queryCacheResults.Add(new AdapterCacheResult() { DBRecordCache = cacheItem, DBRecord = recordInfo }); } } if (needSaveChanges) { base.AppRuntime.DataService.SaveChanges(); } } } } catch (Exception ex) { LogManager.LogException(ex); } finally { tempCache = null; sourceResultsKeys = null; } return(queryCacheResults); }
public GetDataResponse GetData(GetDataRequest request) { return(Create().GetData(request)); }
public async Task <List <RequestDto> > Handle(GetDataRequest request, CancellationToken cancellationToken) { var requests = await _uow.RequestsRepository.GetAllAsync(); return(_mapper.Map <List <RequestDto> >(requests)); }