// [Route("api/v4/customer/KeyValuePair")] public IHttpActionResult GetV2(KeyValueParameter getParameters) { try { // Get the correct strategy via indexed DI resoloution IGetRequestProcess keyValuePair = _strategyProcesses[GetRequestProcessImplementations.KeyValuePairV2]; getParameters.AccessControl = _clientScopeService.VerifyUserHasAccessToGroupCode(getParameters.AccessControl, Scope.CUSTOMER_RETRIEVE_KVPAIR); object output = keyValuePair.Execute(getParameters); return(Ok(output)); } catch (Exception exception) { if (_logParameterValue) { _logger.Error($"CustomerGetKeyValuePairv2: ErrorTag: {ErrorTagProvider.ErrorTagDatabase} -- {exception.Message}"); _logger.Error( $"Parameters CustomerGetKeyValuePairv2:- Name=Key={getParameters.KeyValue.Key}, Value={getParameters.KeyValue.Value}"); } return(ResponseMessage(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, exception.Message))); } }
public IHttpActionResult Get(KeyValueParameter getParameters) { try { // Use indexed DI resoloution IGetRequestProcess keyValuePair = _strategyProcesses[GetRequestProcessImplementations.KeyValuePair]; //KeyValuePairStrategy keyValuePair = new KeyValuePairStrategy(getParameters, _mailingHistoryService, // _mciRequestService, _clientScopeService, _logger, _permissionsService, _membershipService, // _customerDetailsService, _travelSummaryService, _customerMatchService, // _membershipFlagsKeyValueReader // ); getParameters.AccessControl = _clientScopeService.VerifyUserHasAccessToGroupCode(getParameters.AccessControl, Scope.CUSTOMER_RETRIEVE_KVPAIR); object output = keyValuePair.Execute(getParameters); return(Ok(output)); } catch (Exception exception) { if (_logParameterValue) { _logger.Error($"MembershipGetKeyValuePair: ErrorTag: {ErrorTagProvider.ErrorTagDatabase} -- {exception.Message}"); _logger.Error( $"Parameters PermissionLoad:- Name=Key={getParameters.KeyValue.Key}, Value={getParameters.KeyValue.Value}"); } return(ResponseMessage(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, exception.Message))); } }
public IHttpActionResult Post(NameAndAddressParameter parameter) { try { // Use indexed DI resoloution IGetRequestProcess nameAndAddress = _strategyProcesses[GetRequestProcessImplementations.NameAndAddress]; //NameAndAddressStrategy nameAndAddress = new NameAndAddressStrategy(parameter, _mailingHistoryService, // _mciRequestService, _clientScopeService, _logger, _permissionsService, _membershipService, // _customerMatchService, _customerDetailsService, _travelSummaryService); parameter.AccessControl = _clientScopeService.VerifyUserHasAccessToGroupCode(parameter.AccessControl, Scope.CUSTOMER_RETRIEVE_NAMEADDR); object output = nameAndAddress.Execute(parameter); return(Ok(output)); } catch (Exception exception) { if (_logParameterValue) { _logger.Error($"PermissionGet: ErrorTag: {ErrorTagProvider.ErrorTagDatabase} -- {exception.Message}"); _logger.Error( $"Parameters PermissionLoad:- Name=FirstName={parameter.NameAndAddress.FirstName}, LastName={parameter.NameAndAddress.Surname}, Dob={parameter.NameAndAddress.Dob}, " + $" Address=AddresLine1={ parameter.NameAndAddress.Address.Address1 ?? ""}, AddressLine2={parameter.NameAndAddress.Address.Address2 ?? ""}, AddressLine3={parameter.NameAndAddress.Address.Address3 ?? ""}, " + $" AddressLine4={parameter.NameAndAddress.Address.Address4 ?? ""}, PostCode={parameter.NameAndAddress.Address.Postcode ?? ""}"); } //return Ok(exception); return(ResponseMessage(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, exception.Message))); } }
public IHttpActionResult PostV2(NameAndAddressParameter parameter) { try { // Use indexed DI resoloution for V2 strategy IGetRequestProcess nameAndAddress = _strategyProcesses[GetRequestProcessImplementations.NameAndAddressV2]; parameter.AccessControl = _clientScopeService.VerifyUserHasAccessToGroupCode(parameter.AccessControl, Scope.CUSTOMER_RETRIEVE_NAMEADDR); object output = nameAndAddress.Execute(parameter); return(Ok(output)); } catch (Exception exception) { if (_logParameterValue) { _logger.Error($"NameAndAddress: ErrorTag: {ErrorTagProvider.ErrorTagDatabase} -- {exception.Message}"); _logger.Error( $"Parameters NameAndAddress:- Name=FirstName={parameter.NameAndAddress.FirstName}, LastName={parameter.NameAndAddress.Surname}, Dob={parameter.NameAndAddress.Dob}, " + $" Address=AddresLine1={ parameter.NameAndAddress.Address.Address1 ?? ""}, AddressLine2={parameter.NameAndAddress.Address.Address2 ?? ""}, AddressLine3={parameter.NameAndAddress.Address.Address3 ?? ""}, " + $" AddressLine4={parameter.NameAndAddress.Address.Address4 ?? ""}, PostCode={parameter.NameAndAddress.Address.Postcode ?? ""}"); } //return Ok(exception); return(ResponseMessage(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, exception.Message))); } }
public ProcessRequestContext(GetParameters parameters, IMailingHistoryService mailingHistoryService, IMciRequestService mciRequestService, IClientScopeService clientScopeService, ILog logger, IPermissionService permissionsService, IMembershipService membershipService) { _parameters = parameters; _mailingHistoryService = mailingHistoryService; _mciRequestService = mciRequestService; _clientScopeService = clientScopeService; _logger = logger; _permissionsService = permissionsService; _membershipService = membershipService; Assembly assembly = Assembly.GetExecutingAssembly(); var types = assembly.GetTypes(); var processType = types.Where(x => x.GetInterface("IGetRequestProcess") != null).ToList(); var callingObj = processType.SingleOrDefault(x => x.Name.ToLower() == $"{parameters.ProcessStrategy}Strategy".ToLower()); if (callingObj == null) { _logger.Error( "NameAndAddressStrategy: " + "ErrorTag: " + ErrorTagProvider.ErrorTag + " -- " + $"'{typeof(IGetRequestProcess).Assembly.FullName.ToLower()}" + "Strategy\' is not implemented"); throw new ArgumentException($"'{typeof(IGetRequestProcess).Assembly.FullName.ToLower()}" + "Strategy\' is not implemented"); } GetRequestProcess = (IGetRequestProcess) Activator.CreateInstance(callingObj, _parameters, _mailingHistoryService, _mciRequestService, _clientScopeService, _logger, _permissionsService, _membershipService); }
public IHttpActionResult Post(PermissionsCustomerLoad permissions) { try { var mappedPermissions = Mapper.Map <WebApiServices.Models.Gdpr.PermissionsCustomerLoadModel>(permissions); var processPermission = new ProcessPermission(null, _permissionsService, _mciRequestService, _logger, null); var message = processPermission.AddOrUpdateCustomerPermission(mappedPermissions); //Post show return summary instead of message if the load is successfully if (string.Compare(DatabaseMessage.PermissionsCreated, message, StringComparison.CurrentCultureIgnoreCase) == 0) { if ((!string.IsNullOrWhiteSpace(permissions.CustomerNameAndAddress.FirstName)) && (!string.IsNullOrWhiteSpace(permissions.CustomerNameAndAddress.Surname)) && (permissions.CustomerNameAndAddress.Address != null)) { NameAndAddressParameter parameter = new NameAndAddressParameter() { NameAndAddress = permissions.CustomerNameAndAddress, ResponseRequestedItems = new List <string>() { ReturnMeTypeConstant.Permissions.ToString() } }; parameter.ReturnMe = new ReturnMe() { Permissions = new ReturnMePermissions { Required = true, Journey = permissions.JourneyType, ResponseParameter = GdprResponseType.Summary.ToString(), PermissionParameter = "All", MatchType = Saga.Gmd.WebApiServices.Common.MatchType.POSTCODE_AND_NAME.ToString() } }; parameter.NameAndAddress.MatchType = Saga.Gmd.WebApiServices.Common.MatchType.POSTCODE_AND_NAME .ToString(); // Use indexed DI resoloution to get the required strategy IGetRequestProcess nameAndAddress = _strategyProcesses[GetRequestProcessImplementations.NameAndAddress]; //NameAndAddressStrategy nameAndAddress = new NameAndAddressStrategy(parameter, // _mailingHistoryService, _mciRequestService, _clientScopeService, _logger, _permissionsService, // _membershipService, _customerMatchService, _customerDetailsService, _travelSummaryService); parameter.AccessControl = _clientScopeService.VerifyUserHasAccessToGroupCode(parameter.AccessControl, Scope.CUSTOMER_PERMISSIONS_RETRIEVE_NAMEADDR); object output = nameAndAddress.Execute(parameter); return(Ok(output)); } else { KeyValueParameter parameter = new KeyValueParameter() { ResponseRequestedItems = new List <string>() { ReturnMeTypeConstant.Permissions.ToString() }, KeyValue = new KeyValue() { Key = "CPCK", Value = permissions.PermissionsId.ToString() } }; parameter.ReturnMe = new ReturnMeForKeyValuePair() { Permissions = new ReturnMePermissions { Required = true, Journey = permissions.JourneyType, ResponseParameter = GdprResponseType.Summary.ToString(), PermissionParameter = "All" } }; // Use indexed DI resoloution to get the required strategy IGetRequestProcess strategy = _strategyProcesses[GetRequestProcessImplementations.PermissionsKeyValuePair]; //PermissionsKeyValuePairStrategy strategy = new PermissionsKeyValuePairStrategy(parameter, _mailingHistoryService, // _mciRequestService, _clientScopeService, // _logger, _permissionsService, // _membershipService, _customerDetailsService, // _travelSummaryService, _customerMatchService); object output = strategy.Execute(parameter); return(Ok(output)); } } return(Ok(message)); } catch (Exception exception) { if (_logParameterValue) { _logger.Error($"PermissionGetNameAndAddress: ErrorTag: {ErrorTagProvider.ErrorTagDatabase} -- {exception.Message}"); _logger.Error( $"Parameters PermissionLoad:- Name=FirstName={permissions.CustomerNameAndAddress.FirstName}, LastName={permissions.CustomerNameAndAddress.Surname}, Dob={permissions.CustomerNameAndAddress.Dob}, " + $" Address=AddresLine1={ permissions.CustomerNameAndAddress.Address.Address1 ?? ""}, AddressLine2={permissions.CustomerNameAndAddress.Address.Address2 ?? ""}, AddressLine3={permissions.CustomerNameAndAddress.Address.Address3 ?? ""}, " + $" AddressLine4={permissions.CustomerNameAndAddress.Address.Address4 ?? ""}, PostCode={permissions.CustomerNameAndAddress.Address.Postcode ?? ""}"); } return(ResponseMessage(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, exception.Message))); } }