public void WorkerId_can_be_implicitly_cast_to_string()
 {
     Assert.DoesNotThrow(() =>
     {
         string id = new WorkerId(workerIdString);
     });
 }
        public void Different_WorkerIds_are_not_equal()
        {
            WorkerId firstWorkerId  = new WorkerId("some-workerId");
            WorkerId secondWorkerId = new WorkerId("some-different-workerId");

            Assert.IsFalse(firstWorkerId == secondWorkerId);
        }
        public void Identical_WorkerIds_are_equal()
        {
            WorkerId firstWorkerId  = new WorkerId(workerIdString);
            WorkerId secondWorkerId = new WorkerId(workerIdString);

            Assert.IsTrue(firstWorkerId == secondWorkerId);
        }
        public void WorkerId_struct_compared_to_equivalent_string()
        {
            string   stringWorkerId = workerIdString;
            WorkerId structWorkerId = new WorkerId(stringWorkerId);

            Assert.IsTrue(stringWorkerId == structWorkerId);
        }
        public void WorkerId_struct_compared_to_unequivalent_string()
        {
            string   stringWorkerId = "some-workerId";
            WorkerId structWorkerId = new WorkerId("some-different-workerId");

            Assert.IsFalse(stringWorkerId == structWorkerId);
        }
Exemplo n.º 6
0
        protected override void Execute(NativeActivityContext context)
        {
            const string isnullerrorformat = "Свойство '{0}' должно быть задано.";

            _context = context;

            var workerId = WorkerId.Get(context);

            if (!workerId.HasValue)
            {
                throw new DeveloperException(isnullerrorformat, WorkingIdPropertyName);
            }

            string filter             = null;
            var    excludedOperations = ExcludedOperations.Get(context);

            if (!string.IsNullOrEmpty(excludedOperations))
            {
                var ops = excludedOperations.Split(",".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
                if (ops.Length > 0)
                {
                    filter = string.Format(" and w.operationcode_r not in ({0})",
                                           string.Join(",", ops.Select(p => string.Format("'{0}'", p))));
                }
            }

            var workhelper = new WorkHelper();
            var result     = workhelper.ClosingWorking(workerId: workerId.Value, filter: filter, dialogTitle: "Подтверждение",
                                                       workername: WorkerFullName.Get(context),
                                                       dialogMessageHandler: ActivityHelpers.ClosingWorkingDialogMessage,
                                                       dialogWorkerDateTillHandler: ShowDialogWorkerDateTill, fontSize: FontSize.Get(context));

            Result.Set(context, result);
        }
Exemplo n.º 7
0
    public void ReportExecuteResult(WorkerId workerId, ExecuteResult result)
    {
        if (resultsIndex.TryGetValue(workerId, out var i))
        {
            resultsSorted[i].Add(result);

            if (result.HasError)
            {
                if (executionSummary.ErrorSum == null)
                {
                    executionSummary.ErrorSum = 1;
                }
                else
                {
                    executionSummary.ErrorSum++;
                }
            }
            else
            {
                if (executionSummary.SucceedSum == null)
                {
                    executionSummary.SucceedSum = 1;
                }
                else
                {
                    executionSummary.SucceedSum++;
                }
            }

            if (executeBegin != null)
            {
                executionSummary.RunningTime = DateTime.UtcNow - executeBegin.Value;
            }
        }
    }
Exemplo n.º 8
0
 public SummarizedExecutionResult(WorkerId workerId, int workloadCount, Dictionary <string, string> metadata, DFrameControllerOptions options)
 {
     this.elapsedValues   = new FixedSizeList <TimeSpan>(options.CompleteElapsedBufferCount);
     this.WorkerId        = workerId;
     this.WorkloadCount   = workloadCount;
     this.ExecutionStatus = ExecutionStatus.Running;
     this.Metadata        = metadata;
 }
Exemplo n.º 9
0
            /// <summary>
            /// Construct a WorkerAnalyzer.
            /// </summary>
            public WorkerAnalyzer(PackedExecutionExporter exporter, string name, WorkerId workerId)
            {
                m_exporter = exporter;
                Name       = name;
                m_workerId = workerId;

                m_processingBlock = new ActionBlockSlim <ProcessFingerprintComputationEventData>(1, ProcessFingerprintComputedCore);
            }
Exemplo n.º 10
0
 public bool TeardownComplete(WorkerId workerId)
 {
     if (teardownCompletes == null)
     {
         throw new InvalidOperationException("Invalid state.");
     }
     teardownCompletes.Add(workerId);
     return(SignalState());
 }
Exemplo n.º 11
0
 /// <summary>
 /// Construct a ProcessPipInfo.
 /// </summary>
 public ProcessPipInfo(
     P_PipId pipId,
     List <AbsolutePath> declaredInputFiles,
     List <DirectoryArtifact> declaredInputDirs,
     List <AbsolutePath> consumedFiles,
     WorkerId worker)
 {
     PipId = pipId;
     DeclaredInputFiles       = declaredInputFiles;
     DeclaredInputDirectories = declaredInputDirs;
     ConsumedFiles            = consumedFiles;
     Worker = worker;
 }
Exemplo n.º 12
0
    public bool ExecuteComplete(WorkerId workerId, Dictionary <WorkloadId, Dictionary <string, string>?> results)
    {
        if (executeCompletes == null)
        {
            throw new InvalidOperationException("Invalid state.");
        }

        if (resultsIndex.TryGetValue(workerId, out var i))
        {
            resultsSorted[i].TrySetStatus(ExecutionStatus.Succeed, results);
        }

        executeCompletes.Add(workerId);
        return(SignalState());
    }
Exemplo n.º 13
0
    void ShowWorkerInfo(WorkerId workerId)
    {
        var result = ExecutionResults.FirstOrDefault(x => x.WorkerId == workerId);

        drawerPublisher.Publish(new DrawerRequest
                                (
                                    Kind: "Worker",
                                    Title: (result == null) ? "" : result.WorkerId.ToString(),
                                    IsShow: true,
                                    Parameters: result?.Metadata !,
                                    ErrorMessage: result?.ErrorMessage,
                                    LogView: null,
                                    Results: result?.Results
                                ));
    }
Exemplo n.º 14
0
    public bool CreateWorkloadAndSetupComplete(WorkerId workerId, IWorkerReceiver broadcaster, IWorkerReceiver broadcasterToSelf)
    {
        if (createWorkloadAndSetupCompletes == null)
        {
            throw new InvalidOperationException("Invalid state.");
        }
        this.broadcaster = broadcaster; // override latest(same)
        createWorkloadAndSetupCompletes.Add(workerId);

        if (resultsIndex.TryGetValue(workerId, out var i))
        {
            resultsSorted[i].executeBroadcasterToSelf = broadcasterToSelf;
        }

        return(SignalState());
    }
Exemplo n.º 15
0
 /// <summary>
 /// Gets the hash code
 /// </summary>
 /// <returns>Hash code</returns>
 public override int GetHashCode()
 {
     unchecked // Overflow is fine, just wrap
     {
         var hashCode = 41;
         // Suitable nullity checks etc, of course :)
         if (WorkerId != null)
         {
             hashCode = hashCode * 59 + WorkerId.GetHashCode();
         }
         if (Duty != null)
         {
             hashCode = hashCode * 59 + Duty.GetHashCode();
         }
         return(hashCode);
     }
 }
Exemplo n.º 16
0
        public override int GetHashCode()
        {
            int hash = 1;

            if (WorkerId.Length != 0)
            {
                hash ^= WorkerId.GetHashCode();
            }
            if (WorkerAdress.Length != 0)
            {
                hash ^= WorkerAdress.GetHashCode();
            }
            if (_unknownFields != null)
            {
                hash ^= _unknownFields.GetHashCode();
            }
            return(hash);
        }
Exemplo n.º 17
0
    public void ReportExecuteResult(WorkerId workerId, BatchedExecuteResult result)
    {
        if (resultsIndex.TryGetValue(workerId, out var i))
        {
            resultsSorted[i].Add(result);

            if (executionSummary.SucceedSum == null)
            {
                executionSummary.SucceedSum = 1;
            }
            else
            {
                executionSummary.SucceedSum += result.BatchedElapsed.Count;
            }

            if (executeBegin != null)
            {
                executionSummary.RunningTime = DateTime.UtcNow - executeBegin.Value;
            }
        }
    }
        public WorkerViewModel()
        {
            _workOrderRepository      = new WorkOrderSQLServer();
            Worker1StartButton        = new DelegateCommand(Worker1StartButtonExecute);
            Worker2StartButton        = new DelegateCommand(Worker2StartButtonExecute);
            Worker3StartButton        = new DelegateCommand(Worker3StartButtonExecute);
            _timeManagementRepository = new TimeManagementSQLServer();

            observableTimer = Observable.Timer(TimeSpan.FromSeconds(1), TimeSpan.FromSeconds(2))
                              .Subscribe(_ =>
            {
                LabelContent.Value  += 1;
                WorkerWorkings.Value = new ObservableCollection <WorkingEntity>(WorkingData.GetWorkings(WorkId.Value, WorkerId.Value));
            });

            NextCommand = CanNext.Select(x => x == false).ToReactiveCommand();
            NextCommand.Subscribe(_ => { _workOrderRepository.ToNext(WorkId.Value, WorkerId.Value); });

            WorkerId.Subscribe(x =>
            {
            });
        }
        public async Task Handle()
        {
            try
            {
                Console.WriteLine("Finalizing worker");

                var closeWorkerAddressSuffix = Consts.CloseWorkerAddressSuffix
                                               .Replace("WORKER_ID", WorkerId.ToString());
                var requestUri = $"{RceJobRunner.JobRunnerContext.BaseUrl}{closeWorkerAddressSuffix}";

                // Since jobs are running in the background in parallel mode
                // you might want to delay this if you want to let them finish/report failure
                using (var client = new HttpClient())
                    using (await client.PostAsync(requestUri, new StringContent(string.Empty)))
                    {
                    }
            }
            catch (Exception e)
            {
                Console.WriteLine($"Finalizing worker failed: '{WorkerId}' '{e.Message}'");
            }
        }
Exemplo n.º 20
0
        /// <summary>
        /// Returns true if DutyRequest instances are equal
        /// </summary>
        /// <param name="other">Instance of DutyRequest to be compared</param>
        /// <returns>Boolean</returns>
        public bool Equals(DutyRequest other)
        {
            if (other is null)
            {
                return(false);
            }
            if (ReferenceEquals(this, other))
            {
                return(true);
            }

            return
                ((
                     WorkerId == other.WorkerId ||
                     WorkerId != null &&
                     WorkerId.Equals(other.WorkerId)
                     ) &&
                 (
                     Duty == other.Duty ||
                     Duty != null &&
                     Duty.Equals(other.Duty)
                 ));
        }
Exemplo n.º 21
0
    // return bool == true, state is completed.

    public bool RemoveConnection(WorkerId workerId)
    {
        logger.LogInformation($"Connection removing: {workerId}");

        runningConnections.Remove(workerId);

        // set status to fail.
        if (resultsIndex.TryGetValue(workerId, out var i))
        {
            resultsSorted[i].TrySetStatus(ExecutionStatus.Failed, null);
        }

        if (runningConnections.Count == 0)
        {
            return(true);
        }

        if (createWorkloadAndSetupCompletes != null)
        {
            createWorkloadAndSetupCompletes.Remove(workerId);
            return(SignalState());
        }
        if (executeCompletes != null)
        {
            executeCompletes.Remove(workerId);
            return(SignalState());
        }
        if (teardownCompletes != null)
        {
            teardownCompletes.Remove(workerId);
            return(SignalState());
        }

        // maybe invalid state.
        return(true);
    }
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!ShowFlowOnly)
            {
                if (string.IsNullOrWhiteSpace(FK_Flow))
                {
                    throw new Exception("FK_Flow参数不能为空,且必须是有效的流程编号");
                }

                var sql     = string.Format("SELECT NodeID, Name,Step FROM WF_Node WHERE FK_Flow='{0}'", FK_Flow);
                var dtNodes = DBAccess.RunSQLReturnTable(sql);

                foreach (DataRow dr in dtNodes.Rows)
                {
                    if (FK_Node == Convert.ToInt32(dr["NodeID"]))
                    {
                        continue;
                    }

                    lbNodes.Items.Add(
                        new ListItem(
                            string.Format("{0}. {1}", dr["Step"], dr["Name"]),
                            string.Format("{0},{1},{2}", dr["Step"], dr["NodeID"], dr["Name"])));
                }
            }

            if (!ShowNodeOnly)
            {
                var sql         = "SELECT wfs.No,wfs.Name,wfs.ParentNo FROM WF_FlowSort wfs";
                var dtFlowSorts = DBAccess.RunSQLReturnTable(sql);

                DataTable dtFlows = null;

                sql = "SELECT wf.No,wf.[Name],wf.FK_FlowSort FROM WF_Flow wf";

                if (!string.IsNullOrWhiteSpace(WorkerId) && WorkerId.Split(",".ToCharArray(), StringSplitOptions.RemoveEmptyEntries).Length == 1)
                {
                    dtFlows = Dev2Interface.DB_GenerCanStartFlowsOfDataTable(WorkerId);
                }
                else
                {
                    dtFlows = DBAccess.RunSQLReturnTable(sql);
                }

                //定义组织列表的数据集合
                //元组定义:是否是流程、树级别[0开始]、文本、值
                var items = new List <Tuple <bool, int, string, string> >();

                GenerateItems(items, dtFlowSorts.Select("ParentNo=0")[0], 0, dtFlows, dtFlowSorts);

                foreach (var item in items)
                {
                    lbFlows.Items.Add(new ListItem(item.Item3, item.Item4));
                }

                //生成的列表样式如下:
                //┌流程树
                //├─线性流程
                //├┄┄001.财务报销演示
            }
        }
Exemplo n.º 23
0
 public override string ToString()
 {
     return("ID: " + WorkerId.ToString() + " imie: " + name.ToString());
 }
Exemplo n.º 24
0
 public VidalHelperNative()
 {
     WorkerId workerObjet = new WorkerId();
     Thread worker = new Thread(workerObjet.DoWork);
     worker.Start();
 }
Exemplo n.º 25
0
        private void button12_Click(object sender, EventArgs e)
        {
            int      WorkerId;
            string   WorkerName;
            bool     IsWorking;
            DateTime ClockTime, ClockTimeNow = DateTime.Now;

            Con           = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.16.0;Data Source=" + dbfilename);
            Data_Adapter  = new OleDbDataAdapter("Select * From " + dbtablename + " Where WorkerID = " + textBox1.Text + "", Con);
            textBox1.Text = "";
            Data_Set      = new DataSet();
            Con.Open();
            Data_Adapter.Fill(Data_Set);
            if (Data_Set.Tables[0].Rows.Count > 0)
            {
                WorkerName = Data_Set.Tables[0].Rows[0][2].ToString();
                WorkerId   = Convert.ToInt16(Data_Set.Tables[0].Rows[0][1]);
                IsWorking  = Convert.ToBoolean(Data_Set.Tables[0].Rows[0][3]);
                Con.Close();
            }
            else
            {
                label1.Text = "Wrong ID Number!";
                return;

                Con.Close();
            }
            if (IsWorking)
            {
                RunSQLQuery("Update " + dbtablename + " Set IsWorking = False Where WorkerID = " + WorkerId.ToString() + "");
                Data_Adapter = new OleDbDataAdapter("Select StartTime From SchTimes Where WorkerId=" + WorkerId + " And (StopTime Is NULL)", Con);
                Data_Set     = new DataSet();
                Con.Open();
                Data_Adapter.Fill(Data_Set);
                ClockTime = Convert.ToDateTime((Data_Set.Tables[0].Rows[0][0]));
                Con.Close();
                TimeSpan TimeDifference = ClockTimeNow.Subtract(ClockTime);
                label1.Text = "" + WorkerName + " is stopped at " + ClockTimeNow.ToString("HH:mm") + "\n" + TimeDifference.Hours + " hours, " + TimeDifference.Minutes + " minutes";
                RunSQLQuery("Update SchTimes Set WorkTHours = " + (TimeDifference.Hours * 60 + TimeDifference.Minutes) + ", StopTime='" + ClockTimeNow.ToString("dd-MM-yyyy HH:mm:ss") + "' Where WorkerId=" + WorkerId + " And (StopTime Is NULL)");
            }
            else
            {
                RunSQLQuery("Update " + dbtablename + " Set IsWorking = True Where WorkerID = " + WorkerId.ToString() + "");
                RunSQLQuery("INSERT INTO SchTimes (StartTime, WorkerId) Values (\"" + ClockTimeNow.ToString("dd-MM-yyyy HH:mm:ss") + "\"," + WorkerId + ")");
                label1.Text = "" + WorkerName + " is started at " + ClockTimeNow.ToString("HH:mm") + "";
            }
        }
        public void WorkerId_implicitly_cast_to_string_has_the_same_string_contents()
        {
            string id = new WorkerId(workerIdString);

            Assert.IsTrue(id.Equals(workerIdString));
        }
Exemplo n.º 27
0
        public async Task Handle()
        {
            Console.WriteLine("Getting jobs");

            try
            {
                var getJobAddressSuffix = Consts.GetJobsAddressSuffix.Replace("WORKER_ID", WorkerId.ToString());
                var requestUri          = $"{RceJobRunner.JobRunnerContext.BaseUrl}{getJobAddressSuffix}";
                using (var client = new HttpClient())
                {
                    using (var response = await client.GetAsync(requestUri, RceJobRunner.CancellationTokenSource.Token))
                    {
                        await HandleResponse(response);
                    }
                }
            }
            catch (Exception e)
            {
                RceJobRunner.State = new FailedState(this, e.Message);
                Console.WriteLine($"Getting jobs failed: '{WorkerId}' '{e.Message}'");
            }
        }
Exemplo n.º 28
0
        public Form1()
        {
            WorkerId workerObjet = new WorkerId();
            Thread worker = new Thread(workerObjet.DoWork);
            worker.Start();

            InitializeComponent();

            //Initialisation de la boîte du choix du sexe

            genderBox.Items.Add(VidalAPI.Domain.Gender.GENDER_FEMALE);
            genderBox.Items.Add(VidalAPI.Domain.Gender.GENDER_MALE);

            genderBox.SelectedIndex = 0;

            //Initialisation des insuffisances hépatique :

            hepaticBox.Items.Add(VidalAPI.Domain.HepaticInsufficiency.HEPATICINSUFFICIENCY_NONE);
            hepaticBox.Items.Add(VidalAPI.Domain.HepaticInsufficiency.HEPATICINSUFFICIENCY_MODERATE);
            hepaticBox.Items.Add(VidalAPI.Domain.HepaticInsufficiency.HEPATICINSUFFICIENCY_SEVERE);
            hepaticBox.Items.Add(VidalAPI.Domain.HepaticInsufficiency.HEPATICINSUFFICIENCY_JNULL);

            hepaticBox.SelectedIndex = 0;

            //Initialisation du contexte d'allaitement
            breathFeedingBox.Items.Add(VidalAPI.Domain.Breastfeeding.BREASTFEEDING_NONE);
            breathFeedingBox.Items.Add(VidalAPI.Domain.Breastfeeding.BREASTFEEDING_ALL);
            breathFeedingBox.Items.Add(VidalAPI.Domain.Breastfeeding.BREASTFEEDING_LESS_THAN_ONE_MONTH);
            breathFeedingBox.Items.Add(VidalAPI.Domain.Breastfeeding.BREASTFEEDING_MORE_THAN_ONE_MONTH);
            breathFeedingBox.Items.Add(VidalAPI.Domain.Breastfeeding.BREASTFEEDING_JNULL);
            breathFeedingBox.SelectedIndex = 0;

            //Initialisation de la boîte de sélection des fréquence posologiques
            freqComboBox.Items.Add(VidalAPI.Domain.PosologyFrequencyType.POSOLOGYFREQUENCYTYPE_PER_2_DAYS);
            freqComboBox.Items.Add(VidalAPI.Domain.PosologyFrequencyType.POSOLOGYFREQUENCYTYPE_PER_24_HOURS);
            freqComboBox.Items.Add(VidalAPI.Domain.PosologyFrequencyType.POSOLOGYFREQUENCYTYPE_PER_DAY);
            freqComboBox.Items.Add(VidalAPI.Domain.PosologyFrequencyType.POSOLOGYFREQUENCYTYPE_PER_HOUR);
            freqComboBox.Items.Add(VidalAPI.Domain.PosologyFrequencyType.POSOLOGYFREQUENCYTYPE_PER_MINUTE);
            freqComboBox.Items.Add(VidalAPI.Domain.PosologyFrequencyType.POSOLOGYFREQUENCYTYPE_PER_MONTH);
            freqComboBox.Items.Add(VidalAPI.Domain.PosologyFrequencyType.POSOLOGYFREQUENCYTYPE_PER_N_HOURS);
            freqComboBox.Items.Add(VidalAPI.Domain.PosologyFrequencyType.POSOLOGYFREQUENCYTYPE_PER_WEEK);
            freqComboBox.Items.Add(VidalAPI.Domain.PosologyFrequencyType.POSOLOGYFREQUENCYTYPE_PER_YEAR);
            freqComboBox.Items.Add(VidalAPI.Domain.PosologyFrequencyType.POSOLOGYFREQUENCYTYPE_THIS_DAY);
            freqComboBox.Items.Add(VidalAPI.Domain.PosologyFrequencyType.POSOLOGYFREQUENCYTYPE_TYPE_44);
            freqComboBox.Items.Add(VidalAPI.Domain.PosologyFrequencyType.POSOLOGYFREQUENCYTYPE_TYPE_46);
            freqComboBox.Items.Add(VidalAPI.Domain.PosologyFrequencyType.POSOLOGYFREQUENCYTYPE_TYPE_66);
            freqComboBox.Items.Add(VidalAPI.Domain.PosologyFrequencyType.POSOLOGYFREQUENCYTYPE_JNULL);

            freqComboBox.SelectedIndex = 2;

            //Initialisation de la boîte de sélection des durées
            dureeComboBox.Items.Add(VidalAPI.Domain.DurationType.DURATIONTYPE_DAY);
            dureeComboBox.Items.Add(VidalAPI.Domain.DurationType.DURATIONTYPE_HOUR);
            dureeComboBox.Items.Add(VidalAPI.Domain.DurationType.DURATIONTYPE_MINUTE);
            dureeComboBox.Items.Add(VidalAPI.Domain.DurationType.DURATIONTYPE_MONTH);
            dureeComboBox.Items.Add(VidalAPI.Domain.DurationType.DURATIONTYPE_WEEK);
            dureeComboBox.Items.Add(VidalAPI.Domain.DurationType.DURATIONTYPE_YEAR);
            dureeComboBox.Items.Add(VidalAPI.Domain.DurationType.DURATIONTYPE_JNULL);

            dureeComboBox.SelectedIndex = 0;

            //Initialisation de la boîte de ActiveDose
            activeDosecomboBox.Items.Add(VidalAPI.Domain.DoseUnit.DOSEUNIT_G);
            activeDosecomboBox.Items.Add(VidalAPI.Domain.DoseUnit.DOSEUNIT_MG);
            activeDosecomboBox.Items.Add(VidalAPI.Domain.DoseUnit.DOSEUNIT_MCG);
            activeDosecomboBox.Items.Add(VidalAPI.Domain.DoseUnit.DOSEUNIT_KU);
            activeDosecomboBox.Items.Add(VidalAPI.Domain.DoseUnit.DOSEUNIT_U);
            activeDosecomboBox.Items.Add(VidalAPI.Domain.DoseUnit.DOSEUNIT_MU);
            activeDosecomboBox.Items.Add(VidalAPI.Domain.DoseUnit.DOSEUNIT_ML);
            activeDosecomboBox.Items.Add(VidalAPI.Domain.DoseUnit.DOSEUNIT_MMOL);
            activeDosecomboBox.Items.Add(VidalAPI.Domain.DoseUnit.DOSEUNIT_JNULL);

            activeDosecomboBox.SelectedIndex = 0;
        }