public static async Task<HttpResponseMessage> GetTiles(string buid, string floor_number)
{
var r = new RequestPoisByFloor
{
access_token = "api_tester",
buid = buid,
floor_number = floor_number,
username = "",
password = ""
};
try
{
var response = await AnyPlaceClient.PostAsJsonAsync(new Uri(ServerBaseUri, "/anyplace/floortiles/zip/" + buid + "/" + floor_number), r);
if (!response.IsSuccessStatusCode)
{
return null;
}
var x = await response.Content.ReadAsStreamAsync();
using (var isoStore = IsolatedStorageFile.GetUserStoreForApplication())
{
using (var zipStream = new UnZipper(x))
{
isoStore.CreateDirectory(buid);
isoStore.CreateDirectory(buid + "/" + floor_number);
foreach (var file in zipStream.FileNamesInZip)
{
string fileName = Path.GetFileName(file);
if (!string.IsNullOrEmpty(fileName))
{
Debug.WriteLine(fileName);
//save file entry to storage
using (var streamWriter =
new BinaryWriter(new IsolatedStorageFileStream(buid + "/" + floor_number + "/" + fileName,
FileMode.Create,
FileAccess.Write, FileShare.Write,
isoStore)))
{
Stream fileStream = zipStream.GetFileStream(file);
var buffer = new byte[2048];
int size;
while ((size = fileStream.Read(buffer, 0, buffer.Length)) > 0)
{
streamWriter.Write(buffer, 0, size);
}
}
}
}
}
}
}
catch (Exception e) {
var x = e.Message;
}
return null;
}
}