DataStoreUnpackerExtensions.GetDataStore([NotNull]this IDataUnpacker dataUnPackage,[NotNull]string key,DataContext context,string name) Method
.NET Standard 2.x
Gets an IDataStore
object created by the specified element, the DataWindow object specified by the name
parameter, and the DataContext
object.
Namespace: DWNet.Data
Assembly: DWNet.Data.dll
Syntax
public static IDataStore GetDataStore(
[NotNull]this IDataUnpacker dataUnPackage,
[NotNull]string key,
DataContext context,
string name)
Parameters
dataUnPackage
SnapObjects.Data.IDataUnpacker
The IDataUnpacker
object that can unpack a data package which contains multiple types of elements.
key
System.String
The key specifying which element will be used to get the IDataStore
object.
context
SnapObjects.Data.DataContext
A DataContext
object which will be used to get the IDataStore
object.
name
System.String
The name of the DataWindow object.
Returns
Returns the newly created IDataStore
object.
Examples
The following code example demonstrates how to get an IDataStore
object from IDataUnpacker
according to a key name and specify the DataContext and the DataWindow name.
using SnapObjects.Data;
using DWNet.Data;
using System;
using Appeon.ApiDoc.Models;
namespace Appeon.ApiDoc.DataStoreUnpackerExtensionsExamples
{
public class GetDataStoreExample
{
private readonly SchoolContext _context;
public GetDataStoreExample(SchoolContext dataContext)
{
// Sets the data context.
_context = dataContext;
}
public void Example7()
{
// Instantiates a DataStore object with datawindow: d_department.
var dataStore = new DataStore("d_department", _context);
dataStore.Retrieve();
var dataPacker = new DataPacker();
// Adds the DataStore object as an element to the current IDataPacker
// and adds the DataStore name as the key name for the element
// and uses the DataWindow format.
var key = nameof(dataStore);
dataPacker.AddDataStore(key, dataStore, true);
// Gets a string in the specified format which represents all elements
// in the current `IDataPacker` object.
string text = dataPacker.GetTextString(DataFormat.Json);
var dataUnpacker = new DataUnpacker(text, DataFormat.Json);
// Gets the DataStore object according to the key value and
// specifies DataContext name to _context and
// specifies the DataWindow name to d_department.
var ds = dataUnpacker.GetDataStore(key, _context, "d_department");
// Shows the departments.
for (int i = 0; i < ds.RowCount; i++)
{
Console.WriteLine("Row Status: {0}; Departmentid: {1}; Name: {2}",
ds.GetRowStatus(i),
ds.GetItem(i, "Departmentid"),
ds.GetItem(i, "Name"));
}
/* This code example produces the following output:
Row Status: NotTracked; Departmentid: 1; Name: Engineering
Row Status: NotTracked; Departmentid: 2; Name: English
Row Status: NotTracked; Departmentid: 4; Name: Economics
Row Status: NotTracked; Departmentid: 7; Name: Mathematics
*/
}
}
}
Example Refer To
Model Class: D_Department
DataWindow File: d_department
Applies to
.NET Standard
2.x