//Following is placeholder code public ApiResponse <Operator, ApiData> GetOperator() { var respVm = AuthIntegration.GetOperator(); var apiResp = new ApiResponse <Operator, ApiData> { BusinessMetadata = MapperHelper.SetResponseProperties(null, DataSource.Operator), ResponseData = respVm }; return(apiResp); }
public void ExceedsTransactionalLimit(SessionType tranType, decimal tranAmount) { if (tranAmount == 0m) { return; } var transactionalLimits = AuthIntegration.GetTransactionalLimits(); bool exceedsTransactionalLimit; switch (tranType) { case SessionType.SEND: exceedsTransactionalLimit = transactionalLimits.MaxSendAmount != null && tranAmount > transactionalLimits.MaxSendAmount; break; case SessionType.RCV: exceedsTransactionalLimit = transactionalLimits.MaxReceiveAmount != null && tranAmount > transactionalLimits.MaxReceiveAmount; break; case SessionType.BP: exceedsTransactionalLimit = transactionalLimits.MaxBillPayAmount != null && tranAmount > transactionalLimits.MaxBillPayAmount; break; case SessionType.SREV: exceedsTransactionalLimit = transactionalLimits.MaxSendCancellationAmount != null && tranAmount > transactionalLimits.MaxSendCancellationAmount; break; case SessionType.RREV: exceedsTransactionalLimit = transactionalLimits.MaxReceiveCancellationAmount != null && tranAmount > transactionalLimits.MaxReceiveCancellationAmount; break; case SessionType.AMD: exceedsTransactionalLimit = transactionalLimits.MaxAmendAmount != null && tranAmount > transactionalLimits.MaxAmendAmount; break; default: exceedsTransactionalLimit = false; break; } if (exceedsTransactionalLimit) { throw new TransactionalLimitsException(); } }
public static ReportResponse <T> Create <T>(ReportType reportType, ReportRequest reportRequest) { var agentId = reportRequest.Locations?.First(); var agentName = AuthIntegration.GetAgentName(); var reportName = reportType == ReportType.DailyTranDetail ? ReportConstants.Common.DETAIL_REPORT_NAME : ReportConstants.Common.SUMMARY_REPORT_NAME; return(new ReportResponse <T> { Name = reportName, ReportDateTime = DateTime.UtcNow, Metadata = new ReportMetadata { ActivityDate = DateTime.Parse(reportRequest.StartDate), AgentId = agentId, AgentName = agentName } }); }
public AcApiResponse <SendValidationResponse, ReceiptsApiData> SendValidation(SendValidationRequest req) { //Create request business object for agent connect service call req.PrimaryReceiptLanguage = AuthIntegration.GetAgentPrimaryReceiptLanguage(); req.SecondaryReceiptLanguage = AuthIntegration.GetAgentSecondaryReceiptLanguage(); // AgentConnect sendValidation call for SEND var resp = _agentConnectIntegration.SendValidation(req); // Process Receipt var additionalData = ReceiptHelper.GenerateAdditionalDataReceipts(resp.Payload?.Receipts, _receiptIntegration); // Return Response View Model var apiResp = new AcApiResponse <SendValidationResponse, ReceiptsApiData> { BusinessMetadata = MapperHelper.SetResponseProperties(resp.Payload?.Flags, DataSource.AgentConnect), ResponseData = resp, AdditionalData = additionalData }; return(apiResp); }
public DwRegisterDeviceRespVm DwRegisterDevice(DwRegisterDeviceReqVm registerDeviceReqVm) { var dwInitialreq = new DwInitialSetupRequest { DeviceID = registerDeviceReqVm.DeviceId, Password = registerDeviceReqVm.SetupPin, ClientSoftwareVersion = registerDeviceReqVm.ClientSoftwareVersion, PoeType = registerDeviceReqVm.PoeType, ChannelType = registerDeviceReqVm.ChannelType, TargetAudience = registerDeviceReqVm.TargetAudience }; var dwSetup = DwInitialSetup(dwInitialreq); var xDoc = XDocument.Parse(dwSetup.ResponseData.Payload.Profile); registerDeviceReqVm.MgiDeviceSession = registerDeviceReqVm.MgiDeviceSession; registerDeviceReqVm.PosUnitProfileId = int.Parse(GetValue(xDoc, "PROFILE_ID").FirstOrDefault().Value); var dwregisterDeviceReqVm = registerDeviceReqVm.ToModel(); var resp = openIdmIntegration.RegisterDevice(dwregisterDeviceReqVm); return(new DwRegisterDeviceRespVm { AgentLocationId = AuthIntegration.GetAgent().AgentId, MainOfficeId = AuthIntegration.GetMainOfficeId(), AgentName = resp == true?GetValue(xDoc, "AGENT_NAME").FirstOrDefault().Value : string.Empty, AgentAddress1 = resp == true?GetValue(xDoc, "AGENT_ADDRESS_1").FirstOrDefault().Value : string.Empty, AgentAddress2 = resp == true?GetValue(xDoc, "AGENT_ADDRESS_2").FirstOrDefault().Value : string.Empty, AgentAddress3 = resp == true?GetValue(xDoc, "AGENT_ADDRESS_3").FirstOrDefault().Value : string.Empty, AgentCity = resp == true?GetValue(xDoc, "AGENT_CITY").FirstOrDefault().Value : string.Empty, AgentState = resp == true?GetValue(xDoc, "AGENT_STATE").FirstOrDefault().Value : string.Empty, AgentZip = resp == true?GetValue(xDoc, "AGENT_ZIP").FirstOrDefault().Value : string.Empty, AgentPhoneNumber = resp == true?GetValue(xDoc, "AGENT_PHONE").FirstOrDefault().Value : string.Empty, AgentCountry = resp == true?GetValue(xDoc, "AGENT_COUNTRY").FirstOrDefault().Value : string.Empty, AgentTimeZone = resp == true?GetValue(xDoc, "AGENT_TIME_ZONE").FirstOrDefault().Value : string.Empty, Success = resp }); }
public AcApiResponse <ComplianceTransactionResponse, ApiData> ComplianceTransaction( ComplianceTransactionRequest req) { var deviceId = AuthIntegration.GetDeviceId(); foreach (var moneyOrder in req.MoneyOrder) { if (deviceId != moneyOrder.DeviceID) { logger.Info(string.Format("The DeviceId {0} does not match the logged in DeviceId {1}", deviceId, moneyOrder.DeviceID)); throw new InvalidDeviceException(); } } var resp = agentConnectIntegration.ComplianceTransaction(req); var apiResp = new AcApiResponse <ComplianceTransactionResponse, ApiData> { BusinessMetadata = MapperHelper.SetResponseProperties(resp.Payload?.Flags, DataSource.AgentConnect), ResponseData = resp }; return(apiResp); }
public TransactionExceedInfoResponse GetTransactionExceedInfo(TransactionExceedInfoRequest transactionExceedInfoRequest) { transactionExceedInfoRequest.AgentId = Convert.ToDecimal(AuthIntegration.GetAgent().AgentId); return(_partnerServiceRepository.GetTransactionExceedInfo(transactionExceedInfoRequest)); }
public UserIdExistsResponse GetUserIdExists(UserIdExistsRequest userIdExistsRequest) { userIdExistsRequest.MainofficeId = Convert.ToDecimal(AuthIntegration.GetMainOfficeId()); return(_partnerServiceRepository.GetUserIdExists(userIdExistsRequest)); }
public UserReportsInfoResponseList GetUserReportsInfo(UserReportsInfoRequest getUserReportsInfoRequest) { getUserReportsInfoRequest.MainOfficeId = System.Convert.ToDecimal(AuthIntegration.GetMainOfficeId()); return(_partnerServiceRepository.GetUserReportsInfo(getUserReportsInfoRequest)); }
public ApiResponse <LocationResVm, ApiData> GetLocations() { LocationResVm result = new LocationResVm(); List <AgentVm> mainOfficeLocations = new List <AgentVm>(); List <AgentVm> searchedLocationsWithMO = new List <AgentVm>(); List <AgentVm> searchedLocationsExternal = new List <AgentVm>(); AgentVm mainOfficeAgent = GetMainOfficeAgent(); //Get all the lcoations for mainoffice(exluding mainoffice agent) mainOfficeLocations = LocationsForMainOffice(_authUser.MainOfficeAgentId); searchedLocationsWithMO.Add(mainOfficeAgent); searchedLocationsWithMO.AddRange(mainOfficeLocations); if (AuthIntegration.GetMainOfficeId().ToString() != string.Empty && _authUser.Status.Equals(UserStatus.External) && _authUser.UserAgentList != null && _authUser.UserAgentList.Count != 0) { UserAgentActivity userAgent = (_authUser.UserAgentList != null ? _authUser.UserAgentList.FirstOrDefault() : new UserAgentActivity()); // if user has access to all locations if (_authUser.AllLocationsAllowed) { searchedLocationsExternal = LocationsForMainOffice(_authUser.MainOfficeAgentId).ToList(); } //// if user is main office user and has the AgentAssistfunctionality else if (IsUserAgentAssistFuncionality(_authUser) && userAgent.AgentId.Equals(AuthIntegration.GetMainOfficeId())) { searchedLocationsExternal = searchedLocationsWithMO; } else { // if user is either sublevel or location user then foreach (UserAgentActivity u in _authUser.UserAgentList) { var agent = mainOfficeLocations.Find(ag => ag.id.ToString() == u.AgentId); if (agent != null) { if ((HierarchyLevel)agent.hierarchyLevel == HierarchyLevel.SubLevel) { //passing the agentid inplace of the sublevelagentid field var locations = LocationsForMainOffice(_authUser.MainOfficeAgentId, agent.id); searchedLocationsExternal.AddRange(locations); } else { searchedLocationsExternal.Add(agent); } } } } result.Agents = searchedLocationsExternal; } else { result.Agents = searchedLocationsWithMO; } return(new ApiResponse <LocationResVm, ApiData> { ResponseData = result, BusinessMetadata = MapperHelper.SetResponseProperties(null, DataSource.PartnerService) }); }
public AcApiResponse <EditTransferTransactionResponse, ApiData> TransactionLookup(TransactionLookupRequest transactionLookupRequest) { var respVm = new EditTransferTransactionResponse(); var respPayload = new EditTransferTransactionResponsePayload(); ApiResponse <TransactionLookupResponse, ApiData> respAmend = null; ApiResponse <TransactionLookupResponse, ApiData> respSendReversal = null; ApiResponse <TransactionLookupResponse, ApiData> respReceiveReversal = null; int?flags = null; var apiErrors = new Dictionary <string, string>(); var productAuthorizations = AuthIntegration.GetProductAuthorizations(); if (productAuthorizations.CanAmend) { transactionLookupRequest.PurposeOfLookup = PurposeOfLookup.Amend; respAmend = ExecuteTransactionLookup(transactionLookupRequest); respPayload.AmendTransactionLookupResponse = respAmend; if (respAmend.ApiErrors != null) { foreach (var errItem in respAmend.ApiErrors) { apiErrors.Add(errItem.Key, errItem.Value); } } } if (productAuthorizations.CanSendReversal) { transactionLookupRequest.PurposeOfLookup = PurposeOfLookup.SendReversal; respSendReversal = ExecuteTransactionLookup(transactionLookupRequest); respPayload.SendReversalTransactionLookupResponse = respSendReversal; if (respSendReversal.ApiErrors != null) { foreach (var errItem in respSendReversal.ApiErrors) { apiErrors.Add(errItem.Key, errItem.Value); } } } if (productAuthorizations.CanReceiveReversal) { transactionLookupRequest.PurposeOfLookup = PurposeOfLookup.ReceiveReversal; respReceiveReversal = ExecuteTransactionLookup(transactionLookupRequest); respPayload.ReceiveReversalTransactionLookupResponse = respReceiveReversal; if (respReceiveReversal.ApiErrors != null) { foreach (var errItem in respReceiveReversal.ApiErrors) { apiErrors.Add(errItem.Key, errItem.Value); } } } // if (respAmend?.ResponseData?.Payload == null && respSendReversal?.ResponseData?.Payload == null && respReceiveReversal?.ResponseData?.Payload == null) { respVm.EditTransferTransactionResponsePayload = null; respVm.Errors = new List <BusinessError>(); if (respAmend?.ResponseData?.Errors != null) { respVm.Errors.AddRange(respAmend.ResponseData.Errors); } if (respSendReversal?.ResponseData?.Errors != null) { respVm.Errors.AddRange(respSendReversal.ResponseData.Errors); } if (respReceiveReversal?.ResponseData?.Errors != null) { respVm.Errors.AddRange(respReceiveReversal.ResponseData.Errors); } } else { respVm.EditTransferTransactionResponsePayload = new EditTransferTransactionResponsePayload(); respVm.EditTransferTransactionResponsePayload.AmendTransactionLookupResponse = respAmend; respVm.EditTransferTransactionResponsePayload.SendReversalTransactionLookupResponse = respSendReversal; respVm.EditTransferTransactionResponsePayload.ReceiveReversalTransactionLookupResponse = respReceiveReversal; respVm.EditTransferTransactionResponsePayload.Flags = flags.GetValueOrDefault(); } var apiResp = new AcApiResponse <EditTransferTransactionResponse, ApiData> { BusinessMetadata = MapperHelper.SetResponseProperties(flags, DataSource.Lookup), ResponseData = respVm, ApiErrors = apiErrors.Any() ? apiErrors : null }; return(apiResp); }