public static ApplicationUserManager Create(IdentityFactoryOptions <ApplicationUserManager> options, IOwinContext context) { var manager = new ApplicationUserManager(new UserStoreService(BillionCompanyDbContext.Create())); manager.PasswordHasher = new BCPasswordHasher(); // Configure validation logic for usernames manager.UserValidator = new CustomUserValidator <User>(); // Configure validation logic for passwords //manager.PasswordValidator = new PasswordValidator //{ // RequiredLength = 6, // RequireNonLetterOrDigit = false, // RequireDigit = true, // RequireLowercase = true, // RequireUppercase = true, //}; // Configure user lockout defaults manager.UserLockoutEnabledByDefault = false; manager.DefaultAccountLockoutTimeSpan = TimeSpan.FromMinutes(5); manager.MaxFailedAccessAttemptsBeforeLockout = 5; // Register two factor authentication providers. This application uses Phone and Emails as a step of receiving a code for verifying the user // You can write your own provider and plug it in here. //manager.RegisterTwoFactorProvider("Phone Code", new PhoneNumberTokenProvider<User, int> //{ // MessageFormat = "Your security code is {0}" //}); //manager.RegisterTwoFactorProvider("Email Code", new EmailTokenProvider<User, int> //{ // Subject = "Security Code", // BodyFormat = "Your security code is {0}" //}); //manager.EmailService = new EmailService(); //manager.SmsService = new SmsService(); var dataProtectionProvider = options.DataProtectionProvider; if (dataProtectionProvider != null) { manager.UserTokenProvider = new DataProtectorTokenProvider <User, int>(dataProtectionProvider.Create("ASP.NET Identity")); } return(manager); }
public ActionResult Index() { BillionCompanyDbContext db = BillionCompanyDbContext.Create(); var model = new HomeViewModel(); model.PageTitle = Resources.Resources.PageTitle; model.Header = Resources.Resources.Start_Header; var products = CacheService.GetOrSet("products_latest", () => db.ProductRepository.GetAll().Where(p => !string.IsNullOrEmpty(p.ThumbnailUrl)).OrderByDescending(p => p.InsertDate).ToList()); var places = CacheService.GetOrSet("places", () => db.PlaceRepository.GetAll().ToList()); var countries = places.Where(c => c.PlaceTypeId == 1).Take(4).OrderBy(c => c.Name); var placeList = new List <TopPlaceItem>(); foreach (var c in countries) { var cities = places.Where(i => i.ParentId == c.Id).Take(5).OrderBy(i => i.Name); var cityList = new List <TopPlaceItem>(); foreach (var city in cities) { cityList.Add(new TopPlaceItem() { Id = city.Id, PlaceName = model.Host.Contains("mowido.se") ? city.NameSV : city.Name }); } placeList.Add(new TopPlaceItem() { Id = c.Id, PlaceName = model.Host.Contains("mowido.se") ? c.NameSV : c.Name, Cities = cityList }); } var latestProducts = new List <LatestProduct>(); Random rdm = new Random(); int totalRdm = products.Count - 1; for (int i = 0; i < 8; i++) { int index = rdm.Next(totalRdm); var place = places.Where(x => x.Id == products[index].PlaceId).ToList().FirstOrDefault(); latestProducts.Add(new LatestProduct() { Id = products[index].Id, Address = products[index].Address, CreatedDate = DateTime.Now.ToShortDateString(), Description = products[index].Description.Length > 150 ? products[index].Description.Substring(0, 150) + "..." : products[index].Description, PlaceName = model.Host.Contains("mowido.se") ? place.NameSV : place.Name, ImageUrl = products[index].ThumbnailUrl }); } model.LatestFirst = latestProducts.Take(4).ToList(); model.LatestSecond = latestProducts.Skip(4).ToList(); model.Countries = placeList; return(View(model)); }