Пример #1
0
        public async Task <bool> GetFileName(string UserName, string AppID, string OS)
        {
            var param       = new GetFileNameRM(UserName, AppID, OS);
            var responseDto = await _sgService
                              .GetFileName(Priority.UserInitiated, param)
                              .ConfigureAwait(false);

            if (responseDto != null)
            {
                if (responseDto.dbFileNames != null && responseDto.dbFileNames.Count() != 0)
                {
                    foreach (var fileNameInfo in responseDto.dbFileNames)
                    {
                        if (fileNameInfo.file_Type == "Audit_DB")
                        {
                            var auditFileInfo = new DBFileInfo();
                            auditFileInfo.ConvertFromFileInfoDto(fileNameInfo);
                            Globals.AuditDBInfo = auditFileInfo;
                        }
                        else if (fileNameInfo.file_Type == "Master_DB")
                        {
                            var masterFileInfo = new DBFileInfo();
                            masterFileInfo.ConvertFromFileInfoDto(fileNameInfo);
                            Globals.MasterDBInfo = masterFileInfo;
                        }
                    }

                    Globals.GetFileNameResult = GetFileNameResultType.Success;
                    return(true);
                }
                else
                {
                    Globals.GetFileNameResult = GetFileNameResultType.Error;
                    return(false);
                }
            }

            Globals.GetFileNameResult = GetFileNameResultType.Error;
            return(false);
        }
Пример #2
0
        public async Task <GetFileNameDto> GetFileName(Priority priority, GetFileNameRM param)
        {
            GetFileNameDto        response = null;
            Task <GetFileNameDto> getTask;

            switch (priority)
            {
            case Priority.Background:
                getTask = _apiService.Background.GetFileName(param);
                break;

            case Priority.UserInitiated:
                getTask = _apiService.UserInitiated.GetFileName(param);
                break;

            case Priority.Speculative:
                getTask = _apiService.Speculative.GetFileName(param);
                break;

            default:
                getTask = _apiService.UserInitiated.GetFileName(param);
                break;
            }

            if (CrossConnectivity.Current.IsConnected)
            {
                response = await Policy
                           .Handle <Exception>()
                           .WaitAndRetryAsync
                           (
                    retryCount: 5,
                    sleepDurationProvider: retryAttempt => TimeSpan.FromSeconds(Math.Pow(2, retryAttempt))
                           )
                           .ExecuteAsync(async() => await getTask);
            }

            return(response);
        }