Fraud Compromise Automation System


Technologies Used: 

  • C#
  • LINQ
  • LINQ to SQL
  • Unity
  • MSTest
  • SQL 2005
  • XML
  • XSD
  • SSIS
  • SSRS
  • WCF

Designed, implemented and tested a web based solution to assist Fraud Strategies department in resolving mass credit card compromises. This is used to handle all procedural actions required for closing, notifying and issuing new credit cards to affected accounts. The database was designed to warehouse over 300,000 records per use and give complete action history for report generation. Fourth normal form was used to eliminate database redundancies as-well-as to provide fast data access when processing the 30,000+ accounts required with each use. A windows service was used to host WCF services which were utilized when interacting with other internal bank applications. This allowed for real time updates to the database so the line of business would have accurate and up to date reports. Internally, the business layer utilized several design patterns. A singleton pattern was used to hold a small in memory configuration of how each action should be configured during the automated processing. A strategy pattern, along with dependency injection, was used to decouple the business logic required to carry out each type of action. Use of generics in this process allowed for a strict adherence to both the DRY and single responsibility principles. A gateway pattern and LINQ-2-SQL were used to create the data access layer. Dependency injection was also used, in this layer, to decouple the data access from the business layer completely. This was done using Microsoft Unity Application Blocks. All pieces of the application were unit tested using Rhino Mocks and the Team Foundation Server test framework.