public string GetDomain(string host) { //TO DO Master connection string should be from app-setings var optionsBuilder = new DbContextOptionsBuilder <HCMasterContext>(); optionsBuilder.UseSqlServer(CreateMasterConnectionString()); HCMasterContext masterContext = new HCMasterContext(optionsBuilder.Options); string con = string.Empty; //get the organization from Business-Name MasterOrganization org = masterContext.MasterOrganization.Where(a => a.BusinessName == host && a.IsDeleted == false).FirstOrDefault(); if (org != null) { //get the db credentials for new connection OrganizationDatabaseDetail orgData = masterContext.OrganizationDatabaseDetail.Where(a => a.Id == org.DatabaseDetailId && a.IsDeleted == false).FirstOrDefault(); //initialize Domain token model to create new connection string DomainToken domainData = new DomainToken(); domainData.ServerName = orgData.ServerName; domainData.DatabaseName = orgData.DatabaseName; domainData.Password = orgData.Password; domainData.UserName = orgData.UserName; con = ConnectionString(domainData); } //return new connection string return(con); }
public string CreateMasterConnectionString() { DomainToken domainToken = new DomainToken(); domainToken.ServerName = HCMasterConnectionStringEnum.Server; domainToken.DatabaseName = HCMasterConnectionStringEnum.Database; domainToken.UserName = HCMasterConnectionStringEnum.User; domainToken.Password = HCMasterConnectionStringEnum.Password; return(ConnectionString(domainToken)); }
private void CheckTokenValidity(DomainToken token) { var databaseToken = _iUnitOfWork.TokenRepository.GetByGuid(token.Guid); if (databaseToken == null || databaseToken.IsExpired) { throw TokenExpiredException.ThrowTokenExpiredException(); } if (DateTime.UtcNow - databaseToken.GenerationDate <= TimeSpan.FromDays(21)) { return; } ExpireToken(token); throw TokenExpiredException.ThrowTokenExpiredException(); }
private void SaveToken(Guid guid, string login, string userId, DateTime date) { var token = new DomainToken(guid, login, userId, date); var existingToken = _iUnitOfWork.TokenRepository.GetByCustomerId(userId); if (existingToken != null) { existingToken.Guid = guid; existingToken.GenerationDate = date; existingToken.Login = login; existingToken.UserId = userId; existingToken.IsExpired = false; } else { _iUnitOfWork.TokenRepository.Add(Mapper.Map <Token>(token)); } _iUnitOfWork.SaveChanges(); }
/// <summary> /// create dynamically new connection string /// </summary> /// <param name="domainToken"></param> /// <returns></returns> public string ConnectionString(DomainToken domainToken) { string conn = @"Server=" + domainToken.ServerName + ";Database=" + domainToken.DatabaseName + ";Trusted_Connection=True;MultipleActiveResultSets=true;Integrated Security=false;User ID=" + domainToken.UserName + ";Password="******";"; return(conn); }
private void ExpireToken(DomainToken token) { token.IsExpired = true; _iUnitOfWork.SaveChanges(); }