public TOut RunBizActionDbAndInstance <TOut>(DbContext db, TBizInterface bizInstance, IMapper mapper, object inputData) { var toBizCopier = DtoAccessGenerator.BuildCopier(inputData.GetType(), typeof(TBizIn), true, false, Config); var fromBizCopier = DtoAccessGenerator.BuildCopier(typeof(TBizOut), typeof(TOut), false, false, Config); var bizStatus = (IBizActionStatus)bizInstance; //The SetupSecondaryData produced errors if (bizStatus.HasErrors) { return(default(TOut)); } var inData = toBizCopier.DoCopyToBiz <TBizIn>(db, mapper, inputData); var result = ((IGenericAction <TBizIn, TBizOut>)bizInstance).BizAction(inData); //This handles optional call of save changes SaveChangedIfRequiredAndNoErrors(db, bizStatus); if (bizStatus.HasErrors) { return(default(TOut)); } var data = fromBizCopier.DoCopyFromBiz <TOut>(db, mapper, result); return(data); }
public async Task <TOut> RunBizActionDbAndInstanceAsync <TOut>(object repository, TBizInterface bizInstance, object inputData) { var toBizCopier = DtoAccessGenerator.BuildCopier(inputData.GetType(), typeof(TBizIn), true, true, WrappedConfig.Config.TurnOffCaching); var fromBizCopier = DtoAccessGenerator.BuildCopier(typeof(TBizOut), typeof(TOut), false, true, WrappedConfig.Config.TurnOffCaching); var bizStatus = (IBizActionStatus)bizInstance; //The SetupSecondaryData produced errors if (bizStatus.HasErrors) { return(default(TOut)); } var inData = await toBizCopier.DoCopyToBizAsync <TBizIn>(repository, WrappedConfig.ToBizIMapper, inputData).ConfigureAwait(false); var result = await((IGenericActionAsync <TBizIn, TBizOut>)bizInstance).BizActionAsync(inData).ConfigureAwait(false); //This handles optional call of save changes. Only be used if type of DbContext is being used and supplied via IRepository. await SaveChangedIfRequiredAndNoErrorsAsync(repository, bizStatus).ConfigureAwait(false); if (bizStatus.HasErrors) { return(default(TOut)); } var data = await fromBizCopier.DoCopyFromBizAsync <TOut>(repository, WrappedConfig.FromBizIMapper, result).ConfigureAwait(false); return(data); }
public void TestCreateDataWithPossibleSetupDirectOk() { //SETUP var copier = DtoAccessGenerator.BuildCopier(typeof(BizDataIn), typeof(BizDataIn), true, false, _noCachingConfig); var status = new TestBizActionStatus(); //ATTEMPT var data = copier.CreateDataWithPossibleSetup <BizDataIn>(null, status, null); //VERIFY //Should not fail }
public async Task TestCreateDataWithPossibleSetupDirectOk() { //SETUP var copier = DtoAccessGenerator.BuildCopier(typeof(BizDataIn), typeof(BizDataIn), true, true, true); var status = new TestBizActionStatus(); //ATTEMPT await copier.CreateDataWithPossibleSetupAsync <BizDataIn>(null, status, null); //VERIFY //Should work with no exceptions }
public async Task TestCreateDataWithPossibleSetupSyncDtoWithActionOk() { //SETUP var copier = DtoAccessGenerator.BuildCopier(typeof(ServiceLayerBizInDto), typeof(BizDataIn), true, true, true); var status = new TestBizActionStatus(); //ATTEMPT var data = await copier.CreateDataWithPossibleSetupAsync <ServiceLayerBizInDto>(null, status, x => { x.Num = 2; }); //VERIFY data.SetupSecondaryDataCalled.ShouldBeTrue(); data.Num.ShouldEqual(2); }
public void TestCreateDataWithPossibleSetupDtoWithActionOk() { //SETUP var copier = DtoAccessGenerator.BuildCopier(typeof(ServiceLayerBizInDto), typeof(BizDataIn), true, false, _noCachingConfig); var status = new TestBizActionStatus(); //ATTEMPT var data = copier.CreateDataWithPossibleSetup <ServiceLayerBizInDto>(null, status, x => { x.Num = 2; }); //VERIFY data.SetupSecondaryDataCalled.ShouldBeTrue(); data.Num.ShouldEqual(2); }
public void Test01DirectCopyOk() { //SETUP var copier = DtoAccessGenerator.BuildCopier(typeof(BizDataIn), typeof(BizDataIn), true, false, _noCachingConfig); var input = new BizDataIn { Num = 234 }; //ATTEMPT var data = copier.DoCopyToBiz <BizDataIn>(null, null, input); //VERIFY data.Num.ShouldEqual(234); }
public async Task TestBizOutCopyAsyncDirectOk() { //SETUP var copier = DtoAccessGenerator.BuildCopier(typeof(BizDataOut), typeof(BizDataOut), false, true, true); var input = new BizDataOut { Output = "test copy" }; //ATTEMPT var data = await copier.DoCopyFromBizAsync <BizDataOut>(null, null, input); //VERIFY data.Output.ShouldEqual("test copy"); }
public async Task TestBizInCopyAsyncMethodDirectOk() { //SETUP var copier = DtoAccessGenerator.BuildCopier(typeof(BizDataIn), typeof(BizDataIn), true, true, true); var input = new BizDataIn { Num = 234 }; //ATTEMPT var data = await copier.DoCopyToBizAsync <BizDataIn>(null, null, input); //VERIFY data.Num.ShouldEqual(234); }
public void TestBizOutDirectOk() { //SETUP var copier = DtoAccessGenerator.BuildCopier(typeof(BizDataOut), typeof(BizDataOut), false, false, _noCachingConfig); var input = new BizDataOut { Output = "test copy" }; //ATTEMPT var data = copier.DoCopyFromBiz <BizDataOut>(null, null, input); //VERIFY data.Output.ShouldEqual("test copy"); }
public void TestSetupSecondaryDataDtoOk() { //SETUP var copier = DtoAccessGenerator.BuildCopier(typeof(ServiceLayerBizInDto), typeof(BizDataIn), true, false, _noCachingConfig); var input = new ServiceLayerBizInDto { Num = 234 }; var status = new TestBizActionStatus(); //ATTEMPT copier.SetupSecondaryDataIfRequired(null, status, input); //VERIFY input.SetupSecondaryDataCalled.ShouldBeTrue(); }
public async Task TestSetupSecondaryAsyncDataDirectOk() { //SETUP var copier = DtoAccessGenerator.BuildCopier(typeof(BizDataIn), typeof(BizDataIn), true, true, true); var input = new BizDataIn { Num = 234 }; var status = new TestBizActionStatus(); //ATTEMPT await copier.SetupSecondaryDataIfRequiredAsync(null, status, input); //VERIFY //Should work with no expections }
public async Task TestSetupSecondaryDataSyncDtoOk() { //SETUP var copier = DtoAccessGenerator.BuildCopier(typeof(ServiceLayerBizInDto), typeof(BizDataIn), true, true, true); var input = new ServiceLayerBizInDto { Num = 234 }; var status = new TestBizActionStatus(); //ATTEMPT await copier.SetupSecondaryDataIfRequiredAsync(null, status, input); //VERIFY input.SetupSecondaryDataCalled.ShouldBeTrue(); }
public async Task TestBizInCopyAsyncSyncDtoOk() { //SETUP var utData = NonDiBizSetup.SetupDtoMapping <ServiceLayerBizInDto>(); var copier = DtoAccessGenerator.BuildCopier(typeof(ServiceLayerBizInDto), typeof(BizDataIn), true, true, true); var input = new ServiceLayerBizInDto { Num = 234 }; //ATTEMPT var data = await copier.DoCopyToBizAsync <BizDataIn>(null, utData.WrappedConfig.ToBizIMapper, input); //VERIFY data.Num.ShouldEqual(234); }
public void TestSetupSecondaryDataDirectOk() { //SETUP var copier = DtoAccessGenerator.BuildCopier(typeof(BizDataIn), typeof(BizDataIn), true, false, _noCachingConfig); var input = new BizDataIn { Num = 234 }; var status = new TestBizActionStatus(); //ATTEMPT copier.SetupSecondaryDataIfRequired(null, status, input); //VERIFY //Should not do anything, but musn't fail }
public async Task TestBizInCopyAsyncSyncDtoOk() { //SETUP var mapper = SetupHelpers.CreateMapper <ServiceLayerBizInDto>(); var copier = DtoAccessGenerator.BuildCopier(typeof(ServiceLayerBizInDto), typeof(BizDataIn), true, true, _noCachingConfig); var input = new ServiceLayerBizInDto { Num = 234 }; //ATTEMPT var data = await copier.DoCopyToBizAsync <BizDataIn>(null, mapper, input); //VERIFY data.Num.ShouldEqual(234); }
public void TestBizInCopyOk() { //SETUP var utData = NonDiBizSetup.SetupDtoMapping <ServiceLayerBizInDto>(); var copier = DtoAccessGenerator.BuildCopier(typeof(ServiceLayerBizInDto), typeof(BizDataIn), true, false, true); var input = new ServiceLayerBizInDto { Num = 234 }; //ATTEMPT var data = copier.DoCopyToBiz <BizDataIn>(null, utData.WrappedConfig.ToBizIMapper, input); //VERIFY data.Num.ShouldEqual(234); input.CopyToBizDataCalled.ShouldBeTrue(); input.SetupSecondaryDataCalled.ShouldBeFalse(); }
public async Task TestBizOutCopyAsyncAsyncDtoOk() { //SETUP var mapper = SetupHelpers.CreateMapper <ServiceLayerBizOutDtoAsync>(); var copier = DtoAccessGenerator.BuildCopier(typeof(BizDataOut), typeof(ServiceLayerBizOutDtoAsync), false, true, _noCachingConfig); var input = new BizDataOut { Output = "test copy" }; //ATTEMPT var data = await copier.DoCopyFromBizAsync <ServiceLayerBizOutDtoAsync>(null, mapper, input); //VERIFY data.Output.ShouldEqual("test copy"); data.CopyFromBizDataCalled.ShouldBeTrue(); data.SetupSecondaryOutputDataCalled.ShouldBeTrue(); }
public async Task TestBizOutCopyAsyncAsyncDtoOk() { //SETUP var utData = NonDiBizSetup.SetupDtoMapping <ServiceLayerBizOutDtoAsync>(); var copier = DtoAccessGenerator.BuildCopier(typeof(BizDataOut), typeof(ServiceLayerBizOutDtoAsync), false, true, true); var input = new BizDataOut { Output = "test copy" }; //ATTEMPT var data = await copier.DoCopyFromBizAsync <ServiceLayerBizOutDtoAsync>(null, utData.WrappedConfig.FromBizIMapper, input); //VERIFY data.Output.ShouldEqual("test copy"); data.CopyFromBizDataCalled.ShouldBeTrue(); data.SetupSecondaryOutputDataCalled.ShouldBeTrue(); }
public TOut RunBizActionDbAndInstance <TOut>(DbContext db, TBizInterface bizInstance, IMapper mapper) { var fromBizCopier = DtoAccessGenerator.BuildCopier(typeof(TBizOut), typeof(TOut), false, false, Config); var bizStatus = (IBizActionStatus)bizInstance; var result = ((IGenericActionOutOnly <TBizOut>)bizInstance).BizAction(); //This handles optional call of save changes SaveChangedIfRequiredAndNoErrors(db, bizStatus); if (bizStatus.HasErrors) { return(default(TOut)); } var data = fromBizCopier.DoCopyFromBiz <TOut>(db, mapper, result); return(data); }
public TOut RunBizActionDbAndInstance <TOut>(object repository, TBizInterface bizInstance) { var fromBizCopier = DtoAccessGenerator.BuildCopier(typeof(TBizOut), typeof(TOut), false, false, WrappedConfig.Config.TurnOffCaching); var bizStatus = (IBizActionStatus)bizInstance; var result = ((IGenericActionOutOnly <TBizOut>)bizInstance).BizAction(); //This handles optional call of save changes. Only be used if type of DbContext is being used and supplied via IRepository. SaveChangedIfRequiredAndNoErrors(repository, bizStatus); if (bizStatus.HasErrors) { return(default(TOut)); } var data = fromBizCopier.DoCopyFromBiz <TOut>(repository, WrappedConfig.FromBizIMapper, result); return(data); }
public async Task <TOut> RunBizActionDbAndInstanceAsync <TOut>(DbContext db, TBizInterface bizInstance, IMapper mapper) { var fromBizCopier = DtoAccessGenerator.BuildCopier(typeof(TBizOut), typeof(TOut), false, true, Config); var bizStatus = (IBizActionStatus)bizInstance; var result = await((IGenericActionOutOnlyAsync <TBizOut>)bizInstance).BizActionAsync().ConfigureAwait(false); //This handles optional call of save changes await SaveChangedIfRequiredAndNoErrorsAsync(db, bizStatus).ConfigureAwait(false); if (bizStatus.HasErrors) { return(default(TOut)); } var data = await fromBizCopier.DoCopyFromBizAsync <TOut>(db, mapper, result).ConfigureAwait(false); return(data); }
public void TestBizOutCopyOk() { //SETUP var config = new MapperConfiguration(cfg => { cfg.AddProfile(new ServiceLayerBizOutDto()); }); var mapper = config.CreateMapper(); var copier = DtoAccessGenerator.BuildCopier(typeof(BizDataOut), typeof(ServiceLayerBizOutDto), false, false, _noCachingConfig); var input = new BizDataOut { Output = "test copy" }; //ATTEMPT var data = copier.DoCopyFromBiz <ServiceLayerBizOutDto>(null, mapper, input); //VERIFY data.Output.ShouldEqual("test copy"); data.CopyFromBizDataCalled.ShouldBeTrue(); data.SetupSecondaryOutputDataCalled.ShouldBeTrue(); }
public void TestBizInCopyOk() { //SETUP var config = new MapperConfiguration(cfg => { cfg.AddProfile(new ServiceLayerBizInDto()); }); var mapper = config.CreateMapper(); var copier = DtoAccessGenerator.BuildCopier(typeof(ServiceLayerBizInDto), typeof(BizDataIn), true, false, _noCachingConfig); var input = new ServiceLayerBizInDto { Num = 234 }; //ATTEMPT var data = copier.DoCopyToBiz <BizDataIn>(null, mapper, input); //VERIFY data.Num.ShouldEqual(234); input.CopyToBizDataCalled.ShouldBeTrue(); input.SetupSecondaryDataCalled.ShouldBeFalse(); }
public void RunBizActionDbAndInstance(DbContext db, TBizInterface bizInstance, object inputData) { var toBizCopier = DtoAccessGenerator.BuildCopier(inputData.GetType(), typeof(TBizIn), true, false, WrappedConfig.Config.TurnOffCaching); var bizStatus = (IBizActionStatus)bizInstance; //The SetupSecondaryData produced errors if (bizStatus.HasErrors) { return; } var inData = toBizCopier.DoCopyToBiz <TBizIn>(db, WrappedConfig.ToBizIMapper, inputData); ((IGenericActionInOnly <TBizIn>)bizInstance).BizAction(inData); //This handles optional call of save changes SaveChangedIfRequiredAndNoErrors(db, bizStatus); if (bizStatus.HasErrors) { toBizCopier.SetupSecondaryDataIfRequired(db, bizStatus, inputData); } }
public async Task RunBizActionDbAndInstanceAsync(DbContext db, TBizInterface bizInstance, IMapper mapper, object inputData) { var toBizCopier = DtoAccessGenerator.BuildCopier(inputData.GetType(), typeof(TBizIn), true, true, Config); var bizStatus = (IBizActionStatus)bizInstance; //The SetupSecondaryData produced errors if (bizStatus.HasErrors) { return; } var inData = await toBizCopier.DoCopyToBizAsync <TBizIn>(db, mapper, inputData).ConfigureAwait(false); await((IGenericActionInOnlyAsync <TBizIn>)bizInstance).BizActionAsync(inData).ConfigureAwait(false); //This handles optional call of save changes await SaveChangedIfRequiredAndNoErrorsAsync(db, bizStatus).ConfigureAwait(false); if (bizStatus.HasErrors) { await toBizCopier.SetupSecondaryDataIfRequiredAsync(db, bizStatus, inputData).ConfigureAwait(false); } }