zoukankan      html  css  js  c++  java
  • BaseWorkerForm : Form

    using System.Collections.Generic;
    using System.Windows.Forms;
    using WindowsFormsApplication3.Enums;
    using WindowsFormsApplication3.Jobs;
    using WindowsFormsApplication3.Model;
    using WindowsFormsApplication3.DataStorge;
    
    
    namespace WindowsFormsApplication3.FormPage
    {
        public class BaseWorkerForm : Form
        {
            public delegate void FormStatusChangedHandler();
            public event FormStatusChangedHandler FormStatusChanged;
            protected int childFormNO;
            public int ChildFormNO{ 
                get{return childFormNO;}}
    
    
            protected CheckoutContext checkoutContext;
            protected List<BaseJob> jobs;
            protected FormStatus status;
            public virtual FormStatus Status {
                get { return status; }
            }
    
            public BaseWorkerForm():this(new CheckoutContext(),CheckoutStep.Introduction){}
            public BaseWorkerForm(CheckoutContext checkoutContext,CheckoutStep checkoutStep):base()
            {
                this.checkoutContext= checkoutContext;
                jobs=new List<BaseJob>();
    
            }
    
            public virtual void Execute(object obj)
            {
                status = FormStatus.Processing;
                ReportChildFormNO();
                ReportFormStatusChanged();
            }
    
            public void ReportFormStatusChanged(){
            if(FormStatusChanged!=null)
                FormStatusChanged();
            }
    
            public virtual void RefreshForm() { 
            }
    
            public virtual void ResetForm() {
                jobs.Clear();
                status = FormStatus.Waiting;
                ReportFormStatusChanged();
            }
    
            public void ReportChildFormNO() {
                childFormNO = 0;
                foreach (var childf in checkoutContext.formHierachy) {
                    if (childf.fatherForm == base.Text)
                        childFormNO++;
                }
            }
    
            public int FinishedChildFormNO(string formname) {
                int finishedFormNO = 0;
                foreach (var childf in checkoutContext.formHierachy)
                {
                    if (childf.fatherForm == formname&&childf.childForm.status==FormStatus.OK)
                        finishedFormNO++;
                }
                return finishedFormNO;
            }
        }
    }
  • 相关阅读:
    gitlab11.5.4 配置邮件提醒
    docker 安装 mongodb
    dd测试
    k8s部署rocketmq 双主
    rocketmq 多master集群部署
    Kubernetes中的Taint污点和Toleration容忍
    Zookeeper分布式集群搭建
    初识ZooKeeper
    hdu 5071(2014鞍山现场赛B题,大模拟)
    hdu 5073
  • 原文地址:https://www.cnblogs.com/rosizel/p/3861616.html
Copyright © 2011-2022 走看看