コード例 #1
0
ファイル: ProgramTest.cs プロジェクト: rotovibe/engage
        public void GetProgramByID()
        {
            GetProgramRequest request = new GetProgramRequest {
                ProgramID = "5"
            };

            GetProgramResponse response = pm.GetProgramByID(request);

            Assert.IsTrue(response.Program.ProgramID == "Tony");
        }
コード例 #2
0
        public async Task <GetProgramResponse> GetProgramAsync(string condition, ColumnValue[] columnValues, Column[] columns, CancellationToken cancellationToken = default)
        {
            try
            {
                var request     = new GetProgramRequest(_options.CustomerRelationshipManagementOperations.RequestSourceName, condition, columnValues, columns);
                var requestXml  = request.BuildRequestDocument();
                var responseXml = await _executor.ExecuteAsync(requestXml, cancellationToken);

                return(new GetProgramResponse(requestXml, responseXml));
            }
            catch (OracleHospitalityClientException)
            {
                throw;
            }
            catch (Exception e)
            {
                throw new OracleHospitalityClientException($"{RequestCode.Kind.GetProgram} operation failed", e);
            }
        }
コード例 #3
0
ファイル: DataProgramManager.cs プロジェクト: rotovibe/engage
        public GetProgramResponse GetProgramByID(GetProgramRequest request)
        {
            try
            {
                GetProgramResponse programResponse = new GetProgramResponse();
                DTO.Program        result;

                IProgramRepository repo = Factory.GetRepository(request, RepositoryType.Program);

                result = repo.FindByID(request.ProgramID) as DTO.Program;

                programResponse.Program = result;
                return(programResponse != null ? programResponse : new GetProgramResponse());
            }
            catch (Exception ex)
            {
                throw new Exception("DD:DataProgramManager:GetProgramByID()::" + ex.Message, ex.InnerException);
            }
        }
コード例 #4
0
ファイル: ProgramService.cs プロジェクト: rotovibe/engage
        public GetProgramResponse Post(GetProgramRequest request)
        {
            GetProgramResponse response = new GetProgramResponse();

            try
            {
                if (string.IsNullOrEmpty(request.UserId))
                {
                    throw new UnauthorizedAccessException("ProgramDD:Post()::Unauthorized Access");
                }

                response         = ProgramDataManager.GetProgramByID(request);
                response.Version = request.Version;
            }
            catch (Exception ex)
            {
                CommonFormatterUtil.FormatExceptionResponse(response, base.Response, ex);

                string aseProcessID = ConfigurationManager.AppSettings.Get("ASEProcessID") ?? "0";
                Helpers.LogException(int.Parse(aseProcessID), ex);
            }
            return(response);
        }
コード例 #5
0
        public void request_generation()
        {
            const string expected = @"
                <CRMMessage language=""en_US"" currency=""DKK"">
                  <RequestSource name=""acme.com"" version=""1"" />
                  <RequestCode>GetProgram</RequestCode>
                  <QueryCriteria conditions=""programid = ?"">
                    <Condition name=""programid"" value=""123"" />
                  </QueryCriteria>
                  <ResultSetDefinition>
                    <Column>programcode</Column>
                  </ResultSetDefinition>
                </CRMMessage>";

            var request =
                new GetProgramRequest(
                    "acme.com",
                    "programid = ?",
                    new[] { new ColumnValue("programid", "123") },
                    new[] { new Column("programcode") });
            var requestXml = request.BuildRequestDocument();

            Assert.Equal(XE.Parse(expected).ToString(), requestXml.ToString());
        }