public IdentityResult AddUser(SystemUser user, bool isAdmin = false) { if (!isAdmin && !CheckDbConnection(user.Server, user.DbName, user.DbUserName, user.DbPassword)) { throw new DBConcurrencyException("Hedef veritabanina baglanilamadi. Lutfen bilgilerinizi kontorl edin. Veritabaninizin uzaktan erisilebilir olduguna emin olun."); } var pass = user.PasswordHash; MarketPlaceDbContext dbContext = null; user.PasswordHash = null; var role = isAdmin ? "Admin" : "Customer"; if (!isAdmin) { var options = new DbContextOptionsBuilder <MarketPlaceDbContext>(); var connectionString = string.Format(_configuration.GetConnectionString("DynamicLocalDatabase"), $"db_{user.UserName.ToLower()}"); options.UseMySql(connectionString); dbContext = new MarketPlaceDbContext(options.Options); dbContext.Database.Migrate(); user.Settings = new UserSettings(); } var result = _userManager.CreateAsync(user, pass).Result; if (result.Succeeded) { _userManager.AddToRoleAsync(user, role).Wait(); SeedStores(dbContext); } else if (!isAdmin) { dbContext?.Database.EnsureDeleted(); } return(result); }
public void SyncDatabase(string userName) { _user = _userManager.FindByNameAsync(userName).Result; var connectionString = $"Server={_user.Server}; Database={_user.DbName}; Uid={_user.DbUserName}; Pwd={_user.DbPassword};"; _connection = new MySqlConnection(connectionString); var unformatedConnectionString = _configuration.GetConnectionString("DynamicLocalDatabase"); var connectionStringByUser = string.Format(unformatedConnectionString, $"db_{_user.UserName}"); var options = new DbContextOptionsBuilder <MarketPlaceDbContext>().UseMySql(connectionStringByUser).Options; _dbContext = new MarketPlaceDbContext(options); SyncDatabase(); }
public CommonService(MarketPlaceDbContext dbContext, IHttpContextAccessor httpContextAccessor, UserManager <SystemUser> userManager, IConfiguration configuration) { if (httpContextAccessor?.HttpContext?.User?.Identity?.Name == null) { return; } _dbContext = dbContext; _userManager = userManager; _user = userManager.FindByNameAsync(httpContextAccessor.HttpContext.User.Identity.Name).Result; var connectionString = $"Server={_user.Server}; Database={_user.DbName}; Uid={_user.DbUserName}; Pwd={_user.DbPassword};"; _connection = new MySqlConnection(connectionString); _configuration = configuration; }
private void SeedStores(MarketPlaceDbContext dbContext) { var stores = new List <Store> { new Store { store_id = 1, name = "N11", image = "n11.png", ssl = "n11_default_ssl", url = "https://www.n11.com" }, new Store { store_id = 2, name = "Trendyol", image = "trendyol.png", ssl = "trendyol_default_ssl", url = "https://www.trendyol.com" }, new Store { store_id = 3, name = "Hepsiburada", image = "hepsiburada.png", ssl = "hepsiburada_default_ssl", url = "https://www.hepsiburada.com" }, new Store { store_id = 4, name = "Gittigidiyor", image = "gittigidiyor.png", ssl = "gittigidiyor_default_ssl", url = "https://www.gittigidiyor.com" }, new Store { store_id = 5, name = "Cicek Sepeti", image = "ciceksepeti.png", ssl = "ciceksepeti_default_ssl", url = "https://www.ciceksepeti.com" }, }; dbContext.Stores.AddRange(stores); dbContext.SaveChanges(); }
public IdentityResult DeleteUser(int userId) { var user = _accountDbContext.Users.Find(userId); if (user.UserName == _httpContextAccessor.HttpContext.User.Identity.Name) { return(null); } var isCustomer = _userManager.IsInRoleAsync(user, "Customer").Result; var result = _userManager.DeleteAsync(user).Result; if (result.Succeeded && isCustomer) { var options = new DbContextOptionsBuilder <MarketPlaceDbContext>(); var connectionString = string.Format(_configuration.GetConnectionString("DynamicLocalDatabase"), $"db_{user.UserName.ToLower()}"); options.UseMySql(connectionString); var dbContext = new MarketPlaceDbContext(options.Options); dbContext.Database.EnsureDeleted(); } return(result); }
public VehicleRepository(MarketPlaceDbContext context) { this.context = context; }
public ClassifiedAdRepositoryEF(MarketPlaceDbContext dbContext) { _dbContext = dbContext; }
public FeaturesController(MarketPlaceDbContext context, IMapper mapper) { this.context = context; this.mapper = mapper; }
public LocalService(MarketPlaceDbContext dbContext, AccountDbContext accountDbContext) { _dbContext = dbContext; _accountDbContext = accountDbContext; }
public ProductRepository(MarketPlaceDbContext context) { this.context = context; }
public UserProfileRepositoryEF(MarketPlaceDbContext dbContext) => _dbContext = dbContext;
public ManufacturersController(MarketPlaceDbContext context, IMapper mapper) { this.context = context; this.mapper = mapper; }
public UnitofWork(MarketPlaceDbContext context) { this.context = context; }
public PurchaseRepository(MarketPlaceDbContext context) { this.context = context; }
public AccountController(IAccountService accountService, MarketPlaceDbContext dbContext, ICommonService commonService) { _accountService = accountService; _dbContext = dbContext; _commonService = commonService; }