public async Task <ApiFileResponse> GetAudioFileAsync(string filename) { ApiFileResponse resp = null; try { RestClient client = new RestClient(App.Settings.RootUrl); RestRequest request = new RestRequest("api/get_file", Method.GET); request.AddHeader(AppConst.BTOKEN, App.Settings.BToken); request.AddHeader(AppConst.RTOKEN, App.Settings.RToken); request.AddParameter("category", (int)EbFileCategory.Audio); request.AddParameter("filename", filename); IRestResponse response = await client.ExecuteAsync(request); if (response.IsSuccessful) { resp = JsonConvert.DeserializeObject <ApiFileResponse>(response.Content); } } catch (Exception ex) { EbLog.Error(ex.Message); } return(resp); }
public async void SetValue(NetworkMode nw, FUPSetValueMeta meta, string ctrlname) { if (nw == NetworkMode.Offline) { string pattern = $"{meta.TableName}-{meta.RowId}-{ctrlname}*"; List <FileWrapper> Files = HelperFunctions.GetFilesByPattern(pattern); foreach (FileWrapper file in Files) { this.AppendToGallery(file.FileName, file.Bytea); } } else if (nw == NetworkMode.Online) { foreach (FileMetaInfo info in meta.Files) { try { ApiFileResponse resp = await FormService.Instance.GetFile(info.FileCategory, $"{info.FileRefId}.jpg"); if (resp != null && resp.HasContent) { this.AppendToGallery(info.FileName, resp.Bytea); } } catch (Exception ex) { EbLog.Error("GetFile api error ::" + ex.Message); } } } }
public ApiFileResponse GetFile(EbFileCategory category, string filename) { ApiFileResponse resp = null; try { RestRequest request = new RestRequest("api/get_file", Method.GET); // auth Headers for api request.AddHeader(AppConst.BTOKEN, App.Settings.BToken); request.AddHeader(AppConst.RTOKEN, App.Settings.RToken); request.AddParameter("category", (int)category); request.AddParameter("filename", filename); IRestResponse response = HttpClient.Execute(request); if (response.StatusCode == HttpStatusCode.OK) { resp = JsonConvert.DeserializeObject <ApiFileResponse>(response.Content); } } catch (Exception ex) { EbLog.Error(ex.Message); } return(resp); }
public async void SetValue(object value) { try { AudioFiles = new List <ApiFileResponse>(); string[] refids = value.ToString().Split(CharConstants.COMMA); foreach (string id in refids) { ApiFileResponse resp = await GetAudioFileAsync($"{id.Trim()}.mp3"); if (resp != null && resp.HasContent) { AudioFiles.Add(resp); } } } catch (Exception ex) { EbLog.Error("[GetFiles] error in list renderer vm, " + ex.Message); } }
public async void SetValue(NetworkMode network, FUPSetValueMeta meta, string ctrlname) { if (network == NetworkMode.Offline) { string pattern = $"{meta.TableName}-{meta.RowId}-{ctrlname}*"; List <FileWrapper> Files = HelperFunctions.GetFilesByPattern(pattern); foreach (FileWrapper file in Files) { string name = Guid.NewGuid().ToString("N"); uploadedFiles.Add(name); this.AddAudioFrame(file.Bytea, false, name); } } else if (network == NetworkMode.Online) { foreach (FileMetaInfo info in meta.Files) { try { ApiFileResponse resp = await FormService.Instance.GetFile(info.FileCategory, $"{info.FileRefId + AUDIO_TYPE}"); if (resp != null && resp.HasContent) { string name = Guid.NewGuid().ToString("N"); uploadedFiles.Add(name); this.AddAudioFrame(resp.Bytea, false, name); } } catch (Exception ex) { EbLog.Error("GetFile api error ::" + ex.Message); } } } }
public async void SetValue(object value) { if (value == null) { this.Source = ImageSource.FromFile("image_avatar.jpg"); return; } string refid = value.ToString().Split(CharConstants.COMMA)[0]; string fileName = $"{App.Settings.ISid}-{refid}.jpg"; try { byte[] file = DataService.Instance.GetLocalFile(fileName); if (file == null) { ApiFileResponse resp = await this.GetImageAsync($"{refid}.jpg"); if (resp.HasContent) { this.Source = ImageSource.FromStream(() => { return(new MemoryStream(resp.Bytea)); }); this.CacheImage(fileName, resp.Bytea); } } else { this.Source = ImageSource.FromStream(() => { return(new MemoryStream(file)); }); } } catch (Exception) { this.Source ??= ImageSource.FromFile("image_avatar.jpg"); EbLog.Error("failed to load image"); } }