public AggregatorController(AccountEF _accountContext, UserManager <UserAccountEF> userManager, IEmailSender emailSender, IClaimServiceFactory claimsManager) { accountContext = _accountContext; _userManager = userManager; _emailSender = emailSender; _claimsManager = claimsManager; }
//public static Dictionary<int, List<int>> GetSiteIdsClaimValue(IClaimServiceFactory _claimsManager, HttpContext httpContext) //{ // string siteidsValue = _claimsManager.GetClaimsValue(httpContext.User, UserClaimTypes.SiteIdsByRcc); // return GetSiteIdsClaimValue(siteidsValue); //} public static string GetAvaliableRccCodes(AccountEF _accountContext, string userRoleType, string SpecificId) { IEnumerable <VwContractorsiteEF> results = null; if (userRoleType == UserRoleTypes.Supervisor) { results = _accountContext.VwContractorsites.Where(x => x.UserId != null); //.OrderBy(x => x.RCC).GroupBy(key => key.RCC, value => value.SiteId); //string key = $"Supervisor.Statistics.H{DateTime.Now.Hour}"; //if (await _redisDb.HashExistsAsync(key, "chg") && await _redisDb.HashExistsAsync(key, "dhg")) // return // datas.AddRange(await session.CreateCriteria<TodayAccumchgdhg>().ListAsync<TodayAccumchgdhg>()); } else if (userRoleType == UserRoleTypes.Contractor) { results = _accountContext.VwContractorsites.Where(x => x.UserId != null && x.UserId == SpecificId); } else if (userRoleType == UserRoleTypes.Aggregator) { string groupId = SpecificId; results = _accountContext.VwContractorsites.Where(x => x.UserId != null && x.AggGroupId == groupId); } var result = results.OrderBy(x => x.RCC).GroupBy(key => key.RCC, value => value.SiteId); List <string> codes = new List <string>(); foreach (IGrouping <int, int> row in result) { foreach (int siteId in row) { string field = $"{row.Key}:{siteId}"; codes.Add(field); } } return(string.Join(',', codes)); }
public void Create(AccountManagementModel item) { var account = new AccountEF(item.Id, item.Name, item.ProfileId, null); _db.Accounts.Add(account); _db.SaveChanges(); }
public void Update(AccountManagementModel item) { var account = new AccountEF(item.Id, item.Name, item.ProfileId, null); _db.Entry(account).State = EntityState.Modified; _db.SaveChanges(); }
public ContractController(IConfiguration configuration, ILoggerFactory loggerFactory, AccountEF _accountContext, UserManager <UserAccountEF> _userManager) { logger = loggerFactory.CreateLogger <ContractController>(); accountContext = _accountContext; userManager = _userManager; describer = userManager.ErrorDescriber as LocalizedIdentityErrorDescriber; }
public HistoryController(ILogger <HistoryController> logger, GridDataContext peiuGridDataContext, IClaimServiceFactory claimsManager, AccountEF accountContext) { _accountContext = accountContext; _peiuGridDataContext = peiuGridDataContext; this.claimsManager = claimsManager; this.logger = logger; }
public NotificationController(PeiuGridDataContext peiuGridDataContext, IRedisConnectionFactory redis, AccountEF accountContext, ILogger <NotificationController> logger, IClaimServiceFactory claimsManager, IClaimServiceFactory claimServiceFactory) { this.peiuGridDataContext = peiuGridDataContext; db = redis.Connection().GetDatabase(1); this._accountContext = accountContext; this.logger = logger; this._claimsManager = claimsManager; }
public static string GetSiteIdsClaim(AccountEF _accountContext, IClaimServiceFactory _claimsManager, HttpContext httpContext) { var result = GetAvaliableRccCodes(_accountContext, _claimsManager, httpContext); List <string> codes = new List <string>(); foreach (IGrouping <int, int> row in result) { codes.Add($"{row.Key}:{row}"); } return(string.Join(',', codes)); }
public static AccountDal ToAccountDalFromEF(this AccountEF account) { return(new AccountDal { Balance = account.Balance, Bonus = account.Bonus, FirstName = account.FirstName, LastName = account.LastName, Number = account.AccountId, Type = account.AccountType.Type }); }
public ContractorController(UserManager <UserAccountEF> userManager, SignInManager <UserAccountEF> signInManager, RoleManager <Role> _roleManager, IEmailSender emailSender, IHTMLGenerator _htmlGenerator, IClaimServiceFactory claimsManager, IStringLocalizer <LocalizedIdentityErrorDescriber> localizer, AccountEF accountContext) { _userManager = userManager; _accountContext = accountContext; _signInManager = signInManager; _localizer = localizer; _emailSender = emailSender; htmlGenerator = _htmlGenerator; roleManager = _roleManager; _claimsManager = claimsManager; }
public BoardController(UserManager <UserAccountEF> userManager, SignInManager <UserAccountEF> signInManager, RoleManager <Role> _roleManager, IEmailSender emailSender, IHTMLGenerator _htmlGenerator, IClaimServiceFactory claimsManager, ILogger <BoardController> logger, IConfiguration config, AccountEF accountEF, MysqlDataContext accountDataContext) { _userManager = userManager; _accountContext = accountDataContext; _signInManager = signInManager; _emailSender = emailSender; htmlGenerator = _htmlGenerator; roleManager = _roleManager; _claimsManager = claimsManager; _accountEF = accountEF; this.logger = logger; }
public static IEnumerable <int> GetAvaliableSiteIdsByAggGroupId(AccountEF _accountContext, IClaimServiceFactory _claimsManager, HttpContext httpContext, string AggGroupId) { IEnumerable <VwContractorsiteEF> results = null; if (httpContext.User.IsInRole(UserRoleTypes.Supervisor)) { results = _accountContext.VwContractorsites.Where(x => x.AggGroupId == AggGroupId); //string key = $"Supervisor.Statistics.H{DateTime.Now.Hour}"; //if (await _redisDb.HashExistsAsync(key, "chg") && await _redisDb.HashExistsAsync(key, "dhg")) // return // datas.AddRange(await session.CreateCriteria<TodayAccumchgdhg>().ListAsync<TodayAccumchgdhg>()); } else { return(null); } return(results.Select(x => x.SiteId).ToArray()); }
public AuthController(UserManager <UserAccountEF> userManager, SignInManager <UserAccountEF> signInManager, RoleManager <Role> _roleManager, IDistributedCache distributedCache, IEmailSender emailSender, IHTMLGenerator _htmlGenerator, IClaimServiceFactory claimsManager, ILogger <AuthController> logger, IStringLocalizer <LocalizedIdentityErrorDescriber> localizer, IConfiguration config, AccountEF accountContext) { _userManager = userManager; _accountContext = accountContext; _signInManager = signInManager; _localizer = localizer; _emailSender = emailSender; htmlGenerator = _htmlGenerator; roleManager = _roleManager; _claimsManager = claimsManager; this.distributedCache = distributedCache; WebServerUrl = config.GetSection("WebServerUrl").Value; this.logger = logger; }
public AuthController(UserManager <UserAccountEF> userManager, SignInManager <UserAccountEF> signInManager, RoleManager <Role> _roleManager, ILogger <StatisticsController> logger, IEmailSender emailSender, IHTMLGenerator _htmlGenerator, IClaimServiceFactory claimsManager, AccountEF accountEF, IStringLocalizer <LocalizedIdentityErrorDescriber> localizer, ReservedRegisterNotifyPublisher _publisher, AccountDataContext _accountContext /*,AccountDataContext accountContext*/) { _userManager = userManager; //_accountContext = accountContext; _signInManager = signInManager; _localizer = localizer; _emailSender = emailSender; htmlGenerator = _htmlGenerator; Publisher = _publisher; roleManager = _roleManager; _claimsManager = claimsManager; this.logger = logger; this._accountContext = _accountContext; this.accountEF = accountEF; }
public static bool ValidateSiteId(AccountEF _accountContext, IClaimServiceFactory _claimsManager, HttpContext httpContext, int siteId) { bool IsValidate = false; if (httpContext.User.IsInRole(UserRoleTypes.Supervisor)) { IsValidate = _accountContext.VwContractorsites.Any(x => x.UserId != null && x.SiteId == siteId); //string key = $"Supervisor.Statistics.H{DateTime.Now.Hour}"; //if (await _redisDb.HashExistsAsync(key, "chg") && await _redisDb.HashExistsAsync(key, "dhg")) // return // datas.AddRange(await session.CreateCriteria<TodayAccumchgdhg>().ListAsync<TodayAccumchgdhg>()); } else if (httpContext.User.IsInRole(UserRoleTypes.Contractor)) { string userId = _claimsManager.GetClaimsValue(httpContext.User, ClaimTypes.NameIdentifier); IsValidate = _accountContext.VwContractorsites.Any(x => x.UserId != null && x.UserId == userId && x.SiteId == siteId); } else if (httpContext.User.IsInRole(UserRoleTypes.Aggregator)) { string groupId = _claimsManager.GetClaimsValue(httpContext.User, UserClaimTypes.AggregatorGroupIdentifier); IsValidate = _accountContext.VwContractorsites.Any(x => x.UserId != null && x.AggGroupId == groupId && x.SiteId == siteId); } return(IsValidate); }
public static IEnumerable <int> GetAvaliableSiteIds(AccountEF _accountContext, IClaimServiceFactory _claimsManager, HttpContext httpContext) { IEnumerable <int> siteIds = null; if (httpContext.User.IsInRole(UserRoleTypes.Supervisor)) { siteIds = _accountContext.VwContractorsites.Where(x => x.UserId != null).Select(x => x.SiteId).ToArray(); //string key = $"Supervisor.Statistics.H{DateTime.Now.Hour}"; //if (await _redisDb.HashExistsAsync(key, "chg") && await _redisDb.HashExistsAsync(key, "dhg")) // return // datas.AddRange(await session.CreateCriteria<TodayAccumchgdhg>().ListAsync<TodayAccumchgdhg>()); } else if (httpContext.User.IsInRole(UserRoleTypes.Contractor)) { string userId = _claimsManager.GetClaimsValue(httpContext.User, ClaimTypes.NameIdentifier); siteIds = _accountContext.VwContractorsites.Where(x => x.UserId != null && x.UserId == userId).Select(x => x.SiteId).ToArray(); } else if (httpContext.User.IsInRole(UserRoleTypes.Aggregator)) { string groupId = _claimsManager.GetClaimsValue(httpContext.User, UserClaimTypes.AggregatorGroupIdentifier); siteIds = _accountContext.VwContractorsites.Where(x => x.UserId != null && x.AggGroupId == groupId).Select(x => x.SiteId).ToArray(); } return(siteIds); }
public static IEnumerable <IGrouping <int, int> > GetAvaliableRccCodes(AccountEF _accountContext, IClaimServiceFactory _claimsManager, HttpContext httpContext) { IEnumerable <VwContractorsiteEF> results = null; if (httpContext.User.IsInRole(UserRoleTypes.Supervisor)) { results = _accountContext.VwContractorsites.Where(x => x.UserId != null); //.OrderBy(x => x.RCC).GroupBy(key => key.RCC, value => value.SiteId); //string key = $"Supervisor.Statistics.H{DateTime.Now.Hour}"; //if (await _redisDb.HashExistsAsync(key, "chg") && await _redisDb.HashExistsAsync(key, "dhg")) // return // datas.AddRange(await session.CreateCriteria<TodayAccumchgdhg>().ListAsync<TodayAccumchgdhg>()); } else if (httpContext.User.IsInRole(UserRoleTypes.Contractor)) { string userId = _claimsManager.GetClaimsValue(httpContext.User, ClaimTypes.NameIdentifier); results = _accountContext.VwContractorsites.Where(x => x.UserId != null && x.UserId == userId); } else if (httpContext.User.IsInRole(UserRoleTypes.Aggregator)) { string groupId = _claimsManager.GetClaimsValue(httpContext.User, UserClaimTypes.AggregatorGroupIdentifier); results = _accountContext.VwContractorsites.Where(x => x.UserId != null && x.AggGroupId == groupId); } return(results.OrderBy(x => x.RCC).GroupBy(key => key.RCC, value => value.SiteId)); }
private static int ViewDataHandler(SessionTcpClient client, byte[] data, int Length) { var addr = ((IPEndPoint)client.Client.RemoteEndPoint).Address; ByteRef recv = new ByteRef(data, Length); byte id = recv.GetByte(8); int sendSize = 0x28; ByteRef reserveData = new ByteRef(sendSize); //Logger.Log("View Server Data Handler"); //Logger.Log(Utility.ByteArrayToString(data)); //Logger.Log("VIEW ID {0:X}", id); switch (id) { case 0x26: ByteRef SessionHash = new ByteRef(16); SessionHash.BlockCopy(recv.At(12), 0, 16); LoginSession session = SessionHandler.GetSessionByHash(addr.ToString(), SessionHash.Get()); if (session != null) { client.Session = session; session.View_client = client; session.Status = SESSIONSTATUS.CHARSELECT; string clientVersionStr = recv.GetString(0x74, 6); string expectedVersionStr = "301812"; //ConfigHandler.VersionConfig.ClientVersion.Substring(0, 6); uint clientVersion = Convert.ToUInt32(clientVersionStr); uint expectedVersion = Convert.ToUInt32(expectedVersionStr); bool versionMismatch = clientVersion != expectedVersion; bool fatalMismatch = false; if (versionMismatch) { switch (ConfigHandler.VersionConfig.VersionLock) { case 1: if (expectedVersion < clientVersion) { fatalMismatch = true; } break; case 2: if (expectedVersion > clientVersion) { fatalMismatch = true; } break; } } if (fatalMismatch) { sendSize = 0x24; reserveData.Reset(0x24); reserveData.BlockCopy(lobbyErrorData, 0, sendSize); reserveData.Set <ushort>(0x20, 331); } else { // TODO: get expansions and features from database AccountEF aef = new AccountEF() { Expansions = 14, Features = 13 }; // MySQL.GetAccountEF(client.Session.Account_id); ByteRef response = new ByteRef(new byte[] { 0x28, 0x00, 0x00, 0x00, 0x49, 0x58, 0x46, 0x46, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0xe0, 0x5d, 0xad, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }); response.Set <ushort>(32, aef.Expansions); // expansion bitmask response.Set <ushort>(36, aef.Features); // feature bitmask reserveData.BlockCopy(response.Get(), 0, sendSize); } MD5 md5Hash = MD5.Create(); byte[] hash = md5Hash.ComputeHash(reserveData.Get(), 0, sendSize); reserveData.BlockCopy(hash, 12, 16); client.Session.ViewSend(reserveData.Get()); } else { sendSize = 0x24; reserveData.Reset(0x24); reserveData.BlockCopy(lobbyErrorData, 0, sendSize); reserveData.Set <ushort>(0x20, 314); MD5 md5Hash = MD5.Create(); byte[] hash = md5Hash.ComputeHash(reserveData.Get(), 0, sendSize); reserveData.BlockCopy(hash, 12, 16); client.Client.Send(reserveData.Get()); } break; case 0x1F: reserveData.Reset(5); reserveData.Set <byte>(0, 0x01); client.Session.DataSend(reserveData.Get()); break; case 0x24: byte[] Data24 = new byte[] { 0x40, 0x00, 0x00, 0x00, 0x49, 0x58, 0x46, 0x46, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x70, 0x58, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; ByteRef ReservePacket24 = new ByteRef(Data24); // TODO: bring in from configuration ReservePacket24.Set <string>(36, "Onyx"); MD5 md5Hash24 = MD5.Create(); byte[] hash24 = md5Hash24.ComputeHash(ReservePacket24.Get(), 0, 64); ReservePacket24.BlockCopy(hash24, 12, 16); client.Session.ViewSend(ReservePacket24.Get(), 64); break; case 0x07: reserveData.Reset(5); reserveData.Set <byte>(0, 0x02); if (recv.Length > 30) { client.Session.Char_id = recv.GetUInt32(28); } else { SessionHandler.KillSession(client.Session); return(-1); } client.Session.DataSend(reserveData.Get()); break; case 0x14: // Delete Character byte[] Data14 = new byte[] { 0x20, 0x00, 0x00, 0x00, 0x49, 0x58, 0x46, 0x46, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; uint charid = recv.GetUInt32(0x20); if (charid > 0 && client.Session.Char_id_list.Contains(charid)) { ByteRef ReservePacket14 = new ByteRef(Data14); MD5 md5Hash14 = MD5.Create(); byte[] hash14 = md5Hash14.ComputeHash(ReservePacket14.Get(), 0, 0x20); ReservePacket14.BlockCopy(hash14, 12, 16); client.Session.ViewSend(ReservePacket14.Get()); // TODO: add character deletion //MySQL.DeleteChar(client.Session.Account_id, charid); } else { SessionHandler.KillSession(client.Session); return(-1); } break; case 0x21: // Create a Character - Save if (!CreateCharacter(client.Session.Account_id, client.Session.Char_name, recv)) { SessionHandler.KillSession(client.Session); return(-1); } ByteRef ReservePacket21 = new ByteRef(0x20); ReservePacket21.BlockCopy(lobbyActionDone, 0, 0x20); MD5 md5Hash21 = MD5.Create(); byte[] hash21 = md5Hash21.ComputeHash(ReservePacket21.Get(), 0, 0x20); ReservePacket21.BlockCopy(hash21, 12, 16); client.Session.ViewSend(ReservePacket21.Get()); client.Session.Status = SESSIONSTATUS.INGAME; break; case 0x22: // Create a Character - Validate sendSize = 0x24; ByteRef ReservePacket22 = new ByteRef(sendSize); if (ConfigHandler.MaintConfig.MaintMode > 0) { ReservePacket22.BlockCopy(lobbyErrorData, 0, 0x24); ReservePacket22.Set <ushort>(32, 314); } else { ByteRef NameBuf = new ByteRef(15); NameBuf.BlockCopy(recv.At(32), 0, 15); string CharName = Utility.ReadCString(NameBuf.Get()); Player player = DBClient.GetOne <Player>(DBREQUESTTYPE.PLAYER, p => p.Name.Equals(CharName)); if (!Regex.IsMatch(CharName, @"^[a-zA-Z]+$") || SessionHandler.CharNameExists(CharName) || player != null) { ReservePacket22.BlockCopy(lobbyErrorData, 0, sendSize); ReservePacket22.Set <ushort>(32, 313); } else { client.Session.Char_name = CharName; sendSize = 0x20; ReservePacket22.BlockCopy(lobbyActionDone, 0, sendSize); } } MD5 md5Hash22 = MD5.Create(); byte[] hash22 = md5Hash22.ComputeHash(ReservePacket22.Get(), 0, 0x20); ReservePacket22.BlockCopy(hash22, 12, 16); client.Session.ViewSend(ReservePacket22.Get(), sendSize); break; } return(1); }
public DeviceController(GridDataContext context, AccountEF _accountContext, IRedisConnectionFactory redisConnectionFactory) { peiuGridDataContext = context; peiuDataContext = _accountContext; database = redisConnectionFactory.Connection().GetDatabase(1); }