public override void OnActionExecuting(ActionExecutingContext actionExecutedContext) { try { var email = actionExecutedContext.HttpContext.User.Claims.Where(c => c.Type == ClaimTypes.Email) .Select(c => c.Value).SingleOrDefault(); email = "*****@*****.**"; if (!string.IsNullOrEmpty(email)) { var query = new Dictionary <string, string> { { "Email", email } }; var userBusiness = new UserBusiness.UserBusiness(_repositoryFactory); var userModel = userBusiness.GetUserInfo(query); connection.Close(); if (userModel != null) { actionExecutedContext.RouteData.Values.Add("UserModel", userModel); return; } } actionExecutedContext.Result = new JsonResult(CreateDataError(MessageApiError.USER_NOT_EXIT)); } catch (Exception e) { Console.WriteLine(e.Message); actionExecutedContext.Result = new JsonResult(CreateDataError(MessageApiError.USER_NOT_EXIT)); } }
public ReturnObject PortfolioValueHistory(string condition) { var email = User.Claims.Where(c => c.Type == ClaimTypes.Email).Select(c => c.Value).SingleOrDefault(); var query = new Dictionary <string, string> { { "Email", email } }; var userModel = _userBusiness.GetUserInfo(query); if (userModel == null) { //return error return(new ReturnObject { Status = Status.STATUS_ERROR, Message = "User not exist in DB" }); } var userid = userModel.Id; var currentTime = CommonHelper.GetUnixTimestamp(); if (!Time.SECOND_COUNT_IN_PERIOD.ContainsKey(condition)) { return(new ReturnObject { Status = Status.STATUS_ERROR, Message = "Data not found with condition " + condition }); } return(Result(userid, currentTime - Time.SECOND_COUNT_IN_PERIOD[condition], currentTime, condition == DashboardConfig.CURRENT ? condition : null)); }
public void UserInfo() { Console.WriteLine("start"); var repositoryConfig = new RepositoryConfiguration { ConnectionString = AppSettingHelper.GetDbConnection() }; Console.WriteLine("New Address"); PersistenceFactory = new VakapayRepositoryMysqlPersistenceFactory(repositoryConfig); var userBus = new UserBusiness.UserBusiness(PersistenceFactory); var search = new Dictionary <string, string> { { "Email", "" } }; var resultCreated = userBus.GetUserInfo(search); Console.WriteLine(JsonHelper.SerializeObject(resultCreated)); }
public ReturnObject GetTransactions(int?limit = null) { try { var email = User.Claims.Where(c => c.Type == ClaimTypes.Email).Select(c => c.Value).SingleOrDefault(); var query = new Dictionary <string, string> { { "Email", email } }; var userModel = _userBusiness.GetUserInfo(query); if (userModel == null) { //return error return(new ReturnObject { Status = Status.STATUS_ERROR, Message = "User not exist in DB" }); } var userId = userModel.Id; var bitcoinDepositTrxRepo = new BitcoinDepositTransactionRepository(_repositoryFactory.GetOldConnection()); var bitcoinWithdrawTrxRepo = new BitcoinWithdrawTransactionRepository(_repositoryFactory.GetOldConnection()); var ethereumDepositTrxRepo = new EthereumDepositTransactionRepository(_repositoryFactory.GetOldConnection()); var ethereumWithdrawTrxRepo = new EthereumWithdrawnTransactionRepository(_repositoryFactory.GetOldConnection()); var vakacoinDepositTrxRepo = new VakacoinDepositTransactionRepository(_repositoryFactory.GetOldConnection()); var vakacoinWithdrawTrxRepo = new VakacoinWithdrawTransactionRepository(_repositoryFactory.GetOldConnection()); var activities = new List <RecentActivity>(); activities.AddRange(ProcessTransactions(bitcoinDepositTrxRepo.FindTransactionsByUserId(userId), DashboardConfig.BITCOIN, false)); activities.AddRange(ProcessTransactions(bitcoinWithdrawTrxRepo.FindTransactionsByUserId(userId), DashboardConfig.BITCOIN, true)); activities.AddRange(ProcessTransactions(ethereumDepositTrxRepo.FindTransactionsByUserId(userId), DashboardConfig.ETHEREUM, false)); activities.AddRange(ProcessTransactions(ethereumWithdrawTrxRepo.FindTransactionsByUserId(userId), DashboardConfig.ETHEREUM, true)); activities.AddRange(ProcessTransactions(vakacoinDepositTrxRepo.FindTransactionsByUserId(userId), DashboardConfig.VAKACOIN, false)); activities.AddRange(ProcessTransactions(vakacoinWithdrawTrxRepo.FindTransactionsByUserId(userId), DashboardConfig.VAKACOIN, true)); var sortedActivities = activities.OrderByDescending(o => o.TimeStamp).ToList(); if (limit != null && limit > 0 && limit < sortedActivities.Count) { sortedActivities = sortedActivities.GetRange(0, (int)limit); } return(new ReturnObject { Status = Status.STATUS_SUCCESS, Data = JsonHelper.SerializeObject(sortedActivities) }); } catch (Exception e) { return(new ReturnObject { Status = Status.STATUS_ERROR, Message = e.Message }); } }
public async Task <string> GetCurrentUser() { try { var email = User.Claims.Where(c => c.Type == ClaimTypes.Email).Select(c => c.Value) .SingleOrDefault(); if (string.IsNullOrEmpty(email)) { return(CreateDataError("Can't not email")); } var query = new Dictionary <string, string> { { "Email", email } }; var userModel = _userBusiness.GetUserInfo(query); var ip = HelpersApi.GetIp(Request); IpGeographicalLocation location = null; if (!string.IsNullOrEmpty(ip)) { //get location for ip location = await IpGeographicalLocation.QueryGeographicalLocationAsync(ip); } if (userModel == null) { var jsonUser = User.Claims.Where(c => c.Type == "userInfo").Select(c => c.Value) .SingleOrDefault(); var userClaims = Vakapay.Models.Entities.User.FromJson(jsonUser); userClaims.Notifications = "1,2,3"; if (location != null) { if (location.Currency?.Code != null) { userClaims.CurrencyKey = location.Currency.Code; } if (location.TimeZone?.Id != null) { userClaims.TimezoneKey = location.TimeZone.Id; } } var resultData = _userBusiness.Login(userClaims); if (resultData.Status == Status.STATUS_ERROR) { return(CreateDataError(resultData.Message)); } userModel = Vakapay.Models.Entities.User.FromJson(resultData.Data); return(_walletBusiness.MakeAllWalletForNewUser(userModel).ToJson()); } if (string.IsNullOrEmpty(ip)) { return new ReturnObject { Status = Status.STATUS_SUCCESS, Data = Vakapay.Models.Entities.User.ToJson(userModel) } } .ToJson(); UpdateCurrencyAndTimeZone(userModel, location); var browser = HelpersApi.GetBrowser(Request); var confirmedDevices = new ConfirmedDevices { Browser = browser, Ip = ip, Location = location != null && !string.IsNullOrEmpty(location.CountryName) ? location.City + "," + location.CountryName : "localhost", UserId = userModel.Id }; var search = new Dictionary <string, string> { { "Ip", ip }, { "Browser", browser } }; //save devices var checkConfirmedDevices = _userBusiness.GetConfirmedDevices(search); if (checkConfirmedDevices == null) { _userBusiness.SaveConfirmedDevices(confirmedDevices); } userModel.SecretAuthToken = null; userModel.TwoFactorSecret = null; userModel.SecondPassword = null; userModel.Id = null; userModel.PhoneNumber = !string.IsNullOrEmpty(userModel.PhoneNumber) ? "*********" + userModel.PhoneNumber.Remove(0, 9) : null; if (userModel.Birthday.Contains("1900-01-01")) { userModel.Birthday = null; } return(new ReturnObject { Status = Status.STATUS_SUCCESS, Data = userModel.ToJson() }.ToJson()); }