public static IEntity ToEntity(ContractBase contract) { string methodName = string.Format("To{0}", contract.GetType().Name.Replace("Contract", "")); MethodInfo method = typeof(Converter).GetMethod(methodName); return(method.Invoke(null, new object[] { contract }) as IEntity); }
public ContractKey(ContractBase entity) { this.Entity = entity; if (entity != null) { this.contractCode = entity.ContractCode; } }
public static Contract ToIbMainSecurityContract(this ContractBase msContract) { return(new Contract { Symbol = msContract.Symbol, Currency = msContract.Currency, SecType = GetSecType(msContract.SecurityType), Exchange = msContract.Exchange }); }
public ClientTransaction BuildEntity(System.Data.IDataReader reader) { byte[] objectData = DataHelper.GetByteArrayValue(reader[FieldNames.ObjectData]); ContractBase contract = Serializer.Deserialize(objectData) as ContractBase; IEntity entity = Converter.ToEntity(contract); return(new ClientTransaction(reader[FieldNames.ClientTransactionId], (TransactionType)DataHelper.GetInteger(reader[FieldNames.TransactionType]), entity)); }
//adds cash from contract to your cash reserve public void cashContract(ContractBase contract) { if(!contract.repeatable) contract.accepted = true; //float cashInflux = contract.finalPerf * contract.diff; float cashInflux = 0; if (contract.getCachedPerformance() > 1) cashInflux = contract.rewardMoney; cashInflux *= cashInflowMultiplier; hellBucks += cashInflux; reputation += contract.getCachedPerformance(); }
public void BaseContractTest() { var bp1 = new ContractBase("a", "b"); var bp2 = bp1.ToJson().FromJson <ContractBase>(); Assert.Equal(bp1, bp2); Assert.True(bp1 == bp2); Assert.False(bp1 != bp2); Assert.True(bp1 != null); ContractBase bp3 = null; Assert.False(bp3 != null); Assert.True(bp3 == null); bp3 = new ContractBase("c", "d"); Assert.False(bp1 == bp3); Assert.True(bp1 != bp3); }
private void SaveContractDetailsIfNeeded <T>(ContractBase contract) { if (_session.Get <T>(contract.Id) == null) { using (ITransaction transaction = _session.BeginTransaction()) { _session.Save(contract); try { transaction.Commit(); } catch (Exception exception) { Logger.Error("Could not write to DB", exception); } } } }
/// <summary> /// Request detail data for one security that is not option. /// The same like "RequestContinousContractData" but for 1 security. /// </summary> public async void RequestSecurityContractDetails(SecurityData securityData) { ContractBase contractBase = securityData.GetContract(); if (contractBase.SecurityType == SecurityType.Option) { throw new Exception("This method is for securities other than options!!!"); } Contract ibContract = contractBase.ToIbContract(); _handler.AddManagedSecurity(ibContract); Logger.Info($"{nameof(RequestSecurityContractDetails)} " + $"called, requesting {ibContract}"); int reqId = GenerateRequestId(); _clientSocket.reqContractDetails(reqId, ibContract); var contracts = await _handler.WaitForContractDetails(reqId); contracts.ForEach(RequestMarketData); }
public ContractBase RegisterContract(int requestId, ContractBase contract, ContractDetails IbContract) { lock (SecurityDataDic) { var optionContract = contract as OptionContract; BaseSecurityData securityData; if (optionContract != null) { securityData = new OptionData { Account = AccountSummary.MainAccount }; } else { securityData = new SecurityData { Account = AccountSummary.MainAccount } }; securityData.SetContract(contract); IbContract.UpdateSecurityData(contract); SecurityDataDic.Add(requestId, new SecuirtyDataWrapper(securityData)); return(contract); } }
private bool DeclaredByContractType(MethodReference method) { return(ContractBase.IsAssignableFrom(method.DeclaringType)); }
public ServerTransaction(object key, TransactionType type, ContractBase contract) : base(key, type) { this.contract = contract; }
//click quest, set it to active if not repeating, go to demon screen public void goToDemonAssignment(int contractIndex) { //call when you click a contract demonScreen.SetActive (true); requestScreen.SetActive (false); currentUnassignedContract = open_contracts[contractIndex]; topRightField.text = open_contracts [contractIndex].contractName; Debug.Log (open_contracts[contractIndex].contractName); }
static void Main(string[] args) { #region Basic Preparation //Init Logger string logName = "ContractTest_" + DateTime.Now.ToString("MMddHHmmss") + ".log"; string dir = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "logs", logName); Logger.InitLogHelper(dir); string url = "http://192.168.199.222:8000/chain"; var ch = new CliHelper(url, AccountManager.GetDefaultDataDir()); //Account preparation List <string> accList = new List <string>(); var ci = new CommandInfo("account new", "account"); for (int i = 0; i < 50; i++) { ci.Parameter = "123"; ci = ch.ExecuteCommand(ci); if (ci.Result) { accList.Add(ci.InfoMsg?[0].Replace("Account address:", "").Trim()); } } //Unlock ci = new CommandInfo("account unlock", "account"); ci.Parameter = String.Format("{0} {1} {2}", accList[0], "123", "notimeout"); ci = ch.ExecuteCommand(ci); //Connect Chain ci = new CommandInfo("connect_chain"); ch.ExecuteCommand(ci); Assert.IsTrue(ci.Result, "Connect chain got exception."); //Get AElf.Contracts.Token ABI ci.GetJsonInfo(); TokenAbi = ci.JsonInfo["AElf.Contracts.Token"].ToObject <string>(); //Load default Contract Abi ci = new CommandInfo("load_contract_abi"); ch.RpcLoadContractAbi(ci); Assert.IsTrue(ci.Result, "Load contract abi got exception."); #endregion #region AElf.Token operation var contract = new ContractBase(ch, TokenAbi); contract.Account = accList[0]; //Deploy //contract.DeployContract(out var txId); //Load contract.LoadContractAbi(); //Init contract.ExecuteContractMethod(out var txId1, "Initialize", "elfToken", "ELF", "2000000", "2"); contract.CheckTransactionResult(out var initCi, txId1); //Transfer to Account A, B, C contract.ExecuteContractMethod(out var txIdA, "Transfer", accList[1], "5000"); contract.ExecuteContractMethod(out var txIdB, "Transfer", accList[2], "10000"); contract.ExecuteContractMethod(out var txIdC, "Transfer", accList[3], "15000"); //check result contract.CheckTransactionResult(out var aCi, txIdA); contract.CheckTransactionResult(out var bCi, txIdB); contract.CheckTransactionResult(out var cCi, txIdC); //Get balance contract.ExecuteContractMethod(out var txOwner, "BalanceOf", accList[0]); contract.ExecuteContractMethod(out var txBA, "BalanceOf", accList[1]); contract.ExecuteContractMethod(out var txBB, "BalanceOf", accList[2]); contract.ExecuteContractMethod(out var txBC, "BalanceOf", accList[3]); //Query Result contract.GetTransactionResult(txOwner, out var ciOwner); contract.CheckTransactionResult(out var ciA, txBA); contract.CheckTransactionResult(out var ciB, txBB); contract.CheckTransactionResult(out var ciC, txBC); //Convert to Value ciOwner.GetJsonInfo(); string valueStr1 = ciOwner.JsonInfo["result"]["result"]["return"].ToString(); Logger.WriteInfo($"Owner current balance: {Convert.ToInt32(valueStr1, 16)}"); ciA.GetJsonInfo(); string valueStrA = ciA.JsonInfo["result"]["result"]["return"].ToString(); Logger.WriteInfo($"A current balance: {Convert.ToInt32(valueStrA, 16)}"); ciB.GetJsonInfo(); string valueStrB = ciB.JsonInfo["result"]["result"]["return"].ToString(); Logger.WriteInfo($"B current balance: {Convert.ToInt32(valueStrB, 16)}"); ciC.GetJsonInfo(); string valueStrC = ciC.JsonInfo["result"]["result"]["return"].ToString(); Logger.WriteInfo($"C current balance: {Convert.ToInt32(valueStrC, 16)}"); #endregion #region AElf.Contract.Resource #endregion }
//methods void Start() { /*Recipes.instance = new Recipes (); Recipes.instance.RecipeStart ();*/ reputation = 30; open_contracts = new ContractBase[6]; for(int i = 0; i < open_contracts.Length; i++) { open_contracts[i] = new ContractBase (1F); } HeldIngredients = new Dictionary<string, int>(); foreach (KeyValuePair<string, Ingredients> pair in Recipes.instance.name_ingredient) { HeldIngredients.Add(pair.Key, 0); } open_contracts[5] = new GatherQuest(); GenerateContracts(); instance = this; roundManager = GetComponent<RoundManager>(); }
private void cacheContract(ContractBase contract) { //called after assignDemon if(!contract.repeatable) contract.accepted = true; cachedContracts.Add (contract); }
public static void UpdateSecurityDataOld(this ContractDetails contractDetails, ContractBase securityContract) { //LiquidHours="20150427:0930-1600;20150428:0930-1600" //"20090507:0700-1830,1830-2330;20090508:CLOSED." "20150503:CLOSED;20150504:0930-1600" //TimeZoneId="EST5EDT" string liquidHoursStr = contractDetails.LiquidHours; if (string.IsNullOrEmpty(liquidHoursStr)) { Debug.Assert(false, "Problem with AAPLContractDetailsData " + "liquidHoursStr is null or empty!"); } //For testing only: //liquidHoursStr = "20150624:0141-0600;20150600:0930-1600";//For Testing only string[] workingDays = liquidHoursStr.Split(';'); //Eastern Standard Time TimeZoneInfo ist = TimeZoneInfo.FindSystemTimeZoneById("Israel Standard Time"); //Israel Standard Time TimeZoneInfo est = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time"); string closedStr = workingDays[0].Substring(9, 6); //Check for the case tommorow is holiday: string tommorowClosed = workingDays[1].Substring(9, 6); bool isTommorowHoliday = tommorowClosed.Equals("CLOSED"); var nextDayItem = 1; if (isTommorowHoliday) { nextDayItem = 3; //To be changed it's bug } securityContract.NextWorkingTime = DateTime.ParseExact(workingDays[nextDayItem].Substring(0, 13), //Update securityContract object "yyyyMMdd:HHmm", CultureInfo.CurrentCulture, DateTimeStyles.None); securityContract.NextWorkingTime = TimeZoneInfo.ConvertTime//Update securityContract object (securityContract.NextWorkingTime, est, ist); //handle the different time between local time and exchange time: bool nextDayIsToday = securityContract.NextWorkingTime.Date == DateTime.Today; securityContract.IsWorkingDay = ((closedStr.Equals("CLOSED") == false) || (nextDayIsToday));//Update securityContract object string msg; if (securityContract.IsWorkingDay == false) { msg = string.Format("Today is not workingDay. NextWorkingTime={0}", securityContract.NextWorkingTime); Logger.Info(msg); return; } var stringToParse = nextDayIsToday ? workingDays[1] : workingDays[0]; securityContract.StartTradingTime = DateTime.ParseExact(stringToParse.Substring(0, 13),//Update securityContract object "yyyyMMdd:HHmm", CultureInfo.CurrentCulture, DateTimeStyles.None); securityContract.StartTradingTimeLocal = TimeZoneInfo.ConvertTime //Update securityContract object (securityContract.StartTradingTime, est, ist); //For Test: StartTradingTimeLocal = DateTime.Now.AddMinutes(1); string endTimeStr = stringToParse.Substring(0, 8) + " " + stringToParse.Substring(14, 4); securityContract.EndTradingTime = DateTime.ParseExact(endTimeStr, "yyyyMMdd HHmm", //Update securityContract object CultureInfo.CurrentCulture, DateTimeStyles.None); securityContract.EndTradingTimeLocal = TimeZoneInfo.ConvertTime //Update securityContract object (securityContract.EndTradingTime, est, ist); //For Testing: securityContract.StartTradingTimeLocal = DateTime.Now.AddMinutes(1); //For Testing: securityContract.EndTradingTimeLocal = DateTime.Now.AddMinutes(3); msg = $"Today is workingDay! StartTradingTime={securityContract.StartTradingTimeLocal}, EndTradingTime:{securityContract.EndTradingTimeLocal}. "; Logger.Debug(msg); }
public static void UpdateSecurityData(this ContractDetails contractDetails, ContractBase securityContract) { //LiquidHours="20150427:0930-1600;20150428:0930-1600" //"20090507:0700-1830,1830-2330;20090508:CLOSED." "20150503:CLOSED;20150504:0930-1600" //TimeZoneId="EST5EDT" if (contractDetails.Summary.SecType.Equals("OPT")) { return; } string liquidHoursStr = contractDetails.LiquidHours; if (string.IsNullOrEmpty(liquidHoursStr)) { Debug.Assert(false, "Problem with AAPLContractDetailsData " + "liquidHoursStr is null or empty!"); } //For testing only: //liquidHoursStr = "20150624:0141-0600;20150600:0930-1600";//For Testing only string[] workingDays = liquidHoursStr.Split(';'); //Eastern Standard Time TimeZoneInfo ist = TimeZoneInfo.FindSystemTimeZoneById("Israel Standard Time"); //Israel Standard Time TimeZoneInfo est = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time"); //Find next working day/time: var nextWorkingDayItem = -1; string closedStr = "CLOSED"; while (closedStr == "CLOSED") { nextWorkingDayItem++; closedStr = workingDays[nextWorkingDayItem].Substring(9, 6); } string stringToParse = workingDays[nextWorkingDayItem]; securityContract.NextWorkingTime = DateTime.ParseExact( stringToParse.Substring(0, 13), //Update securityContract object "yyyyMMdd:HHmm", CultureInfo.CurrentCulture, DateTimeStyles.None); securityContract.StartTradingTime = securityContract.NextWorkingTime; securityContract.StartTradingTimeLocal = TimeZoneInfo.ConvertTime //Update securityContract object (securityContract.StartTradingTime, est, ist); securityContract.NextWorkingTime = TimeZoneInfo.ConvertTime //Update securityContract object (securityContract.NextWorkingTime, est, ist); //handle the different time between local time and exchange time: securityContract.IsWorkingDay = securityContract.NextWorkingTime.Date == DateTime.Today; //Update securityContract object var endTimeStr = stringToParse.Substring(0, 8) + " " + stringToParse.Substring(14, 4); securityContract.EndTradingTime = DateTime.ParseExact(endTimeStr, "yyyyMMdd HHmm", //Update securityContract object CultureInfo.CurrentCulture, DateTimeStyles.None); securityContract.EndTradingTimeLocal = TimeZoneInfo.ConvertTime //Update securityContract object (securityContract.EndTradingTime, est, ist); var msg = securityContract.IsWorkingDay == false ? $"Today is not workingDay. NextWorkingTime={securityContract.NextWorkingTime}" : $"Today is workingDay! StartTradingTime={securityContract.StartTradingTimeLocal}, EndTradingTime:{securityContract.EndTradingTimeLocal}. "; Logger.Info(msg); }
public void GenerateContracts() { System.Random rnd = new System.Random((int)System.DateTime.Now.Ticks); for(int x = 0; x < 5; x++) { int difficulty = (int)Mathf.Min(5,Mathf.Max(reputation / 20 + rnd.Next(-1, 1), 1)); open_contracts[x] = new ContractBase(difficulty); } }
public void Visit(A a) { Contract = Mapper.Map <A, ContractA>(a); }
public void Visit(B b) { Contract = Mapper.Map <B, ContractB>(b); }