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);
        }
Esempio n. 2
0
        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);
                    }
                }
            }
        }
Esempio n. 3
0
        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);
                    }
                }
            }
        }
Esempio n. 6
0
        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");
            }
        }