public async Task <bool> PersonalTraceOrder(string FirstName, string Surname, string IDNumber, string ProductID, string AddressLine1, string AddressLine2, string Suburb, string DateOfBirth, string ContactNo) { result = false; UserModel user = Session["User"] as UserModel; string userID = user.UserID.ToString(); TransunionRequest.IndividualTraceSearchRequest request = new TransunionRequest.IndividualTraceSearchRequest { Forename = FirstName, Surname = Surname, IDNo = IDNumber, AddressLine1 = AddressLine1, AddressLine2 = AddressLine2, Suburb = Suburb, DateOfBirth = DateOfBirth //CellNo = ContactNo }; result = await new TransUnionConsumer().IndividualTraceSearchAsync(request, userID, 2); SaveAudit("You requested a Personal Trace report.", user.UserID); return(result); }
public async Task <bool> IndividualTraceSearchAsync(TransunionRequest.IndividualTraceSearchRequest Request, string UserID, int ProductID) { startDate = DateTime.Now; log = new Logger(); try { var config = new MapperConfiguration( cfg => { cfg.CreateMap <IndividualTraceSearchRequest, IndividualTraceSearchInput>() .ForMember(x => x.TicketNumber, y => y.MapFrom(z => z.TicketNo)) .ForMember(x => x.ReportNumber, y => y.MapFrom(z => z.ReportNo)) .ForMember(x => x.UserEmail, y => y.MapFrom(z => z.Email)) .ForMember(x => x.ConsumerNumber, y => y.MapFrom(z => z.ConsumerNo)) .ForMember(x => x.TelephoneAreaCode, y => y.MapFrom(z => z.PhoneCode)) .ForMember(x => x.TelephoneNumber, y => y.MapFrom(z => z.TelNo)) .ForMember(x => x.CellNumber, y => y.MapFrom(z => z.CellNo)) .ForMember(x => x.AddressStreetNumber, y => y.MapFrom(z => z.StreetAddress)) .ForMember(x => x.AddressSuburb, y => y.MapFrom(z => z.Suburb)) .ForMember(x => x.AddressTown, y => y.MapFrom(z => z.Town)) .ForMember(x => x.AddressPostalCode, y => y.MapFrom(z => z.PostalCode)) .ForMember(x => x.IdentityNumber, y => y.MapFrom(z => z.IDNo)) .ForMember(x => x.DateOfBirth, y => y.MapFrom(z => z.DateOfBirth));; } ); var mapper = config.CreateMapper(); var individualTrace = mapper.Map <IndividualTraceSearchInput>(Request); individualTrace.SubscriberCode = subNo; individualTrace.SecurityCode = securityCode; individualTrace.SearchType = "01"; individualTrace.SearchReason = "61"; /* Begin Proxy code*/ //BasicHttpBinding binding = new BasicHttpBinding("ConsumerSoap"); //binding.Security.Mode = BasicHttpSecurityMode.Transport; //binding.Security.Transport.ProxyCredentialType = HttpProxyCredentialType.Basic; //binding.UseDefaultWebProxy = false; //binding.ProxyAddress = new Uri("http://proxy.ntcweb.co.za:8080"); //EndpointAddress endpoint = new EndpointAddress("https://securetest.transunion.co.za/TUBureau118/Consumer.asmx"); //ConsumerSoapClient soap = new ConsumerSoapClient(binding, endpoint); //soap.ClientCredentials.UserName.UserName = "******"; //soap.ClientCredentials.UserName.Password = "******"; //var response = await soap.ProcessRequestIndividualTraceSearchInputAsync(individualTrace); /*End Proxy Code*/ var response = await client.ProcessRequestIndividualTraceSearchInputAsync(individualTrace); result = response.ErrorCode == null ? true : false; if (result) { string ticketno = string.Empty; string consumerno = string.Empty; if (response.TraceInformationTI != null) { ticketno = response.TraceInformationTI[0].OTicketNumber; } if (response.TraceDetailsTD != null) { consumerno = response.TraceDetailsTD[0].OConsumerNumber; } TransunionRequest.TraceOrder68Request trace68 = new TraceOrder68Request { TicketNo = ticketno, ConsumerNo = consumerno, IDNo1 = individualTrace.IdentityNumber, AddressLine1 = individualTrace.AddressLine1, AddressLine2 = individualTrace.AddressLine2, Suburb = individualTrace.AddressSuburb, CellNo = Request.CellNo }; var products = await PersonalTraceOrder(trace68, UserID, ProductID); } else { log.LogError(UserID, "DataSolutions.Services", "TransunionAPIController.IndividualTraceSearchAsync", response.ErrorCode + " " + response.ErrorMessage); } //Save Transaction endDate = DateTime.Now; transData = new TransactionModel.TransactionData { EndDate = endDate, IsSuccessful = result, Message = response.ErrorMessage, ProductID = ProductID, StartDate = startDate, UserID = Convert.ToInt32(UserID) }; SaveTransaction(transData); result = true; } catch (Exception ex) { log.LogError(UserID, "DataSolutions.Services", "TransunionAPIController,IndividualTraceSearchAsync", ex.Message); } return(result); }