public DataProviderUpdated(Guid id, DataProviderName name, string description, decimal costPrice, Type responseType, bool fieldLevelCostPriceOverride, bool requiresConsent, int version, string owner, DateTime createdDate, DateTime? editedDate, IEnumerable<IDataField> requestFields, IEnumerable<IDataField> dataFields)
     : base(id, name, description, costPrice, responseType, owner, createdDate, requestFields, dataFields, version)
 {
     RequiresConsent = requiresConsent;
     Version = version;
     FieldLevelCostPriceOverride = fieldLevelCostPriceOverride;
     EditedDate = editedDate;
 }
 public DataProvider(DataProviderName name, decimal cost, decimal rsp, IAmDataProviderRequest request, IBillStateIndicator indicator)
 {
     _name = name;
     _cost = cost;
     _rsp = rsp;
     _request = request;
     _indicator = indicator;
 }
 public IPointToLaceProvider this[DataProviderName name]
 {
     get
     {
         switch (name)
         {
             case DataProviderName.IVIDVerify_E_WS:
                 var ividResponse = Lace.Domain.Core.Entities.IvidResponse.Build("NO_ISSUES", "IVD - 01468460493", "XMC167GP", "CNC407L", "2/18/2014", "SB1KV58E40F039277", "1ZRU041295", "1598", "1276");
                 ividResponse.HasBeenHandled();
                 return ividResponse;
             case DataProviderName.IVIDTitle_E_WS:
                 var ividTitleHolderResponse = new Lace.Domain.Core.Entities.IvidTitleHolderResponse();
                 ividTitleHolderResponse.Build("WesBank", false, "00009009838", DateTime.UtcNow.AddYears(-10), DateTime.UtcNow.AddYears(-5), "");
                 ividTitleHolderResponse.HasBeenHandled();
                 return ividTitleHolderResponse;
             case DataProviderName.LSAutoCarStats_I_DB:
                 var lightstoneAutoResponse = new Lace.Domain.Core.Entities.LightstoneAutoResponse(107483, DateTime.UtcNow.Year, "SB1KV58E40F039277", "", "3rd Quarter", "TOYOTA Auris 1.6 RT 5-dr", "Auris 1.6 RT 5-dr", null);
                 lightstoneAutoResponse.HasBeenHandled();
                 return lightstoneAutoResponse;
             case DataProviderName.LSAutoSpecs_I_DB:
                 var rgtResponse = new Lace.Domain.Core.Entities.RgtResponse("TOYOTA", 2008, "Hatch back", "190", "91", "6.2", "10.4", "157", "166", "1598", "Hatch (5-dr)", "Petrol", "Man", "Toyota AURIS", "STANDARD WHITE", "", "", "", "D166", "T05", "Auris", ""
                                                     , "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "");
                 rgtResponse.HasBeenHandled();
                 return rgtResponse;
             case DataProviderName.LSAutoVINMaster_I_DB:
                 var rgtVinResponse = new Lace.Domain.Core.Entities.RgtVinResponse("Super White II", 8, 0, 3, 0, "TOYOTA", "Auris 1.6 RT 5-dr", "Auris", "SB1KV58E40F039277", 2008);
                 rgtVinResponse.HasBeenHandled();
                 return rgtVinResponse;
             case DataProviderName.Audatex:
                 var audatexResponse = new Lace.Domain.Core.Entities.AudatexResponse(new List<IProvideAccidentClaim>
                 {
                     new AccidentClaim(DateTime.MinValue, string.Empty, string.Empty, DateTime.MinValue,
                         string.Empty,
                         string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty,
                         string.Empty,
                         0.0M, 0.0M, DateTime.MinValue, string.Empty, string.Empty, string.Empty, string.Empty)
                 });
                 audatexResponse.HasBeenHandled();
                 return audatexResponse;
             case DataProviderName.PCubedFica_E_WS:
                 return new PCubedFicaVerficationResponse().Default();
             case DataProviderName.PCubedEZScore_E_WS:
                 return new PCubedEzScoreResponse().Default();
             case DataProviderName.LSAutoDecryptDriverLic_I_WS:
                 return new SignioDriversLicenseDecryptionResponse().Default();
             case DataProviderName.LSPropertySearch_E_WS:
                 return new LightstonePropertyResponse().Default();
             case DataProviderName.LSBusinessCompany_E_WS:
                 return new LightstoneBusinessResponse().Default();
             case DataProviderName.LSBusinessDirector_E_WS:
                 return new LightstoneDirectorResponse().Default();
             case DataProviderName.BMWFSTitle_E_DB:
                 return new BmwFinanceResponse().Default();
             default:
                 return null;
         }
     }
 }
        public CreateDataProvider(Guid id, DataProviderName name, decimal costOfSale, string owner, DateTime createdDate)
            : base(id)
        {
			Name = name;
            Description = name.ToString();
            CostOfSale = costOfSale;
            Owner = owner;
            CreatedDate = createdDate;
        }
 public DataProvider(Guid dataProviderId, DataProviderName name, string description, decimal costPrice, int version, string owner, DateTime createdDate, DateTime? editedDate)
     : base(Guid.NewGuid())
 {
     DataProviderId = dataProviderId;
     Name = name;
     Description = description;
     CostPrice = costPrice;
     Version = version;
     Owner = owner;
     CreatedDate = createdDate;
     EditedDate = editedDate;
 }
        public DataProviderCreated(Guid id, DataProviderName name, string description, decimal costPrice, Type responseType, string owner, DateTime createdDate, IEnumerable<IDataField> requestFields, IEnumerable<IDataField> dataFields, int version)
        {
			Id = id;
			Name = name;
            Description = description;
            CostPrice = costPrice;
            ResponseType = responseType;
            Owner = owner;
            CreatedDate = createdDate;
            RequestFields = requestFields;
            DataFields = dataFields;
            Version = version;
        }
 public DataProvider(Guid id, DataProviderName name, string description, decimal costOfSale, Type responseType, bool fieldLevelCostPriceOverride, string owner, DateTime createdDate, DateTime? editedDate, IEnumerable<IDataField> dataFields)
     : this(id)
 {
     Name = name;
     Description = description;
     CostOfSale = costOfSale;
     ResponseType = responseType;
     FieldLevelCostPriceOverride = fieldLevelCostPriceOverride;
     Owner = owner;
     CreatedDate = createdDate;
     EditedDate = editedDate;
     DataFields = dataFields;
 }
 public UpdateDataProvider(Guid id, DataProviderName name, string description, decimal costOfSale, Type responseType, bool fieldLevelCostPriceOverride, bool requiresConsent, State state, int version, string owner, DateTime createdDate, DateTime? editedDate, IEnumerable<IDataField> requestFields, IEnumerable<IDataField> dataFields)
     : base(id)
 {
     Name = name;
     Description = description;
     CostOfSale = costOfSale;
     ResponseType = responseType;
     FieldLevelCostPriceOverride = fieldLevelCostPriceOverride;
     RequiresConsent = requiresConsent;
     State = state;
     EditedDate = editedDate;
     Version = version;
     Owner = owner;
     CreatedDate = createdDate;
     EditedDate = editedDate;
     RequestFields = requestFields;
     DataFields = dataFields;
 }
 public string this[DataProviderName name]
 {
     get
     {
         switch (name)
         {
             case DataProviderName.IVIDVerify_E_WS:
                 return "";
             case DataProviderName.IVIDTitle_E_WS:
                 return "";
             case DataProviderName.LSAutoCarStats_I_DB:
                 return "lace/source/database/auto-car-stats";
             case DataProviderName.LSAutoSpecs_I_DB:
                 return "lace/source/database/auto-car-stats";
             case DataProviderName.LSAutoVINMaster_I_DB:
                 return "lace/source/database/auto-car-stats";
             case DataProviderName.Audatex:
                 return "";
             case DataProviderName.PCubedFica_E_WS:
                 return "";
             case DataProviderName.PCubedEZScore_E_WS:
                 return "";
             case DataProviderName.LSAutoDecryptDriverLic_I_WS:
                 return "";
             case DataProviderName.LSPropertySearch_E_WS:
                 return "";
             case DataProviderName.LSBusinessCompany_E_WS:
                 return "";
             case DataProviderName.LSBusinessDirector_E_WS:
                 return "";
             case DataProviderName.LSConsumerRepair_E_WS:
                 return "";
             case DataProviderName.BMWFSTitle_E_DB:
                 return "lace/source/database/financed-interests";
             case DataProviderName.MMCode_E_DB:
                 return "lace/source/database/auto-car-stats";
             case DataProviderName.LSAutoVIN12_I_DB:
                 return "lace/source/database/auto-car-stats";
             default:
                 return null;
         }
     }
 }
 public IPointToLaceProvider this[DataProviderName name]
 {
     get
     {
         switch (name)
         {
             case DataProviderName.IVIDVerify_E_WS:
                 return new IvidResponse().Default();
             case DataProviderName.IVIDTitle_E_WS:
                 return new IvidTitleHolderResponse().Default();
             case DataProviderName.LSAutoCarStats_I_DB:
                 return new LightstoneAutoResponse().Default();
             case DataProviderName.LSAutoSpecs_I_DB:
                 return new RgtResponse().Default();
             case DataProviderName.LSAutoVINMaster_I_DB:
                 return new RgtVinResponse().Default();
             case DataProviderName.Audatex:
                 return new AudatexResponse().Default();
             case DataProviderName.PCubedFica_E_WS:
                 return new PCubedFicaVerficationResponse().Default();
             case DataProviderName.PCubedEZScore_E_WS:
                 return new PCubedEzScoreResponse().Default();
             case DataProviderName.LSAutoDecryptDriverLic_I_WS:
                 return new SignioDriversLicenseDecryptionResponse().Default();
             case DataProviderName.LSPropertySearch_E_WS:
                 return new LightstonePropertyResponse().Default();
             case DataProviderName.LSBusinessCompany_E_WS:
                 return new LightstoneBusinessResponse().Default();
             case DataProviderName.LSBusinessDirector_E_WS:
                 return new LightstoneDirectorResponse().Default();
             case DataProviderName.LSConsumerRepair_E_WS:
                 return new LightstoneConsumerResponse().Default();
             case DataProviderName.BMWFSTitle_E_DB:
                 return new BmwFinanceResponse().Default();
             case DataProviderName.MMCode_E_DB:
                 return new MMCodeResponse().Default();
             case DataProviderName.LSAutoVIN12_I_DB:
                 return new Vin12Response().Default();
             default:
                 return null;
         }
     }
 }
 public IPointToLaceProvider GetDataProvider(DataProviderName name)
 {
     return new DataProviderResponseRepository()[name];
 }
 public ReadDataProviderBuilder With(DataProviderName name)
 {
     _name = name;
     _description = name.ToString();
     return this;
 }
 public PropertyPackage(DataProviderName[] dataProviders, Guid packageId)
 {
     _dataProviders = dataProviders;
     _packageId = packageId;
 }
 public FicaPackage(DataProviderName[] dataProviders, Guid packageId)
 {
     _dataProviders = dataProviders;
     _packageId = packageId;
 }
 public CanHandlePackageSpecification(DataProviderName dataProvider, ICollection<IPointToLaceRequest> request)
 {
     _dataProvider = dataProvider;
     _request = request;
 }
 public IPointToLaceProvider GetDataProvider(DataProviderName name)
 {
     return new AmendedIvidDataProvider();
 }
        public bool CheckIfPackageRequiresDataProvider(IHavePackageForRequest package, DataProviderName dataProvider)
        {
            if (package == null || package.DataProviders == null || !package.DataProviders.Any()) return false;

            return package.DataProviders.SingleOrDefault(f => f.Name == dataProvider) != null;
        }
 public DataProviderDtoBuilder With(DataProviderName name, string description = "")
 {
     _name = name.ToString();
     _description = description;
     return this;
 }
 public void CreateDataProviderRevision(Guid id, DataProviderName name, string description, decimal costOfSale, Type responseType, bool fieldLevelCostPriceOverride, bool requiresConsent, int version, string owner, DateTime createdDate, DateTime? editedDate, IEnumerable<IDataField> requestFields, IEnumerable<IDataField> dataFields)
 {
     RaiseEvent(new DataProviderUpdated(id, name, description, costOfSale, responseType, fieldLevelCostPriceOverride, requiresConsent, version, owner, createdDate, editedDate, requestFields, dataFields));
 }
 public string GetDataProviderConnectionStringName(DataProviderName name)
 {
     return new DataProviderConnectionStringRepository()[name];
 }
 public SourceConfiguration(DataProviderName name)
 {
     _name = name;
 }
 public WriteDataProviderBuilder With(DataProviderName name)
 {
     _name = name;
     return this;
 }
 public DataProvider(Guid id, DataProviderName name, string description, decimal costOfSale, Type responseType, string owner, DateTime createdDate, IEnumerable<IDataField> requestFields, IEnumerable<IDataField> dataFields, int version) 
     : this(id)
 {
     RaiseEvent(new DataProviderCreated(id, name, description, costOfSale, responseType, owner, createdDate, requestFields, dataFields, version));
 }