public async Task <UserDto> GetUserById(string id) { Guard.WhenArgument(id, "User Id").IsNullOrEmpty().Throw(); var user = await this.UserRepository.Get(id); Guard.WhenArgument(user, "User").IsNull().Throw(); var userDto = MappingProvider.MapTo <UserDto>(user); Guard.WhenArgument(userDto, "UserDto").IsNull().Throw(); var adminRoleId = await this.UserRepository.GetAdminRoleId(); Guard.WhenArgument(adminRoleId, "AdminRole Id").IsNullOrEmpty().Throw(); //var roles = (await this.UserRepository.GetAllRoles()).Where(r => r.RoleId == adminRoleId); //var admins = usersDto.Join(roles, u => u.Id, r => r.UserId, (u, r) => u); var isAdmin = (await this.UserRepository.GetAllRoles())?.Any(r => r.RoleId == adminRoleId && r.UserId == id); if (isAdmin == true) { userDto.IsAdmin = true; } return(userDto); }
public void should_construct_with_resolver_and_enrich() { IMappingProvider provider = null; var continuationPolicy = new ContinuationPropertyMappingPolicy(); var enumerablePolicy = new EnumerablePropertyMappingPolicy(); var propertyPolicy = new PrimitiveOrStringPropertyMappingPolicy(); var mappingPolicy = new MappingPolicySource(new List<IPropertyMappingPolicy> { propertyPolicy, continuationPolicy, enumerablePolicy }); var resolver = new LambdaObjectResolver(r => r.DestinationType.Equals(typeof (Notification)), r => new Notification(r.SourceType)); var enricher = new LambdaObjectEnricher<ModelWithErrors, Notification>((src, dest) => src .CustomErrors .Each(dest.RegisterError)); var query = new MappingQuery(new List<IMappingPolicy> { mappingPolicy }, new List<IObjectResolver> { resolver }, new List<IObjectEnricher> { enricher }); provider = new MappingProvider(query, new MappingContext((IMappingProvider)null)); var model = new ModelWithErrors {CustomErrors = new List<string> {"Error 1", "Error 2"}}; var notification = provider.Map<ModelWithErrors, Notification>(model); notification .Type .ShouldEqual(typeof (ModelWithErrors)); notification .Messages .ShouldContain(m => m.Message == "Error 1"); notification .Messages .ShouldContain(m => m.Message == "Error 2"); }
public static IServiceCollection AddOutputMapper(this IServiceCollection services, Action <IMappingProvider> options) { var provider = new MappingProvider(); options(provider); return(AddOutputMapper(services, provider)); }
public override IDictionary <string, object> Get(string tableName, object id) { TableMapping mapping = TableMapper.GetTableMapping(this, tableName); using (IDataReader reader = QueryReader(MappingProvider.CreateSelectCommand(mapping, id), null)) { return(TableMapper.Read <IDictionary <string, object> >(reader, mapping)); } }
public override object Get(Type type, object id) { TableMapping mapping = TableMapper.GetTableMapping(this, type); using (IDataReader reader = QueryReader(MappingProvider.CreateSelectCommand(mapping, id), null)) { return(TableMapper.Read(type, reader, mapping)); } }
public override T Get <T>(object id) { TableMapping mapping = TableMapper.GetTableMapping(this, typeof(T)); using (IDataReader reader = QueryReader(MappingProvider.CreateSelectCommand(mapping, id), null)) { return(TableMapper.Read <T>(reader, mapping)); } }
public override IList <IDictionary <string, object> > Select(string tableName, object parameter = null) { TableMapping mapping = TableMapper.GetTableMapping(this, tableName); using (IDataReader reader = QueryReader(MappingProvider.CreateSelectAllCommand(mapping, parameter), null)) { return(TableMapper.ReadAll <IDictionary <string, object> >(reader, mapping)); } }
public MappingGenerator(Dictionary <Type, IPropertySetterGenerator> setterGenerators) { _MappingProvider = new MappingProvider(new List <IMappingDataProvider> { new XmlMappingDataProvider(), new AttMappingDataProvider() }); _SetterGenerators = setterGenerators; }
public override IList <object> Select(Type type, object parameter = null) { TableMapping mapping = TableMapper.GetTableMapping(this, type); using (IDataReader reader = QueryReader(MappingProvider.CreateSelectAllCommand(mapping, parameter), null)) { return(TableMapper.ReadAll(type, reader, mapping)); } }
public override void CreateTable(Type type) { var table = TableMapper.ReadTable(type); if (TableMapper.ExistTable(type, this)) { ExecuteNonQuery(MappingProvider.GetDropTableCommand(table)); } ExecuteNonQuery(MappingProvider.CreateTableCommand(table)); }
public void SetUp() { DateTimeServer.SetLocal(new TestDateTimeServer(DateTime.Now)); _bank = AccountFactory.Asset("Bank"); _mortgage = AccountFactory.Asset("Mortgage"); var mapping = new MappingProvider(new[] {new ViewModelTypeMapProvider()}); _mappingEngine = mapping.Build(); }
public void CreateInstance_WhenMapperParameterIsNotNull() { //Arrange var mapperMock = new Mock <IMapper>(); var mapperProvider = new MappingProvider(mapperMock.Object); Assert.IsNotNull(mapperProvider); Assert.IsInstanceOfType(mapperProvider, typeof(IMappingProvider)); }
public override void CreateTable(Type type, bool existThenDrop = false) { var table = TableMapper.ReadTable(type); bool isTableExist = TableMapper.ExistTable(type, this); if (isTableExist && existThenDrop) { ExecuteNonQuery(MappingProvider.GetDropTableCommand(table)); } ExecuteNonQuery(MappingProvider.CreateTableCommand(table)); }
public void Map_WhenMappingTestSession_SetsVersion() { //Given MappingProvider provider = GetProvider(); TestSession session = new TestSession(); //When TestSessionDto dto = GetMapped <TestSessionDto, TestSession>(new TestSession()); //Then Assert.Equal(DataAccessConstants.noSqlTestSessionVersion, dto.Version); }
public void Map_WhenMappingSchoolClass_SetsVersion() { //Given MappingProvider provider = GetProvider(); SchoolClass schoolClass = new SchoolClass(); //When SchoolClassDto dto = GetMapped <SchoolClassDto, SchoolClass>(schoolClass); //Then Assert.Equal(DataAccessConstants.noSqlSchoolClassVersion, dto.Version); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddMvc(); services.AddMediatR(typeof(Startup)); var provider = new MappingProvider(); services.AddSingleton <IMapper>(new Mapper(provider)); services.AddSingleton <IConfiguration>(_ => Configuration); NativeInjectorBoostrapper.RegisterServices(services); }
private void ConfigEmployee(MappingProvider provider) { var config = new MappingConfiguration <Employee, EmployeeDto>() .Instance(p => new EmployeeDto(true)) .Map(p => p.FullName, p => $"{p.Name} {p.Surname}") .Map(p => p.IsSociable, p => p.Skills.Contains("Sociable")) .Map(p => p.Contact, p => $"Address: {p.Address}, Phone: {p.Phone}") .Map(p => p.Age, p => (int)Math.Floor((DateTime.Today - p.BirthDate).TotalDays / 365.2425)) .Ignore(p => p.Email); provider.AddConfig(config); }
public void ProviderMapTo_CallsMapperMap() { //arrange var someItemToMap = "Hello"; var mockMapper = new Mock <IMapper>(); var fakeMappingProvide = new MappingProvider(mockMapper.Object); //act fakeMappingProvide.MapTo <int>(someItemToMap); //assert mockMapper.Verify(x => x.Map <int>(It.IsAny <string>()), Times.Once); }
public async Task <UserDto> GetUserByUsername(string userName) { Guard.WhenArgument(userName, "Username").IsNullOrEmpty().Throw(); var user = await this.UserRepository.GetUserByUsername(userName); Guard.WhenArgument(user, "User").IsNull().Throw(); var userDto = MappingProvider.MapTo <UserDto>(user); Guard.WhenArgument(userDto, "UserDto").IsNull().Throw(); return(userDto); }
public void MapTo_Should_Call_Mapper_Map() { // Arrange var user = new User(); var mapperMock = new Mock <IMapper>(); mapperMock.Setup(x => x.Map <UserDto>(It.IsAny <User>())).Verifiable(); var mappingProvider = new MappingProvider(mapperMock.Object); // Act var actual = mappingProvider.MapTo <UserDto>(user); // Asser mapperMock.Verify(x => x.Map <UserDto>(user), Times.Once); }
public void CallMethodMap() { //Arrange var test = new Test(); var mapperMock = new Mock <IMapper>(); mapperMock.Setup(m => m.Map <TestDto>(It.IsAny <Test>())).Verifiable(); var mapperProvider = new MappingProvider(mapperMock.Object); //Act var dto = mapperProvider.MapTo <TestDto>(test); //Assert mapperMock.Verify(x => x.Map <TestDto>(test), Times.Once); }
public OutputMapper(string name) { var provider = new MappingProvider(); #if DEBUG provider.ExpressionReady += (sender, expr) => { var debugViewProp = typeof(Expression).GetProperty("DebugView", BindingFlags.Instance | BindingFlags.NonPublic); var debugViewGetter = debugViewProp.GetGetMethod(true); Console.WriteLine(debugViewGetter.Invoke(expr, null)); }; #endif if (name == nameof(Tests.CustomTest)) { ConfigEmployee(provider); } _mapper = new Mapper(provider); }
public void ProviderProjectTo_CallsMapperMapCorrectTimes() { //arrange var someFakeCollection = new List <Category> { new Category(), new Category(), new Category(), new Category(), new Category() }.AsQueryable(); var mockMapper = new Mock <IMapper>(); var fakeMappingProvider = new MappingProvider(mockMapper.Object); //act fakeMappingProvider.ProjectTo <CategoryDTO>(someFakeCollection); //assert mockMapper.Verify(x => x.Map <CategoryDTO>(It.IsAny <Category>()), Times.Exactly(5)); }
public async Task <IEnumerable <UserDto> > GetAllUsers() { var users = (await this.UserRepository.GetAll()).Where(u => !u.IsDeleted); Guard.WhenArgument(users, "Users").IsNull().Throw(); var usersDto = MappingProvider.ProjectTo <User, UserDto>(users).ToList(); Guard.WhenArgument(usersDto, "UsersDto").IsNull().Throw(); var adminRoleId = await this.UserRepository.GetAdminRoleId(); Guard.WhenArgument(adminRoleId, "AdminRole Id").IsNullOrEmpty().Throw(); var roles = (await this.UserRepository.GetAllRoles())?.Where(r => r.RoleId == adminRoleId); var admins = usersDto.Join(roles, u => u.Id, r => r.UserId, (u, r) => u); Guard.WhenArgument(admins, "Admins").IsNull().Throw(); //foreach (var admin in admins) //{ // admin.IsAdmin = true; //} for (int i = 0; i < usersDto.Count(); i++) { foreach (var admin in admins) { if (usersDto[i].Id == admin.Id) { usersDto[i].IsAdmin = true; admin.IsAdmin = true; } } } return(usersDto); }
public void Map_WhenMappingSchoolClass_SetsSameValues() { //Given MappingProvider provider = GetProvider(); SchoolClass schoolClass = new SchoolClass() { // Name = "className", // Section = 1, // Grade = "grade1", // Year = "2000", // Department = "department1" }; //When SchoolClassDto dto = GetMapped <SchoolClassDto, SchoolClass>(schoolClass); //Then // Assert.Equal(schoolClass.Name, dto.Name); // Assert.Equal(schoolClass.Section, dto.Section); // Assert.Equal(schoolClass.Grade, dto.Grade); // Assert.Equal(schoolClass.Year, dto.Year); // Assert.Equal(schoolClass.Department, dto.Department); }
public override int Delete(object entity) { TableMapping mapping = TableMapper.GetTableMapping(this, entity.GetType()); return(ExecuteNonQuery(MappingProvider.CreateDeleteCommand(mapping, entity), null)); }
public override int Delete(string tableName, object id) { TableMapping mapping = TableMapper.GetTableMapping(this, tableName); return(ExecuteNonQuery(MappingProvider.CreateDeleteCommand(mapping, id), null)); }
static async Task Main(string[] args) { var settings = new OpenFigiSettings(); var b = new ConfigurationBuilder() .AddEnvironmentVariables() .Build(); //set an environmental variable named OpenFigiSettings:ApiKey and give it the value //of the api key you create on the openfigi website b.GetSection("OpenFigiSettings").Bind(settings); var keyLookups = new List <MappingKey>(); keyLookups.Add(MappingKey.CURRENCY); keyLookups.Add(MappingKey.EXCH_CODE); keyLookups.Add(MappingKey.ID_TYPE); keyLookups.Add(MappingKey.MARKET_SECTOR); keyLookups.Add(MappingKey.MIC_CODE); keyLookups.Add(MappingKey.SECURITY_TYPE_ONE); keyLookups.Add(MappingKey.SECURITY_TYPE_TWO); var keyValues = new Dictionary <MappingKey, List <string> >(); using (var p = new MappingProvider(settings.ApiKey)) { foreach (var kl in keyLookups) { Console.WriteLine($"Looking up {kl} values..."); var vals = await p.LookupMappingKeyValuesAsync(kl).ConfigureAwait(false); Console.WriteLine($"Found {vals?.Values?.Count() ?? 0:N0} values for key {kl}"); keyValues.Add(vals.Key, vals.Values.ToList()); } var request = new MappingRequest(); var j1 = new MappingJob() { IdType = IdType.ID_EXCH_SYMBOL, Id = "MSFT", SecurityTypeTwo = "Common Stock", ExchangeCode = "US" }; request.Add(j1); var j2 = new MappingJob() { IdType = IdType.ID_EXCH_SYMBOL, Id = "MSFT", SecurityTypeTwo = "Option", Expiration = new Range <DateTime?>(new DateTime(2018, 11, 1), new DateTime(2019, 04, 01)), OptionType = OptionType.Call }; request.Add(j2); var r1 = await p.RunMappingJobsAsync(request).ConfigureAwait(false); foreach (var eq in r1[0].Records.Take(5)) { Console.WriteLine($"Ticker: {eq.Ticker}\t\t\tFIGI:{eq.Id}\tMarket Sector: {eq.MarketSectorDescription}\tDescription: {eq.Name}"); } foreach (var op in r1[1].Records.Take(5)) { Console.WriteLine($"Ticker: {op.Ticker}\tFIGI:{op.Id}\tMarket Sector: {op.MarketSectorDescription}\tDescription: {op.Name}"); } } Console.ReadLine(); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { // Add framework services. services.AddLocalization(options => options.ResourcesPath = "GlobalResources"); ConfigureAuthPolicy(services); var mappingProvider = new MappingProvider(); services.AddSingleton(mappingProvider.CreateMapper()); services.Configure <cloudscribe.Web.SimpleAuth.Models.SimpleAuthSettings>(Configuration.GetSection("SimpleAuthSettings")); services.Configure <MultiTenancyOptions>(Configuration.GetSection("MultiTenancy")); services.AddMultitenancy <TenantSettings, CachingSiteResolver>(); services.AddScoped <cloudscribe.Web.SimpleAuth.Models.IUserLookupProvider, SiteUserLookupProvider>(); services.AddScoped <cloudscribe.Web.SimpleAuth.Models.IAuthSettingsResolver, SiteAuthSettingsResolver>(); services.AddCloudscribeSimpleAuth(); services.AddCloudscribeNavigation(Configuration.GetSection("NavigationOptions")); services.AddCloudscribeFileManager(Configuration); // Add MVC services to the services container. services.Configure <MvcOptions>(options => { // options.InputFormatters.Add(new Xm) options.CacheProfiles.Add("SiteMapCacheProfile", new CacheProfile { Duration = 30 }); options.CacheProfiles.Add("RssCacheProfile", new CacheProfile { Duration = 100 }); }); services.AddRouting(options => { options.LowercaseUrls = true; }); services.AddMvc() .AddRazorOptions(options => { // if you download the cloudscribe.Web.Navigation Views and put them in your views folder // then you don't need this line and can customize the views options.AddEmbeddedViewsForNavigation(); options.AddEmbeddedViewsForSimpleAuth(); options.AddBootstrap3EmbeddedViewsForFileManager(); options.ViewLocationExpanders.Add(new SiteViewLocationExpander()); }); }
public void Setup() { _imapper = new Mock <IMapper>(); _mapper = new MappingProvider(_imapper.Object); }
public void Clean() { _mapper = null; }
public override int Delete <T>(object id) { TableMapping mapping = TableMapper.GetTableMapping(this, typeof(T)); return(ExecuteNonQuery(MappingProvider.CreateDeleteCommand(mapping, id), null)); }