public TokenTownBusResponse GetAccessTokenTownBus(TokenRequestTownBus requestParams) { TokenTownBusResponse tokenTownBus = new TokenTownBusResponse(); var townBusEntity = new TownBusEntities(); bool isExistToken = false; WalletTransactionUow WalletTransactionUnitOfWork = null; try { var strCredencial = SimpleAesUtil.DecryptAES(requestParams.Credential, EwalletConstant.keyAES).Split(';'); var isExists = new WalletUserTownbusQueryBuilder(new TownBusEntities()).GetUserByLoginIdnPassword(strCredencial.First(), strCredencial.Last()).FirstOrDefault(); if (isExists != null) { var branch = new WalletBranchTownBusQueryBuilder(new TownBusEntities()).HasBranchId(isExists.Branch_ID).FirstOrDefault(); if (branch != null) { tokenTownBus.CompanyID = branch.Company_ID; } tokenTownBus.AccessToken = SimpleAesUtil.EncryptAES(isExists.User_ID + isExists.Password + DateTime.Now.ToString("yyyy-MM-dd hh:00:00"), EwalletConstant.keyAES); tokenTownBus.UserID = isExists.User_ID; //save notificateToken to config if (string.IsNullOrWhiteSpace(requestParams.NotificationToken)) { isExistToken = new TownBusNotificationQueryBuilder(townBusEntity).HasNotificationUniqueId(requestParams.CarPlate, tokenTownBus.CompanyID, requestParams.NotificationUniqueId.Trim()); } else { isExistToken = new TownBusNotificationQueryBuilder(townBusEntity).HasNotifcationToken(requestParams.CarPlate, tokenTownBus.CompanyID, requestParams.NotificationToken.Trim()); } if (!isExistToken) { // var busType = new TownBusTypeQueryBuilder(townBusEntity).GetBusIdByCompanyIdnBusNo(tokenTownBus.CompanyID, requestParams.CarPlate).FirstOrDefault(); using (WalletTransactionUnitOfWork = new WalletTransactionUow(townBusEntity)) { TownBusNotification townBusNotification = new TownBusNotification(); townBusNotification.CarPlate = requestParams.CarPlate; townBusNotification.CompanyID = tokenTownBus.CompanyID; //townBusNotification.BusID = busType.Bus_ID; townBusNotification.NotificationToken = requestParams.NotificationToken.Trim(); townBusNotification.NotificationUniqueId = requestParams.NotificationUniqueId.Trim(); WalletTransactionUnitOfWork.BeginTransaction(System.Data.IsolationLevel.RepeatableRead) .DoInsert(townBusNotification) .EndTransaction(); } } } } catch (Exception ex) { var logWallet = new LogWallet(); logWallet.Log(MethodBase.GetCurrentMethod(), requestParams.Credential, ex, ""); return(tokenTownBus); } return(tokenTownBus); }
public IHttpActionResult TokenTownBus(string sign, TokenRequestTownBus requests) { var inputParams = new { sign = sign, request = requests }; var response = new TokenTownBusResponse(); try { if (!VerifyAPICaller(sign, response)) { return(Ok(response)); } response = _walletApiLogic.GetAccessTokenTownBus(requests); VerifyResponse(MethodBase.GetCurrentMethod(), response, inputParams); } catch (Exception ex) { Fail(MethodBase.GetCurrentMethod(), response, ex, inputParams, "Error : Failed to TokenTownBus "); } return(Ok(response)); }