Inheritance: MonoBehaviour
Exemplo n.º 1
0
 private static Flow DefineDemoQuerySteps()
 {
     var retVal = new Flow();
     retVal.Add(new Step("10", "Enter the name of the connection string", "Plugin.ConsoleUI.PublishStringFromUI"));
     retVal.Add(new Step("20", "Get the connection string", "Plugin.DataHelper.PublishConnectionString",
                         new[] { new Parameter("String", "10", 0) }));
     retVal.Add(new Step("30", "Parse the connection string", "Plugin.DataHelper.ParseConnectionString",
                         new[] { new Parameter("Connection String", "20", 0), }));
     retVal.Add(new Step("40", "Build DB verification string", "Plugin.DataHelper.PublishSanitisedConnectionStringForVerification",
                         new[] { new Parameter("Connection String Parts", "30", 0), }));
     retVal.Add(new Step("50", "Confirm DB", "Plugin.ConsoleUI.Confirm",
                         new[] { new Parameter("String", "40", 0), }));
     retVal.Add(new Step("60", "Publish demo row action", "Plugin.Demo.Query.PublishRowActionForQuery1"));
     retVal.Add(new Step("80", "Get the query", "Plugin.DataHelper.PublishQuery",
                         new[]
                             {
                                 new Parameter("String", "60", 0),
                                 new Parameter("Configuration Info", "60", 0),
                             }));
     retVal.Add(new Step("90", "Run the query", "Plugin.DataHelper.PerformActionOnEveryRow",
                         new[]
                             {
                                 new Parameter("Row Action", "60", 0),
                                 new Parameter("Connection String", "20", 0),
                                 new Parameter("Query Definition", "80", 0),
                             }));
     return retVal;
 }
Exemplo n.º 2
0
        public void Execute(Flow steps)
        {
            string name = string.Empty;
            try
            {
                foreach (var step in steps.OrderedContents)
                {
                    name = step.ActionName;
                    logger.DebugFormat("*** {0} (type={1}) ***", step.Name, step.ActionName);

                    if (BeforeStepExecution != null)
                        BeforeStepExecution(step, EventArgs.Empty);

                    definitions[name].Execute(this, step);

                    if (AfterStepExecution != null)
                        AfterStepExecution(step, EventArgs.Empty);
                }
            }
            catch (KeyNotFoundException)
            {
                logger.ErrorFormat("Action [{0}] was not found in list", name);
                logger.Debug("Actions in list:");
                foreach (var action in definitions)
                    logger.DebugFormat("-> {0}", action.Key);
            }
        }
Exemplo n.º 3
0
        public static Report BiggestCountries()
        {
            var dc = new DataContext();
            var data = new Dictionary<string, GdpItem>();
            var src = Pecunia.Services.GdpDataProvider.GetData();
            var lastYear = src.Max(a=>a.Year);
            foreach (var item in src)
            {
                GdpItem i;
                if (!data.TryGetValue(item.Country, out i))
                    data.Add(item.Country, i = new GdpItem { Country = item.Country });
                i.Process(lastYear, item);
            }

            var res = data.Values.ToArray();
            dc.AddTable("data", res);

            var table = TableGenerator.GetTable(typeof(GdpItem), "data");
            table.Columns.Last().SortIndex = 0;
            table.Columns.Last().SortDirection = SortDirection.Descending;
            for (var i = 0; i < 5; i++)
            {
                table.Columns[i + 2].HeaderText = (lastYear - 4 + i).ToString();
            }

            var flow = new Flow { Orientation = FlowOrientation.Vertical };
            flow.Add(table);

            return Report.CreateReport(flow, dc);
        }
        public void Test2()
        {
            var dc = new DataContext();
            dc.AddTable("data", new[] {
                new Item { Col1="A", Col2 = 2 }
            });

            var flow = new Flow { Orientation = FlowOrientation.Vertical };
            var table = flow.AddTable<Item>("data");
            table.Columns.Single(a => a.DataField == "Col2").ConditionalFormatting = (value) => {
                if (!(value is int))
                    return null;
                var v = (int)value;
                if (v > 0)
                    return new Styling.CellStyle
                    {
                        FontStyle = new Styling.FontStyle
                        {
                            FontColor = Styling.Color.FromHtml("#00FF00")
                        }
                    };
                return null;
            };

            var rep = Report.CreateReport(flow, dc);
            var cells = ReportUtil.GetCellMatrix(rep);

            Assert.IsNull(cells[0][0].CustomStyle);
            Assert.IsNotNull(cells[0][1].CustomStyle);

            var html = HtmlReportWriter.RenderReport(rep, new DefaultHtmlReportTheme());
            Assert.IsTrue(html.Contains("style=\"color:"));
            Assert.IsTrue(html.Contains("#00FF00"));
        }
			public Window Get(Flow.Data.FlowWindow window) {

				Window result = null;
				
				this.list.RemoveAll((info) => {
					
					var w = Flow.FlowSystem.GetWindow(info.id);
					return w == null || w.IsSocial() == false;
					
				});

				if (window.IsSocial() == false) return result;

				foreach (var item in this.list) {

					if (item.id == window.id) {

						result = item;
						break;

					}

				}

				if (result == null) {

					result = new Window(window);
					this.list.Add(result);

				}

				return result;

			}
Exemplo n.º 6
0
        public void Test2()
        {
            var dc = new DataContext();
            dc.AddTable("data", new[] {
                new Item { Name="1", Value = 2, G="1" },
                new Item { Name="2", Value = 3, G="1" },
                new Item { Name="3", Value = 4, G="2" }
            });

            var flow = new Flow { Orientation = FlowOrientation.Vertical };
            flow.AddTable<Item>("data");

            var rep = Report.CreateReport(flow, dc);
            var cells = ReportUtil.GetCellMatrix(rep);

            //RowNumber
            Assert.AreEqual(1, cells[0][0].Value);
            Assert.AreEqual(2, cells[1][0].Value);
            Assert.AreEqual(1, cells[2][0].Value);

            //G2
            Assert.AreEqual(1, cells[2][0].Value);

            //Accumulator
            Assert.AreEqual(2, cells[0][2].Value);
            Assert.AreEqual(5, cells[1][2].Value);
            //G2
            Assert.AreEqual(4, cells[2][2].Value);
        }
Exemplo n.º 7
0
    protected void ODS_Flow_Inserting(object sender, ObjectDataSourceMethodEventArgs e)
    {
        flow = (Flow)e.InputParameters[0];

        Controls_TextBox tbRefFlow = (Controls_TextBox)this.FV_Flow.FindControl("tbRefFlow");
        Controls_TextBox tbPartyFrom = (Controls_TextBox)this.FV_Flow.FindControl("tbPartyFrom");
        Controls_TextBox tbLocFrom = (Controls_TextBox)this.FV_Flow.FindControl("tbLocFrom");
        Controls_TextBox tbLocTo = (Controls_TextBox)this.FV_Flow.FindControl("tbLocTo");
        com.Sconit.Control.CodeMstrDropDownList ddlOrderTemplate = (com.Sconit.Control.CodeMstrDropDownList)(this.FV_Flow.FindControl("ddlOrderTemplate"));
        com.Sconit.Control.CodeMstrDropDownList ddlReceiptTemplate = (com.Sconit.Control.CodeMstrDropDownList)(this.FV_Flow.FindControl("ddlReceiptTemplate"));
        //com.Sconit.Control.CodeMstrDropDownList ddlHuTemplate = (com.Sconit.Control.CodeMstrDropDownList)(this.FV_Flow.FindControl("ddlHuTemplate"));
        
        com.Sconit.Control.CodeMstrDropDownList ddlCreateHuOption = (com.Sconit.Control.CodeMstrDropDownList)this.FV_Flow.FindControl("ddlCreateHuOption");

        if (tbRefFlow != null && tbRefFlow.Text.Trim() != string.Empty)
        {
            flow.ReferenceFlow = TheFlowMgr.CheckAndLoadFlow(tbRefFlow.Text.Trim()).Code;
        }

        if (tbPartyFrom != null && tbPartyFrom.Text.Trim() != string.Empty)
        {
            flow.PartyFrom = ThePartyMgr.LoadParty(tbPartyFrom.Text.Trim());
        }

        if (tbLocFrom != null && tbLocFrom.Text.Trim() != string.Empty)
        {
            flow.LocationFrom = TheLocationMgr.LoadLocation(tbLocFrom.Text.Trim());
        }
        if (tbLocTo != null && tbLocTo.Text.Trim() != string.Empty)
        {
            flow.LocationTo = TheLocationMgr.LoadLocation(tbLocTo.Text.Trim());
        }
        if (ddlOrderTemplate.SelectedIndex != -1)
        {
            flow.OrderTemplate = ddlOrderTemplate.SelectedValue;
        }
        if (ddlReceiptTemplate.SelectedIndex != -1)
        {
            flow.ReceiptTemplate = ddlReceiptTemplate.SelectedValue;
        }
        //if (ddlHuTemplate.SelectedIndex != -1)
        //{
        //    flow.HuTemplate = ddlHuTemplate.SelectedValue;
        //}
        if (ddlCreateHuOption.SelectedIndex != -1)
        {
            flow.CreateHuOption = ddlCreateHuOption.SelectedValue;
        }
        flow.CheckDetailOption = BusinessConstants.CODE_MASTER_CHECK_ORDER_DETAIL_OPTION_VALUE_NOT_CHECK;
        flow.Type = BusinessConstants.CODE_MASTER_FLOW_TYPE_VALUE_PRODUCTION;
        flow.AntiResolveHu = BusinessConstants.CODE_MASTER_ANTI_RESOLVE_HU_VALUE_NOT_RESOLVE;
        flow.BillSettleTerm = null;
        flow.PartyTo = flow.PartyFrom;
        flow.CreateUser = this.CurrentUser;
        flow.CreateDate = DateTime.Now;
        flow.LastModifyUser = this.CurrentUser;
        flow.LastModifyDate = DateTime.Now;
        flow.IsAsnUniqueReceipt = true;
    }
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="elem">Object to be queued</param>
 /// <param name="btime">Time it will take to finish it's buissines</param>
 /// <param name="term">Term created for calendar callback</param>
 public QueueElement(IQueueable elem, uint btime, uint timecame, Flow.Calendar.Term term, DESF.Flow.Event.Event ev)
 {
     _element = elem;
     _blockingTime = btime;
     _timeCame = timecame;
     _term = term;
     _event = ev;
 }
Exemplo n.º 9
0
 public void ConnectingPolymorphicTypes()
 {
     StartPoint<B> s = new StartPoint<B>((IWritableQueue<B> q) => q.Send(new B()));
     EndPoint<A> e = new EndPoint<A>((A q) => { });
     Flow flow = new Flow();
     flow.AddNode(s);
     flow.AddNode(e);
     flow.ConnectNodes(s, e, 0);
 }
Exemplo n.º 10
0
        public void CtorWorks()
        {
            // Arrange
            var x = new Flow();

            // Act

            // Assert
            Assert.IsNotNull(x);
        }
Exemplo n.º 11
0
        public void InternalListOfStepsIsNeverNull()
        {
            // Arrange
            var x = new Flow();

            // Act

            // Assert
            Assert.AreEqual(0, x.Count);
        }
Exemplo n.º 12
0
 public Flow ReadExistingFlow(Flow steps)
 {
     if (File.Exists(FileName))
         using (var rd = new StreamReader(FileName, Encoding.UTF8))
         {
             string xml = rd.ReadToEnd();
             steps = xml.FromXml<Flow>();
         }
     return steps;
 }
Exemplo n.º 13
0
 internal static Flow ConnectStartFilterEnd(TaskNode s, TaskNode filter, TaskNode n)
 {
     Flow flow = new Flow();
     flow.AddNode(s);
     flow.AddNode(filter);
     flow.AddNode(n);
     flow.ConnectNodes(s, filter, 0);
     flow.ConnectNodes(filter, n, 0);
     flow.Error += new EventHandler<Flow.ErrorEventArgs>(flow_Error);
     return flow;
 }
Exemplo n.º 14
0
        /// <summary>
        /// Initializes this case with the specified holding flow.
        /// </summary>
        public void SetUp(Flow holder)
        {
            Flow = holder;

            Flow backup = Flow.CurrentFlow;
            Flow.CurrentFlow = holder;

            SetUp();

            Flow.CurrentFlow = backup;
        }
Exemplo n.º 15
0
        /// <summary>
        /// <see cref="ICase.Teardown"/>
        /// </summary>
        public void Teardown(Flow holder)
        {
            Flow backup = Flow.CurrentFlow;
            Flow.CurrentFlow = holder;

            TeardownInternal();

            Flow.CurrentFlow = backup;

            Dispose();  // EventSink.Dispose()
        }
Exemplo n.º 16
0
        /// <summary>
        /// Cleans up this case with the specified holding flow.
        /// </summary>
        public void TearDown(Flow holder)
        {
            Flow backup = Flow.CurrentFlow;
            Flow.CurrentFlow = holder;

            TearDown();

            Flow.CurrentFlow = backup;

            Dispose();
        }
Exemplo n.º 17
0
        /// <summary>
        /// <see cref="ICase.Setup"/>
        /// </summary>
        public void Setup(Flow holder)
        {
            Flow = holder;

            Flow backup = Flow.CurrentFlow;
            Flow.CurrentFlow = holder;

            SetupInternal();

            Flow.CurrentFlow = backup;
        }
Exemplo n.º 18
0
	// Use this for initialization
	void Start () {
        
	   _game = GameObject.Find("Game");
       _flow = _game.GetComponent<Flow>();
       
       _infoTextMeshRenderer = gameObject.GetComponentInChildren<MeshRenderer>();
       _infoTextMeshRenderer.sortingLayerID = SortingLayer.layers[SortingLayer.layers.Length-1].id;
       
       _infoTextMeshRenderer.gameObject.GetComponent<TextMesh>().text = infoText;
       
       HideActionDescription();
	}
Exemplo n.º 19
0
    public void TakeSample(Flow.ITransient sender)
    {
        var sr = new StateRecord (this);
        _samples.Add(sr);

        //		if (MarkerPrefab != null)
        //		{
        //			var marker = (GameObject)Instantiate(MarkerPrefab);
        //			marker.transform.position = sr.Position;
        //			marker.transform.rotation = sr.Rotation;
        //		}
    }
        public FilesController()
        {
            _fileSystem = new FileSystem
            {
                GetFilePathFunc = filePath => string.Format(
                    "{0}/{1}",
                    HostingEnvironment.MapPath("~/App_Data").Replace("\\", "/"),
                    filePath)
            };

            _flow = new Flow(_fileSystem);
        }
Exemplo n.º 21
0
        public void AddThrowsOnDuplicateStepId()
        {
            // Arrange
            var x = new Flow();
            const string sameId = "1111";
            var step1 = new Step(sameId, "name1", "action1");
            var step2 = new Step(sameId, "name2", "action2");

            // Act
            x.Add(step1);
            x.Add(step2);
        }
Exemplo n.º 22
0
        private static void MainTask()
        {
            var ad = new XmlActionDefinitionProvider();
            Dictionary<string, ActionDefinition> actions = ad.Get;

            FlowIO io = new FlowIO();
            Flow steps = new Flow();
            steps = io.ReadExistingFlow(steps);

            Model model = new Model(actions, steps);

            if (MaintainSingleFlow.EditAndSave(model))
                io.SaveFlow(steps);
        }
Exemplo n.º 23
0
        public void AddIncrementsOrderOfFirstStep()
        {
            // Arrange
            var x = new Flow();
            var step = new Step("name", "action");
            int previous = step.Order;

            // Act
            x.Add(step);

            // Assert
            Assert.AreEqual(0, previous);
            Assert.AreEqual(1, step.Order);
        }
Exemplo n.º 24
0
        public void ValidateAddsErrorIfFlowIsEmpty()
        {
            // Arrange
            var x = new Flow();
            var actions = new CalculatorActionDefinitionProvider().Get;

            // Act
            var errors = x.Validate(actions);

            // Assert
            Assert.IsNotNull(errors);
            Assert.AreEqual(1, errors.Count);
            Assert.IsTrue(errors[0].Message.Contains("Nothing to do"));
        }
Exemplo n.º 25
0
    public void InitPageParameter(Flow flow)
    {
        this.PartyFromCode = flow.PartyFrom.Code;
        this.PartyToCode = flow.PartyTo.Code;
        this.FlowType = flow.Type;
        this.FlowCode = flow.Code;

        int seqInterval = int.Parse(TheEntityPreferenceMgr.LoadEntityPreference(BusinessConstants.ENTITY_PREFERENCE_CODE_SEQ_INTERVAL).Value);

        if (flow.AllowCreateDetail && false) //新增的Detail打印有问题,暂时不支持
        {
            FlowDetail blankFlowDetail = new FlowDetail();
            if (flow.FlowDetails == null || flow.FlowDetails.Count == 0)
            {
                blankFlowDetail.Sequence = seqInterval;
            }
            else
            {
                int CurrentSeq = flow.FlowDetails.Last<FlowDetail>().Sequence + seqInterval;
                blankFlowDetail.Sequence = CurrentSeq;
            }
            blankFlowDetail.IsBlankDetail = true;
            flow.AddFlowDetail(blankFlowDetail);
        }

        #region 设置默认LotNo
        string lotNo = LotNoHelper.GenerateLotNo();
        foreach (FlowDetail flowDetail in flow.FlowDetails)
        {
            flowDetail.HuLotNo = lotNo;
        }
        #endregion

        this.GV_List.DataSource = flow.FlowDetails;
        this.GV_List.DataBind();

        BindShift();

        if (flow.Type != BusinessConstants.CODE_MASTER_ORDER_TYPE_VALUE_PRODUCTION)
        {
            this.TabProd.Visible = false;
            this.GV_List.Columns[8].Visible = true;
        }
        else
        {
            this.TabProd.Visible = true;
            this.GV_List.Columns[8].Visible = false;
        }
    }
Exemplo n.º 26
0
 public Meting()
 {
     Container = new Container(0, "");
     Werknemer = new Werknemer(0, "");
     Resultaat = new Resultaat(0, "");
     Advies = new Advies(0, "");
     Opdrachtgever = new Opdrachtgever(0, "");
     Locatie = new Locatie(0, "", null, 0);
     Lading = new Lading(0, "");
     Herkomst = new Herkomst(0, "");
     SoortMeting = new SoortMeting(0, "");
     LocatieMeting = new LocatieMeting(0, "");
     Supplier = new Supplier(0, "");
     Flow = new Flow(0, "");
 }
Exemplo n.º 27
0
 private static Flow DefineDemoCalculatorSteps()
 {
     var retVal = new Flow();
     retVal.Add(new Step("10", "Enter 1st integer", "Plugin.ConsoleUI.PublishIntegerFromUI"));
     retVal.Add(new Step("20", "Enter 2nd integer", "Plugin.ConsoleUI.PublishIntegerFromUI"));
     var trickyStep = new Step("30", "Compute stuff", "Plugin.Demo.Calculator.DoArithmetic");
     trickyStep.AddParameter("Integer", 100, new Parameter("Integer", "10", 0));
     trickyStep.AddParameter("Integer", 200, new Parameter("Integer", "20", 0));
     retVal.Add(trickyStep);
     retVal.Add(new Step("40", "Format result", "Plugin.Demo.Calculator.FormatNumber",
                         new[] { new Parameter("Number", "30", 3), }));
     retVal.Add(new Step("50", "Display result", "Plugin.ConsoleUI.DisplayString",
                         new[] { new Parameter("String", "40", 0), }));
     return retVal;
 }
Exemplo n.º 28
0
 private static Flow DefineDemoCurrencyConverterSteps()
 {
     var retVal = new Flow();
     retVal.Add(new Step("10", "Enter 1st currency", "Plugin.ConsoleUI.PublishStringFromUI"));
     retVal.Add(new Step("20", "Enter 2nd currency", "Plugin.ConsoleUI.PublishStringFromUI"));
     var trickyStep = new Step("30", "Get exchange rate", "Plugin.Demo.CurrencyConverter.GetExchangeRate");
     trickyStep.AddParameter("String", 1, new Parameter("String", "10", 0));
     trickyStep.AddParameter("String", 2, new Parameter("String", "20", 0));
     retVal.Add(trickyStep);
     retVal.Add(new Step("40", "Format result", "Plugin.Demo.Calculator.FormatNumber",
                         new[] { new Parameter("Number", "30", 0), }));
     retVal.Add(new Step("50", "Display result", "Plugin.ConsoleUI.DisplayString",
                         new[] { new Parameter("String", "40", 0), }));
     return retVal;
 }
Exemplo n.º 29
0
        public void AddIncrementsOrderOfSubsequentSteps()
        {
            // Arrange
            var x = new Flow();
            var step1 = new Step("name1", "action");
            var step2 = new Step("name2", "action");

            // Act
            x.Add(step1);
            x.Add(step2);

            // Assert
            Assert.AreEqual(1, step1.Order);
            Assert.AreEqual(2, step2.Order);
        }
Exemplo n.º 30
0
 public void SaveFlow(Flow steps)
 {
     if (File.Exists(FileName))
     {
         string bak = FileName + ".bak";
         if (File.Exists(bak))
             File.Delete(bak);
         File.Move(FileName, bak);
     }
     string xml = steps.ToXml();
     using (var wt = new StreamWriter(FileName, false, Encoding.UTF8))
     {
         wt.Write(xml);
         wt.Flush();
     }
 }
 public static Flow?LitersPerSecond <T>(this T?value) where T : struct => Flow.FromLitersPerSecond(value == null ? (double?)null : Convert.ToDouble(value.Value));
Exemplo n.º 32
0
 private void NewLine()
 {
     _flow = Flow.NewLine;
 }
Exemplo n.º 33
0
 // normal forward, normal backward
 // inds control the neurons computed, originally for efficient dropout
 public virtual Tensor Step(Flow f, Tensor x, int[] inds)
 {
     return(f.AddBias(f.Multiply(x, Wxh, inds), Bh, inds));
 }
Exemplo n.º 34
0
    public static void DeletePhysiotherapist()
    {
        int IdFisioterapeuta = GlobalController.instance.admin.idFisioterapeuta;
        int IdPessoa         = GlobalController.instance.admin.persona.idPessoa;

        string nomePessoa = (GlobalController.instance.admin.persona.nomePessoa).Replace(' ', '_');
        string nomePasta  = string.Format("{0}/Movimentos/{1}-{2}", Application.dataPath, IdPessoa, nomePessoa);

        List <Movimento> allMovements            = Movimento.Read();
        List <Sessao>    allSessions             = Sessao.Read();
        List <PontosRotuloFisioterapeuta> allPRF = PontosRotuloFisioterapeuta.Read();
        List <Exercicio>        allExercises     = Exercicio.Read();
        List <MovimentoMusculo> allMovMuscles    = MovimentoMusculo.Read();

        foreach (var movements in allMovements)
        {
            if (movements.idFisioterapeuta == IdFisioterapeuta)
            {
                foreach (var prf in allPRF)
                {
                    if (prf.idMovimento == movements.idMovimento)
                    {
                        PontosRotuloFisioterapeuta.DeleteValue(prf.idRotuloFisioterapeuta);
                    }
                }

                foreach (var mvm in allMovMuscles)
                {
                    if (mvm.idMovimento == movements.idMovimento)
                    {
                        MovimentoMusculo.DeleteValue(mvm.idMovimento, mvm.idMusculo);
                    }
                }

                foreach (var execises in allExercises)
                {
                    if (execises.idMovimento == movements.idMovimento)
                    {
                        Exercicio.DeleteValue(execises.idExercicio);
                    }
                }

                Movimento.DeleteValue(movements.idMovimento);
            }
        }

        foreach (var session in allSessions)
        {
            if (session.idPaciente == IdFisioterapeuta)
            {
                Sessao.DeleteValue(session.idSessao);
            }
        }

        Fisioterapeuta.DeleteValue(IdFisioterapeuta);

        if (Directory.Exists(nomePasta))
        {
            Directory.Delete(nomePasta, true);
        }

        Flow.StaticNewPhysiotherapistAdm();
    }
 void Start(Flow f)
 {
     paused = false;
     status = Status.Running;
     this.TryStartSubGraph(targetAgent.value, (result) => { endResult = result; OnStop(f); });
 }
 void OnStop(Flow f)
 {
     status = Status.Resting;
     f.Call(onFinish);
 }
 public static Flow CubicYardsPerHour <T>(this T value) => Flow.FromCubicYardsPerHour(Convert.ToDouble(value));
 /// <inheritdoc cref="Flow.FromNanolitersPerMinute(UnitsNet.QuantityValue)" />
 public static Flow NanolitersPerMinute <T>(this T value) => Flow.FromNanolitersPerMinute(Convert.ToDouble(value));
 public static Flow CubicYardsPerMinute <T>(this T value) => Flow.FromCubicYardsPerMinute(Convert.ToDouble(value));
 public static Flow?MillionUsGallonsPerDay <T>(this T?value) where T : struct => Flow.FromMillionUsGallonsPerDay(value == null ? (double?)null : Convert.ToDouble(value.Value));
 public static Flow MillionUsGallonsPerDay <T>(this T value) => Flow.FromMillionUsGallonsPerDay(Convert.ToDouble(value));
 public static Flow?CubicYardsPerMinute <T>(this T?value) where T : struct => Flow.FromCubicYardsPerMinute(value == null ? (double?)null : Convert.ToDouble(value.Value));
 void Resume(Flow f)
 {
     paused = false;
     this.TryResumeSubGraph();
 }
 public static Flow?CubicMetersPerHour <T>(this T?value) where T : struct => Flow.FromCubicMetersPerHour(value == null ? (double?)null : Convert.ToDouble(value.Value));
 void Pause(Flow f)
 {
     paused = true;
     this.TryPauseSubGraph();
 }
Exemplo n.º 46
0
        public override IProcessor <int?, int?> CreateIdentityProcessor(int bufferSize)
        {
            var materializer = ActorMaterializer.Create(System);

            return(Flow.Create <int?>().Select(x => x).Named("identity").ToProcessor().Run(materializer));
        }
 void Stop(Flow f)
 {
     this.TryStopSubGraph();
 }
Exemplo n.º 48
0
 internal override void OnFlow(Flow flow)
 {
 }
Exemplo n.º 49
0
 /// <summary>
 /// Converts between various units of volumetric flow.
 /// </summary>
 ///
 /// <param name="oldVal">the value to be converted</param>
 /// <param name="oldUnit">the original unit of measure</param>
 /// <param name="newUnit">the new unit of measure</param>
 ///
 /// <returns>the converted value</returns>
 public static double ConvertFlow(double oldVal, Flow oldUnit, Flow newUnit)
 {
     // Look up conversion from old unit to new unit.
     return(oldVal / FlowConversion[oldUnit] * FlowConversion[newUnit]);
 }
Exemplo n.º 50
0
        /// <summary>
        /// 发送测试
        /// </summary>
        public override void Do()
        {
            //初始化变量.
            fk_flow = "023";
            userNo  = "zhanghaicheng";
            fl      = new Flow(fk_flow);

            //执行登录.
            BP.WF.Dev2Interface.Port_Login(userNo);

            //执行第1步检查,创建工作与发送.
            this.workid = BP.WF.Dev2Interface.Node_CreateBlankWork(fk_flow, null, null, userNo, null);

            //下一步骤的接受人员定义多个.
            string toEmps = "zhoushengyu,zhangyifan,";

            //向发送多个人.
            objs = BP.WF.Dev2Interface.Node_SendWork(this.fk_flow, this.workid, null, null, 0, toEmps);


            #region 检查发送变量是否正确?
            if (objs.VarAcceptersID != toEmps)
            {
                throw new Exception("@应该是接受者ID多人,现在是:" + objs.VarAcceptersID);
            }

            if (objs.VarAcceptersName != "周升雨,张一帆,")
            {
                throw new Exception("@应该是接受者Name多人,现在是:" + objs.VarAcceptersID);
            }

            if (objs.VarCurrNodeID != 2301)
            {
                throw new Exception("@当前节点应该是 2301 ,现在是:" + objs.VarCurrNodeID);
            }

            if (objs.VarToNodeID != 2302)
            {
                throw new Exception("@到达节点应该是 2302 ,现在是:" + objs.VarToNodeID);
            }
            #endregion 检查发送变量是否正确?

            #region 检查流程引擎表是否正确?
            GenerWorkFlow gwf = new GenerWorkFlow();
            gwf.WorkID = this.workid;
            if (gwf.RetrieveFromDBSources() != 1)
            {
                throw new Exception("@丢失了流程引擎注册表数据");
            }
            if (gwf.FK_Dept != WebUser.FK_Dept)
            {
                throw new Exception("@隶属部门错误应当是:" + WebUser.FK_Dept + ",现在是:" + gwf.FK_Dept);
            }

            if (gwf.FK_Flow != fk_flow)
            {
                throw new Exception("@流程编号错误应当是:" + fk_flow + ",现在是:" + gwf.FK_Flow);
            }

            if (gwf.FK_Node != 2302)
            {
                throw new Exception("@当前节点错误应当是:" + 2302 + ",现在是:" + gwf.FK_Node);
            }

            if (gwf.Starter != userNo)
            {
                throw new Exception("@当前 Starter 错误应当是:" + userNo + ",现在是:" + gwf.Starter);
            }

            if (gwf.StarterName != WebUser.Name)
            {
                throw new Exception("@当前 StarterName 错误应当是:" + WebUser.Name + ",现在是:" + gwf.StarterName);
            }

            if (string.IsNullOrEmpty(gwf.Title))
            {
                throw new Exception("@ Title 错误, 不能为空. ");
            }

            GenerWorkerLists wls = new GenerWorkerLists();
            wls.Retrieve(GenerWorkerListAttr.WorkID, this.workid);
            if (wls.Count != 3)
            {
                throw new Exception("@应当有三个数据,现在是:" + wls.Count);
            }
            foreach (GenerWorkerList wl in wls)
            {
                if (wl.FID != 0)
                {
                    throw new Exception("@ FID 错误,应该是" + 0 + ",现在是:" + wl.FID);
                }

                if (wl.FK_Emp == "zhanghaicheng")
                {
                    if (wl.FK_Dept != WebUser.FK_Dept)
                    {
                        throw new Exception("@部门错误,应该是" + WebUser.FK_Dept + ",现在是:" + wl.FK_Dept);
                    }

                    if (wl.FK_Flow != fk_flow)
                    {
                        throw new Exception("@ FK_Flow 错误,应该是" + fk_flow + ",现在是:" + wl.FK_Flow);
                    }

                    if (wl.FK_Node != 2301)
                    {
                        throw new Exception("@ FK_Node 错误,应该是" + 2301 + ",现在是:" + wl.FK_Node);
                    }

                    if (wl.IsEnable == false)
                    {
                        throw new Exception("@ IsEnable 错误,应该是true,现在是:" + wl.IsEnable);
                    }

                    if (wl.IsRead == true)
                    {
                        throw new Exception("@ IsRead 错误,应该是false,现在是:" + wl.IsEnable);
                    }

                    if (wl.IsPass == false)
                    {
                        throw new Exception("@ IsPass 错误,应该是true,现在是:" + wl.IsEnable);
                    }

                    //if (wl.Sender != WebUser.No + ",张海成")
                    //    throw new Exception("@ Sender 错误,应该是" + WebUser.No + ",张海成 ,现在是:" + wl.Sender);
                }

                if (wl.FK_Emp == "zhoushengyu" || wl.FK_Emp == "zhangyifan")
                {
                    BP.Port.Emp emp = new Port.Emp(wl.FK_Emp);

                    if (wl.FK_Dept != emp.FK_Dept)
                    {
                        throw new Exception("@部门错误,应该是" + emp.FK_Dept + ",现在是:" + wl.FK_Dept);
                    }

                    if (wl.FK_Flow != fk_flow)
                    {
                        throw new Exception("@ FK_Flow 错误,应该是" + fk_flow + ",现在是:" + wl.FK_Flow);
                    }

                    if (wl.FK_Node != 2302)
                    {
                        throw new Exception("@ FK_Node 错误,应该是" + 2302 + ",现在是:" + wl.FK_Node);
                    }

                    if (wl.IsEnable == false)
                    {
                        throw new Exception("@ IsEnable 错误,应该是true,现在是:" + wl.IsEnable);
                    }

                    if (wl.IsRead == true)
                    {
                        throw new Exception("@ IsRead 错误,应该是false,现在是:" + wl.IsEnable);
                    }

                    if (wl.IsPass == true)
                    {
                        throw new Exception("@ IsPass 错误,应该是false,现在是:" + wl.IsEnable);
                    }

                    //if (wl.Sender != "zhanghaicheng")
                    //    throw new Exception("@ Sender 错误,应该是" + WebUser.No + ",现在是:" + wl.Sender);
                }
            }

            string sql = "SELECT COUNT(*) FROM WF_EmpWorks WHERE WorkID=" + this.workid + " AND FK_Emp='zhoushengyu'";
            if (DBAccess.RunSQLReturnValInt(sql) != 1)
            {
                throw new Exception("@不应该查询不到 zhoushengyu 的待办.");
            }

            sql = "SELECT COUNT(*) FROM WF_EmpWorks WHERE WorkID=" + this.workid + " AND FK_Emp='zhangyifan'";
            if (DBAccess.RunSQLReturnValInt(sql) != 1)
            {
                throw new Exception("@不应该查询不到 zhangyifan 的待办.");
            }
            #endregion 检查流程引擎表是否正确?

            // 让其中的一个人登录.
            BP.WF.Dev2Interface.Port_Login("zhoushengyu");

            //让他发送.
            BP.WF.Dev2Interface.Node_SendWork(this.fk_flow, this.workid);

            #region 检查流程引擎表是否正确?
            sql = "SELECT COUNT(*) FROM WF_EmpWorks WHERE WorkID=" + this.workid + " AND FK_Emp='zhoushengyu'";
            if (DBAccess.RunSQLReturnValInt(sql) != 0)
            {
                throw new Exception("@不应该在查询到 zhoushengyu 的待办.");
            }

            sql = "SELECT COUNT(*) FROM WF_EmpWorks WHERE WorkID=" + this.workid + " AND FK_Emp='zhangyifan'";
            if (DBAccess.RunSQLReturnValInt(sql) != 0)
            {
                throw new Exception("@不应该在查询到 zhangyifan 的待办.");
            }
            #endregion 检查流程引擎表是否正确?

            //删除该测试数据.
            BP.WF.Dev2Interface.Flow_DoDeleteFlowByReal(this.fk_flow, workid, true);
        }
Exemplo n.º 51
0
 public Flow <T, Versioned <T>, NotUsed> Topic <T>(string topic)
 {
     return(Flow.FromGraph(new ReplicatorStage <T>()));
 }
        public void ExecuteTest()
        {
            {
                int channels = 32, width = 65536, length = channels * width;

                Shape  shape = Shape.Map0D(channels, width);
                Random rd    = new Random(1234);

                Tensor t = Tensor.NormalRandom(shape, rd);

                Assert.AreEqual(shape, t.Shape);

                float[] y = t.State;

                double sq_sum = 0, sum = 0;
                int[]  cnt = new int[4];

                foreach (float v in y)
                {
                    sq_sum += v * v;
                    sum    += v;

                    float abs_v = Math.Abs(v);

                    if (abs_v < 4)
                    {
                        cnt[(int)Math.Floor(abs_v)]++;
                    }
                }

                double mean = sum / length;

                double variance = sq_sum / length - mean * mean;

                Assert.AreEqual(0, mean, 2e-3, "mean");
                Assert.AreEqual(1, variance, 2e-3, "variance");

                Assert.AreEqual(0.682689492, (double)cnt[0] / length, 1e-3, "sigma1");
                Assert.AreEqual(0.271810244, (double)cnt[1] / length, 1e-3, "sigma2");
                Assert.AreEqual(0.042800468, (double)cnt[2] / length, 1e-3, "sigma3");
                Assert.AreEqual(0.002636456, (double)cnt[3] / length, 1e-3, "sigma4");
            }

            {
                int length = 5000;

                Shape shape = Shape.Vector(length);

                InputNode  node   = VariableNode.NormalRandom(shape, new Random(1234));
                OutputNode output = node.Save();

                Flow flow = Flow.FromInputs(node);

                flow.Execute();
                float[] y1 = output.Tensor.State;

                flow.Execute();
                float[] y2 = output.Tensor.State;

                CollectionAssert.AreNotEqual(y1, y2);

                Assert.IsTrue(y2.Min() < -1);
                Assert.IsTrue(y2.Max() > 1);
            }
        }
Exemplo n.º 53
0
 // normal forward, top-k backward
 public virtual Tensor StepTopK(Flow f, Tensor x, int k)
 {
     return(f.AddBias(f.MultiplyTop(x, Wxh, k), Bh));
 }
Exemplo n.º 54
0
 private void Out(string s, Flow after)
 {
     Out(Flow.None, s, after);
 }
Exemplo n.º 55
0
 // normal forward, normal backward
 public virtual Tensor Step(Flow f, Tensor x)
 {
     return(f.AddBias(f.Multiply(x, Wxh), Bh));
 }
 public static Flow LitersPerHour <T>(this T value) => Flow.FromLitersPerHour(Convert.ToDouble(value));
Exemplo n.º 57
0
        protected override Expression VisitBinary(BinaryExpression node)
        {
            if (node.NodeType == ExpressionType.ArrayIndex)
            {
                ParenthesizedVisit(node, node.Left);
                Out("[");
                Visit(node.Right);
                Out("]");
            }
            else
            {
                bool parenthesizeLeft  = NeedsParentheses(node, node.Left);
                bool parenthesizeRight = NeedsParentheses(node, node.Right);

                string op;
                bool   isChecked = false;
                Flow   beforeOp  = Flow.Space;
                switch (node.NodeType)
                {
                case ExpressionType.Assign: op = "="; break;

                case ExpressionType.Equal: op = "=="; break;

                case ExpressionType.NotEqual: op = "!="; break;

                case ExpressionType.AndAlso: op = "&&"; beforeOp = Flow.Break | Flow.Space; break;

                case ExpressionType.OrElse: op = "||"; beforeOp = Flow.Break | Flow.Space; break;

                case ExpressionType.GreaterThan: op = ">"; break;

                case ExpressionType.LessThan: op = "<"; break;

                case ExpressionType.GreaterThanOrEqual: op = ">="; break;

                case ExpressionType.LessThanOrEqual: op = "<="; break;

                case ExpressionType.Add: op = "+"; break;

                case ExpressionType.AddAssign: op = "+="; break;

                case ExpressionType.AddAssignChecked: op = "+="; isChecked = true; break;

                case ExpressionType.AddChecked: op = "+"; isChecked = true; break;

                case ExpressionType.Subtract: op = "-"; break;

                case ExpressionType.SubtractAssign: op = "-="; break;

                case ExpressionType.SubtractAssignChecked: op = "-="; isChecked = true; break;

                case ExpressionType.SubtractChecked: op = "-"; isChecked = true; break;

                case ExpressionType.Divide: op = "/"; break;

                case ExpressionType.DivideAssign: op = "/="; break;

                case ExpressionType.Modulo: op = "%"; break;

                case ExpressionType.ModuloAssign: op = "%="; break;

                case ExpressionType.Multiply: op = "*"; break;

                case ExpressionType.MultiplyAssign: op = "*="; break;

                case ExpressionType.MultiplyAssignChecked: op = "*="; isChecked = true; break;

                case ExpressionType.MultiplyChecked: op = "*"; isChecked = true; break;

                case ExpressionType.LeftShift: op = "<<"; break;

                case ExpressionType.LeftShiftAssign: op = "<<="; break;

                case ExpressionType.RightShift: op = ">>"; break;

                case ExpressionType.RightShiftAssign: op = ">>="; break;

                case ExpressionType.And: op = "&"; break;

                case ExpressionType.AndAssign: op = "&="; break;

                case ExpressionType.Or: op = "|"; break;

                case ExpressionType.OrAssign: op = "|="; break;

                case ExpressionType.ExclusiveOr: op = "^"; break;

                case ExpressionType.ExclusiveOrAssign: op = "^="; break;

                case ExpressionType.Power: op = "**"; break;

                case ExpressionType.PowerAssign: op = "**="; break;

                case ExpressionType.Coalesce: op = "??"; break;

                default:
                    throw new InvalidOperationException();
                }

                if (parenthesizeLeft)
                {
                    Out("(", Flow.None);
                }

                Visit(node.Left);
                if (parenthesizeLeft)
                {
                    Out(Flow.None, ")", Flow.Break);
                }

                // prepend # to the operator to represent checked op
                if (isChecked)
                {
                    op = string.Format(
                        CultureInfo.CurrentCulture,
                        "#{0}",
                        op
                        );
                }

                Out(beforeOp, op, Flow.Space | Flow.Break);

                if (parenthesizeRight)
                {
                    Out("(", Flow.None);
                }

                Visit(node.Right);
                if (parenthesizeRight)
                {
                    Out(Flow.None, ")", Flow.Break);
                }
            }

            return(node);
        }
 public static Flow LitersPerSecond <T>(this T value) => Flow.FromLitersPerSecond(Convert.ToDouble(value));
 public static Flow?MillilitersPerMinute <T>(this T?value) where T : struct => Flow.FromMillilitersPerMinute(value == null ? (double?)null : Convert.ToDouble(value.Value));
 public static Flow CubicYardsPerSecond <T>(this T value) => Flow.FromCubicYardsPerSecond(Convert.ToDouble(value));