public async Task <UsageReportResponse> Execute(UsageReportRequest usageReportRequest) { if (!CRMFactory.ValidateUsageReportRequest(usageReportRequest)) { throw new UsageReportRequestException("Start date must be before end date"); } var token = await _crmTokenGateway.GetCRMToken(); var uniqueAnonymousUsers = await _crmGateway.GetUniqueAnonymousUsers(usageReportRequest, token); var totalAnonymousLogins = await _crmGateway.GetTotalAnonymousLogins(usageReportRequest); var uniqueCSSOUsers = await _crmGateway.GetUniqueCSSOUsers(usageReportRequest); var totalCSSOLogins = await _crmGateway.GetTotalCSSOLogins(usageReportRequest); var newCSSOLinkedAccounts = await _crmGateway.GetNewCSSOLinkedAccounts(usageReportRequest); var totalLogins = await _crmGateway.GetTotalLogins(usageReportRequest); return(new UsageReportResponse { StartDate = usageReportRequest.StartDate.ToString("yyyy-MM-dd"), EndDate = usageReportRequest.EndDate.ToString("yyyy-MM-dd"), UniqueAnonymousUsers = uniqueAnonymousUsers, TotalAnonymousLogins = totalAnonymousLogins, UniqueCSSOUsers = uniqueCSSOUsers, TotalCSSOLogins = totalCSSOLogins, NewCSSOLinkedAccounts = newCSSOLinkedAccounts, TotalLogins = totalLogins }); }
public async Task <CreateLinkedAccountResponse> Execute(CreateLinkedAccountRequest createLinkedAccountRequest) { var token = await _crmTokenGateway.GetCRMToken(); //GetAccountID from crm var crmAccountID = await _crmGateway.GetCrmAccountId(createLinkedAccountRequest.AccountNumber, token); //Create linked account if (crmAccountID == null) { return(null); } //Return linked account ID var linkedAccountID = await _crmGateway.CreateLinkedAccount(crmAccountID, createLinkedAccountRequest.CssoId); if (linkedAccountID == null) { return(null); } return(new CreateLinkedAccountResponse { LinkedAccountId = linkedAccountID }); }
public async Task <CheckAccountExistsResponse> Execute(string paymentReference, string postCode) { var normalizedPostcode = CRMFactory.NormalizePostcode(postCode); var token = await _crmTokenGateway.GetCRMToken(); var accountExistsResponse = await _crmGateway.CheckAccountExists(paymentReference, normalizedPostcode, token); return(accountExistsResponse); }
public async Task <RentAccountResponse> Execute(string paymentReference, bool privacy) { var token = await _crmTokenGateway.GetCRMToken(); var crmResponse = await _crmGateway.GetRentAccount(paymentReference, token); var rentAccountResponse = crmResponse.value.Count > 0 ? CRMFactory.ToRentAccountResponse(paymentReference, crmResponse, privacy) : null; return(rentAccountResponse); }
public async Task <LinkedAccountResponse> Execute(string cssoId) { var token = await _crmTokenGateway.GetCRMToken(); var crmResponse = await _crmGateway.GetLinkedAccount(cssoId, token); var linkedAccountResponse = crmResponse.value.Count > 0 ? CRMFactory.ToLinkedAccountResponse(crmResponse) : null; return(linkedAccountResponse); }
public async Task <AddResidentAuditResponse> CreateResidentAudit(CreateResidentAuditRequest residentAuditRequest) { var token = await _crmTokenGateway.GetCRMToken(); var residentAuditResponse = await _crmGateway.GenerateResidentAuditRecord(AuditFactory.ToResidentAuditRequest(residentAuditRequest), token); var addResidentAuditResponse = new AddResidentAuditResponse { success = residentAuditResponse }; return(addResidentAuditResponse); }
public async Task <DeleteLinkedAccountResponse> Execute(string cssoId) { var token = await _crmTokenGateway.GetCRMToken(); var crmResponse = await _crmGateway.GetLinkedAccount(cssoId, token); if (crmResponse == null || crmResponse.value.Count == 0) { return(null); } var linkId = crmResponse.value[0].hackney_csso_linked_rent_accountid; var crmDeleteResponse = await _crmGateway.DeleteLinkedAccount(linkId); var deleteLinkedAccountResponse = new DeleteLinkedAccountResponse { success = crmDeleteResponse }; return(deleteLinkedAccountResponse); }