Basic source for a console client, download here:
Code Block |
---|
|
static void Main(string[] args)
{
{
AsyncContext.Run(() => DoStuff());
}
static async Task DoStuff()
{
var controller = IsonasController.Create(hostname: "weezwinsvr");
IIsonasConnection connection;
using (var key = new SecureString())
{
{
"2D381400325FCF24A0D9AC16094E47622D381400325FCF24A0D9AC16094E4762".ToList().ForEach(key.AppendChar);
connection = await controller.OpenEncrypted(key: key);
// controller.Open() returns an unencrypted connection
}
}
IISonasSession session;
using (var password = new SecureString())
{
{
"sapient".ToList().ForEach(password.AppendChar);
session = await connection.Logon(username: "admin",
password: password);
}
}
await session.UsingAsync(async s => { await WorkWithSession(s); });
}
static async Task WorkWithSession(IISonasSession session)
{
var id = new IdFile(lastName: "Doe",
firstName: "John",
personIdString: "auto_200",
area: "COMMON",
ssn: "123456789");
await session.AddIdFile(id);
Exception uncaught = null;
var shift = new Shift(shiftName: "the shift",
days: new[]
{
{
new ShiftDay(dayOfWeek: IsoDayOfWeek.Wednesday,
start: new LocalTime(hour: 17,
minute: 0),
end: new LocalTime(hour: 17,
minute: 30))
});
try
{
});
try
{
var allIds = await session.QueryAllIdFiles();
Console.WriteLine("IDs are {0}",
JsonConvert.SerializeObject(allIds));
var retrievedId = await session.QueryIdFile(id.PersonIdString);
Console.WriteLine("Retrieved ID file {0}",
JsonConvert.SerializeObject(retrievedId));
await session.AddShift(shift);
var retrievedShift = await session.QueryShift(shiftName: shift.ShiftName);
Console.WriteLine("Retrieved shift {0}",
JsonConvert.SerializeObject(retrievedShift));
Console.WriteLine("\nPress Enter to continue...");
Console.ReadLine();
}
}
catch (Exception e)
{
{
uncaught = e;
}
}
await session.DeleteIdFile(id.PersonIdString);
await session.DeleteShift(shift);
// C# 6 will support awaits inside a catch block
if (uncaught != null)
{
{
ExceptionDispatchInfo.Capture(uncaught).Throw();
}
} }
} |
Video of output:
Widget Connector |
---|
url | https://www.youtube.com/watch?v=kj2HmBqDxM4&feature=youtu.be |
---|
|