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));
        }
Exemple #4
0
        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));
            }
        }
Exemple #5
0
        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));
            }
        }
Exemple #6
0
        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));
            }
        }
Exemple #7
0
        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));
            }
        }
Exemple #8
0
        public MappingGenerator(Dictionary <Type, IPropertySetterGenerator> setterGenerators)
        {
            _MappingProvider = new MappingProvider(new List <IMappingDataProvider> {
                new XmlMappingDataProvider(),
                new AttMappingDataProvider()
            });

            _SetterGenerators = setterGenerators;
        }
Exemple #9
0
        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));
            }
        }
Exemple #10
0
        public override void CreateTable(Type type)
        {
            var table = TableMapper.ReadTable(type);

            if (TableMapper.ExistTable(type, this))
            {
                ExecuteNonQuery(MappingProvider.GetDropTableCommand(table));
            }
            ExecuteNonQuery(MappingProvider.CreateTableCommand(table));
        }
Exemple #11
0
        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));
        }
Exemple #13
0
        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);
        }
Exemple #16
0
        // 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);
        }
Exemple #17
0
        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);
        }
Exemple #18
0
        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);
        }
Exemple #21
0
        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);
        }
Exemple #22
0
        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);
        }
Exemple #23
0
        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);
        }
Exemple #26
0
        public override int Delete(object entity)
        {
            TableMapping mapping = TableMapper.GetTableMapping(this, entity.GetType());

            return(ExecuteNonQuery(MappingProvider.CreateDeleteCommand(mapping, entity), null));
        }
Exemple #27
0
        public override int Delete(string tableName, object id)
        {
            TableMapping mapping = TableMapper.GetTableMapping(this, tableName);

            return(ExecuteNonQuery(MappingProvider.CreateDeleteCommand(mapping, id), null));
        }
Exemple #28
0
        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();
        }
Exemple #29
0
        // 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());
            });
        }
Exemple #30
0
 public void Setup()
 {
     _imapper = new Mock <IMapper>();
     _mapper  = new MappingProvider(_imapper.Object);
 }
Exemple #31
0
 public void Clean()
 {
     _mapper = null;
 }
Exemple #32
0
        public override int Delete <T>(object id)
        {
            TableMapping mapping = TableMapper.GetTableMapping(this, typeof(T));

            return(ExecuteNonQuery(MappingProvider.CreateDeleteCommand(mapping, id), null));
        }