<commit_before>﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.Text;
using System.Threading.Tasks;

namespace PS.Mothership.Core.Common.Dto
{
    [DataContract]
    public class IdentityCheckRequestDto
    {
        [DataMember]
        public PrivateInformationType PersonalInformation { get; set; }
        [DataMember]
        public CurrentAddressType CurrentAddress { get; set; }
        [DataMember]
        public PreviousAddressType PreviousAddress { get; set; }
        [DataMember]
        public bool CreateDocument { get; set; }

    }

    [DataContract]
    public class IdentityCheckResponseDto
    {
        [DataMember]
        public string AuthenticationIndex { get; set; }
        [DataMember]
        public string ExperianReferenceNumber { get; set; }
        [DataMember]
        public bool DidVerificationErrorOccur { get; set; }
        [DataMember]
        public string CustomerNo { get; set; }
        [DataMember]
        public string ErrorMessage { get; set; }
        [DataMember]
        public byte[] FileBytes { get; set; }
        [DataMember]
        public IdentityResultBlock ResultsBlock { get; set; }
    }

    [DataContract]
    public class PrivateInformationType
    {
        [DataMember]
        public string Title { get; set; }
        [DataMember]
        public string ForeName { get; set; }
        [DataMember]
        public string MiddleName { get; set; }
        [DataMember]
        public string Surname { get; set; }
        [DataMember]
        public int DateOfBirthDay { get; set; }
        [DataMember]
        public int DateOfBirthMonth { get; set; }
        [DataMember]
        public int DateOfBirthYear { get; set; }
        [DataMember]
        public Gender Gender { get; set; }
    }

    [DataContract]
    public class CurrentAddressType
    {
        [DataMember]
        public string HouseNumber { get; set; }
        [DataMember]
        public string HouseName { get; set; }
        /// <summary>
        /// this is the street and must be supplied. You can use any alphanumeric character
        /// </summary>
        [DataMember]
        public string Address1 { get; set; }
        /// <summary>
        /// this is the district. You can use any alphanumeric character
        /// </summary>
        [DataMember]
        public string Address2 { get; set; }
        /// <summary>
        /// this is the post town and must be supplied. You can use any alphanumeric character
        /// </summary>
        [DataMember]
        public string Address3 { get; set; }
        /// <summary>
        /// this is the county. You can use any alphanumeric character
        /// </summary>
        [DataMember]
        public string Address4 { get; set; }
        [DataMember]
        public string PostCode { get; set; }

        /// <summary>
        /// first date of occupancy in CCYY-MM-DD format
        /// </summary>
        [DataMember]
        public DateTime ResidentFrom { get; set; }
        /// <summary>
        /// last date of occupancy in CCYY-MM-DD format.
        /// </summary>
        [DataMember]
        public DateTime ResidentTo { get; set; }
    }

    [DataContract]
    public class PreviousAddressType
    {
        [DataMember]
        public string HouseNumber { get; set; }
        [DataMember]
        public string HouseName { get; set; }
        /// <summary>
        /// this is the street and must be supplied. You can use any alphanumeric character
        /// </summary>
        [DataMember]
        public string Address1 { get; set; }
        /// <summary>
        /// this is the district. You can use any alphanumeric character
        /// </summary>
        [DataMember]
        public string Address2 { get; set; }
        /// <summary>
        /// this is the post town and must be supplied. You can use any alphanumeric character
        /// </summary>
        [DataMember]
        public string Address3 { get; set; }
        /// <summary>
        /// this is the county. You can use any alphanumeric character
        /// </summary>
        [DataMember]
        public string Address4 { get; set; }
        [DataMember]
        public string PostCode { get; set; }
        [DataMember]
        public DateTime ResidentFrom { get; set; }
        [DataMember]
        public DateTime ResidentTo { get; set; }
    }

    public enum Gender
    {
        Male,
        Female,
    }

    [DataContract]
    public class IdentityResultBlock
    {
        [DataMember]
        public string AuthenticationIndex { get; set; }<commit_msg>refactoring take 1, based on Sam's feedback.<commit_after>﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.Text;
using System.Threading.Tasks;

namespace PS.Mothership.Core.Common.Dto
{
    [DataContract]
    public class IdentityCheckRequestDto
    {
        [DataMember]
        public PrivateInformationTypeDto PersonalInformation { get; set; }
        [DataMember]
        public CurrentAddressTypeDto CurrentAddress { get; set; }
        [DataMember]
        public PreviousAddressTypeDto PreviousAddress { get; set; }
        [DataMember]
        public bool CreateDocument { get; set; }

    }

    [DataContract]
    public class IdentityCheckResponseDto
    {
        [DataMember]
        public string AuthenticationIndex { get; set; }
        [DataMember]
        public string ExperianReferenceNumber { get; set; }
        [DataMember]
        public bool DidVerificationErrorOccur { get; set; }
        [DataMember]
        public string CustomerNo { get; set; }
        [DataMember]
        public string ErrorMessage { get; set; }
        [DataMember]
        public byte[] FileBytes { get; set; }
        [DataMember]
        public IdentityResultBlockDto ResultsBlock { get; set; }
    }


    [DataContract]
    public class PrivateInformationTypeDto
    {
        [DataMember]
        public string Title { get; set; }
        [DataMember]
        public string ForeName { get; set; }
        [DataMember]
        public string MiddleName { get; set; }
        [DataMember]
        public string Surname { get; set; }
        [DataMember]
        public int DateOfBirthDay { get; set; }
        [DataMember]
        public int DateOfBirthMonth { get; set; }
        [DataMember]
        public int DateOfBirthYear { get; set; }
        [DataMember]
        public Gender Gender { get; set; }
    }

    [DataContract]
    public class CurrentAddressTypeDto
    {
        [DataMember]
        public string HouseNumber { get; set; }
        [DataMember]
        public string HouseName { get; set; }
        /// <summary>
        /// this is the street and must be supplied. You can use any alphanumeric character
        /// </summary>
        [DataMember]
        public string Address1 { get; set; }
        /// <summary>
        /// this is the district. You can use any alphanumeric character
        /// </summary>
        [DataMember]
        public string Address2 { get; set; }
        /// <summary>
        /// this is the post town and must be supplied. You can use any alphanumeric character
        /// </summary>
        [DataMember]
        public string Address3 { get; set; }
        /// <summary>
        /// this is the county. You can use any alphanumeric character
        /// </summary>
        [DataMember]
        public string Address4 { get; set; }
        [DataMember]
        public string PostCode { get; set; }

        /// <summary>
        /// first date of occupancy in CCYY-MM-DD format
        /// </summary>
        [DataMember]
        public DateTime ResidentFrom { get; set; }
        /// <summary>
        /// last date of occupancy in CCYY-MM-DD format.
        /// </summary>
        [DataMember]
        public DateTime ResidentTo { get; set; }
    }

    [DataContract]
        public class PreviousAddressTypeDto
    {
        [DataMember]
        public string HouseNumber { get; set; }
        [DataMember]
        public string HouseName { get; set; }
        /// <summary>
        /// this is the street and must be supplied. You can use any alphanumeric character
        /// </summary>
        [DataMember]
        public string Address1 { get; set; }
        /// <summary>
        /// this is the district. You can use any alphanumeric character
        /// </summary>
        [DataMember]
        public string Address2 { get; set; }
        /// <summary>
        /// this is the post town and must be supplied. You can use any alphanumeric character
        /// </summary>
        [DataMember]
        public string Address3 { get; set; }
        /// <summary>
        /// this is the county. You can use any alphanumeric character
        /// </summary>
        [DataMember]
        public string Address4 { get; set; }
        [DataMember]
        public string PostCode { get; set; }
        [DataMember]
        public DateTime ResidentFrom { get; set; }
        [DataMember]
        public DateTime ResidentTo { get; set; }
    }

    public enum Gender
    {
        Male,
        Female,
    }

    [DataContract]
    public class IdentityResultBlockDto
    {
        [DataMember]
        public string AuthenticationIndex { get; set; }
{'fraction_non_alphanumeric': 0.0933806146572104, 'fraction_numerical': 0.0018267784225231033, 'mean_word_length': 1.854032505366452, 'pattern_counts': {'":': 0, '<': 43, '<?xml version=': 0, '>': 43, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7660811', 'n_tokens_mistral': 2468, 'n_tokens_neox': 2462, 'n_words': 812}