static AuFormsHelpers() { _cvInfoMap["hstack"] = new ConvInfo { Handler = ConvertHStack, ElementsAllowed = "*" }; _cvInfoMap["vstack"] = new ConvInfo { Handler = ConvertVStack, ElementsAllowed = "*" }; _cvInfoMap["grid-layout"] = new ConvInfo { Handler = ConvertGridLayout, ElementsAllowed = "*" }; _cvInfoMap["textblock"] = new ConvInfo { Handler = ConvertTextBlock }; _cvInfoMap["textbox"] = new ConvInfo { Handler = ConvertTextBox }; _cvInfoMap["numbox"] = new ConvInfo { Handler = ConvertTextBox }; _cvInfoMap["textarea"] = new ConvInfo { Handler = ConvertTextArea }; _cvInfoMap["checkbox"] = new ConvInfo { Handler = ConvertCheckBox }; _cvInfoMap["radio"] = new ConvInfo { Handler = ConvertRadio, ElementsAllowed = "option" }; _cvInfoMap["select"] = new ConvInfo { Handler = ConvertSelect, ElementsAllowed = "option" }; _cvInfoMap["select2"] = new ConvInfo { Handler = ConvertSelect, ElementsAllowed = "option" }; _cvInfoMap["multiselect"] = new ConvInfo { Handler = ConvertSelect, ElementsAllowed = "option" }; _cvInfoMap["pillselect"] = new ConvInfo { Handler = ConvertSelect, ElementsAllowed = "option" }; _cvInfoMap["option"] = new ConvInfo { Handler = ConvertOption }; _cvInfoMap["fgdate"] = new ConvInfo { Handler = ConvertPicker }; _cvInfoMap["fgtime"] = new ConvInfo { Handler = ConvertPicker }; _cvInfoMap["button"] = new ConvInfo { Handler = ConvertButton }; _cvInfoMap["panel"] = new ConvInfo { Handler = ConvertPanel, ElementsAllowed = "*" }; }
public async Task OnTurn(ITurnContext context, MiddlewareSet.NextDelegate next) { string botReply = ""; if (context.Activity.Type == ActivityTypes.Message) { if (context.Activity.Text.ToLower() == "history") { // Read last 5 responses from the database, and short circuit future execution await context.SendActivity(await cdh.ReadFromDatabase(5, "BotData", "BotCollection")); return; } // Create a send activity handler to grab all response activities // from the activity list. context.OnSendActivities(async(activityContext, activityList, activityNext) => { foreach (Activity activity in activityList) { botReply += (activity.Text + " "); } return(await activityNext()); }); } await next(); // Save logs for each conversational exchange only if (context.Activity.Type == ActivityTypes.Message) { // Write log to the database var convHistory = new ConvInfo { Time = DateTime.Now.ToString(), Sender = context.Activity.From.Name, Message = context.Activity.Text, Reply = botReply }; try { var document = await cdh.docClient.CreateDocumentAsync(UriFactory.CreateDocumentCollectionUri("BotData", "BotCollection"), convHistory); } catch (Exception ex) { //TODO: More logic for what to do on a failed write can be added here throw ex; } } }
static JObject ConvertNode(ConvContext pctx, XElement xnode) { var jnode = new JObject(); string name = xnode.Name.LocalName; int dotpos = name.IndexOf('.'); if (dotpos >= 0) { var propName = name.Substring(dotpos + 1); var cctx = pctx.CreateChild(); foreach (XElement xchild in xnode.Elements()) { JObject jc = ConvertNode(cctx, xchild); pctx.JParent[propName] = jc; break; } return(null); } else { ConvInfo cvInfo = _cvInfoMap[name]; jnode["type"] = name; var id = (string)xnode.Attribute("id"); if (string.IsNullOrEmpty(id) == false) { pctx.IdMap[id] = true; jnode["id"] = id; } ConvertParamString(pctx, xnode, jnode, "halign"); ConvertParamString(pctx, xnode, jnode, "margin"); //ConvertThickness(pctx, xnode, jnode, "margin"); ConvertParamBool(pctx, xnode, jnode, "visible"); ConvertParamBool(pctx, xnode, jnode, "enabled"); if (pctx.Parent.ColLabel != null) { jnode["gcols"] = new JArray( pctx.Parent.ColLabel.Col1, pctx.Parent.ColLabel.Col2 ); } JObject jresult = cvInfo.Handler(pctx, xnode, jnode); if (jresult != null) { var cctx = pctx.CreateChild(); cctx.XParent = xnode; cctx.JParent = jnode; if (string.IsNullOrEmpty(cvInfo.ElementsAllowed)) { if (xnode.Elements().Any()) { throw new InvalidDataException($"The element {name} does not allow any children elements."); } } else { var jarr = new JArray(); bool isJolly = cvInfo.ElementsAllowed == "*"; string[] parts = cvInfo.ElementsAllowed.Split(' '); foreach (XElement xchild in xnode.Elements()) { if (isJolly || parts.Contains(xchild.Name.LocalName) || xchild.Name.LocalName.Contains('.')) { JObject jc = ConvertNode(cctx, xchild); if (jc != null) { jarr.Add(jc); } } else { throw new InvalidDataException($"The element {name} does not allow the {xchild.Name.LocalName} element as child."); } } if (jarr.Count != 0) { jresult["nodes"] = jarr; } } } return(jresult); } }
static AuFormsHelpers() { _cvInfoMap["row"] = new ConvInfo { Handler = ConvertRow, ElementsAllowed = "*" }; _cvInfoMap["stack"] = new ConvInfo { Handler = ConvertStack, ElementsAllowed = "*" }; _cvInfoMap["grid-layout"] = new ConvInfo { Handler = ConvertGridLayout, ElementsAllowed = "*" }; _cvInfoMap["host"] = new ConvInfo { Handler = ConvertHost }; _cvInfoMap["icon"] = new ConvInfo { Handler = ConvertIcon }; _cvInfoMap["textblock"] = new ConvInfo { Handler = ConvertTextBlock }; _cvInfoMap["textbox"] = new ConvInfo { Handler = ConvertTextBox }; _cvInfoMap["numbox"] = new ConvInfo { Handler = ConvertNumBox }; _cvInfoMap["colorbox"] = new ConvInfo { Handler = ConvertColorBox }; _cvInfoMap["textarea"] = new ConvInfo { Handler = ConvertTextArea }; _cvInfoMap["checkbox"] = new ConvInfo { Handler = ConvertCheckBox }; _cvInfoMap["radiobox"] = new ConvInfo { Handler = ConvertRadioBox }; _cvInfoMap["radioselect"] = new ConvInfo { Handler = ConvertRadioSelect, ElementsAllowed = "option" }; _cvInfoMap["select"] = new ConvInfo { Handler = ConvertSelect, ElementsAllowed = "option" }; _cvInfoMap["select2"] = new ConvInfo { Handler = ConvertSelect, ElementsAllowed = "option" }; _cvInfoMap["multiselect"] = new ConvInfo { Handler = ConvertSelect, ElementsAllowed = "option" }; _cvInfoMap["pillselect"] = new ConvInfo { Handler = ConvertSelect, ElementsAllowed = "option" }; _cvInfoMap["option"] = new ConvInfo { Handler = ConvertOption }; _cvInfoMap["fgdate"] = new ConvInfo { Handler = ConvertPicker }; _cvInfoMap["fgtime"] = new ConvInfo { Handler = ConvertPicker }; _cvInfoMap["fgdatetime"] = new ConvInfo { Handler = ConvertPicker }; _cvInfoMap["button"] = new ConvInfo { Handler = ConvertButton }; _cvInfoMap["panel"] = new ConvInfo { Handler = ConvertPanel, ElementsAllowed = "*" }; }
private void SetWarmUpTime(List<ISimulationCarrier> carrierList) { foreach (SimulationCarrier carrier in carrierList) { ConvInfo curConvTotal = carrier.ConvParam.CurConvTotal; curConvTotal.ULIoT += carrier.IOTTTI; ConvInfo info3 = carrier.ConvParam.CurConvTotal; info3.ULLoad += carrier.UlActualLoad; ConvInfo info4 = carrier.ConvParam.CurConvTotal; info4.ULThroughput += carrier.UlActualTh; ConvInfo info5 = carrier.ConvParam.CurConvTotal; info5.DLLoad += carrier.DlActualLoad; ConvInfo info6 = carrier.ConvParam.CurConvTotal; info6.DLThroughput += carrier.DlActualTh; ConvInfo item = new ConvInfo(); item.ULIoT = carrier.IOTTTI; item.ULLoad = carrier.UlActualLoad; item.ULThroughput = carrier.UlActualTh; item.DLLoad = carrier.DlActualLoad; item.DLThroughput = carrier.DlActualTh; carrier.ConvParam.ConvInfoList.Add(item); if (carrier.ConvParam.ConvInfoList.Count > SimulationConstant.DELTA_TTI) { ConvInfo info2 = carrier.ConvParam.ConvInfoList[0]; carrier.ConvParam.ConvInfoList.RemoveAt(0); ConvInfo info7 = carrier.ConvParam.CurConvTotal; info7.ULIoT -= info2.ULIoT; ConvInfo info8 = carrier.ConvParam.CurConvTotal; info8.ULLoad -= info2.ULLoad; ConvInfo info9 = carrier.ConvParam.CurConvTotal; info9.ULThroughput -= info2.ULThroughput; ConvInfo info10 = carrier.ConvParam.CurConvTotal; info10.DLLoad -= info2.DLLoad; ConvInfo info11 = carrier.ConvParam.CurConvTotal; info11.DLThroughput -= info2.DLThroughput; } } if ((this.m_CurTTI >= (SimulationConstant.TTI_START + SimulationConstant.DELTA_TTI)) && ((((this.m_CurTTI - SimulationConstant.TTI_START) - SimulationConstant.DELTA_TTI) % SimulationConstant.DELTA_T) == 0)) { this.JudgeOnConvPeriod(carrierList); } }
private bool GetIsConv(ConvInfo curInfo, ConvInfo preInfo) { bool flag = true; flag &= Math.Abs((float) (preInfo.ULIoT - curInfo.ULIoT)) < (SimulationConstant.CONV_ULIOT_THRESHOLD * SimulationConstant.DELTA_TTI); flag &= Math.Abs((float) (preInfo.ULLoad - curInfo.ULLoad)) < (SimulationConstant.CONV_ULLOAD_THRESHOLD * SimulationConstant.DELTA_TTI); flag &= Math.Abs((float) (preInfo.DLLoad - curInfo.DLLoad)) < (SimulationConstant.CONV_DLLOAD_THRESHOLD * SimulationConstant.DELTA_TTI); flag &= this.IsThroughputConvergent(preInfo.ULThroughput, curInfo.ULThroughput, SimulationConstant.CONV_ULTH_THRESHOLD); return (flag & this.IsThroughputConvergent(preInfo.DLThroughput, curInfo.DLThroughput, SimulationConstant.CONV_DLTH_THRESHOLD)); }