Пример #1
0
        public static void Insert(F_INST_ACTIVITY entity)
        {
            using (MainDataContext dbContext = new MainDataContext())
            {
                //var list = from a in dbContext.F_INST_ACTIVITY select a.ID;

                //long total = list.LongCount();

                //if (total == 0)
                //{
                //    entity.ID = 1;
                //}
                //else
                //{
                //    entity.ID = dbContext.F_INST_ACTIVITY.Max(a => a.ID) + 1;
                //}


                dbContext.F_INST_ACTIVITY.InsertOnSubmit(entity);

                dbContext.SubmitChanges();

                //return entity.ID;
            }
        }
Пример #2
0
        /// <summary>
        /// 启动关卡实例
        /// </summary>
        /// <returns></returns>
        public void Active()
        {
            //更新状态
            F_INST_ACTIVITY inst = DAL.WorkFlow.ActivityInstance.Get(m_ActivityInstanceId);

            inst.BeginDate = DateTime.Now;
            inst.State     = ActivityInstanceStatus.Active;

            DAL.WorkFlow.ActivityInstance.Save(inst);
        }
Пример #3
0
        public ActivityInstance(int id)
        {
            m_ActivityInstanceId = id;

            F_INST_ACTIVITY activityInst = DAL.WorkFlow.ActivityInstance.Get(this.ID);

            m_FlowInstance = new FlowInstance(activityInst.FlowInstID);

            m_Activity = new Activity(activityInst.ActivityID);

            m_State = activityInst.State;
        }
Пример #4
0
        /// <summary>
        /// 搁置关卡
        /// </summary>
        /// <returns></returns>
        public void Pending()
        {
            //更新状态
            F_INST_ACTIVITY activityInst = DAL.WorkFlow.ActivityInstance.Get(m_ActivityInstanceId);

            activityInst.BeginDate = DateTime.Now;
            activityInst.State     = ActivityInstanceStatus.Pending;

            DAL.WorkFlow.ActivityInstance.Save(activityInst);

            this.State = ActivityInstanceStatus.Pending;
        }
Пример #5
0
        public static bool Save(F_INST_ACTIVITY entity)
        {
            using (MainDataContext dbContext = new MainDataContext())
            {
                var model = dbContext.F_INST_ACTIVITY.FirstOrDefault(t => t.ID == entity.ID);

                model.FlowInstID = entity.FlowInstID;
                model.ActivityID = entity.ActivityID;
                model.BeginDate  = entity.BeginDate;
                model.EndDate    = entity.EndDate;
                model.State      = entity.State;

                dbContext.SubmitChanges();
            }

            return(true);
        }
Пример #6
0
        /// <summary>
        /// 结束关卡实例
        /// </summary>
        /// <returns></returns>
        public void Close()
        {
            //更新状态
            F_INST_ACTIVITY inst = DAL.WorkFlow.ActivityInstance.Get(m_ActivityInstanceId);

            inst.EndDate = DateTime.Now;
            inst.State   = ActivityInstanceStatus.Completed;
            this.State   = ActivityInstanceStatus.Completed;

            DAL.WorkFlow.ActivityInstance.Save(inst);

            //关闭未完成任务
            foreach (WorkItemInstance instWorkItem in WorkItemInstances)
            {
                if (instWorkItem.State == WorkItemState.Waiting)
                {
                    instWorkItem.Pass();
                }
            }
        }
Пример #7
0
        /// <summary>
        /// 创建关卡实例
        /// </summary>
        /// <param name="instFlow"></param>
        /// <param name="activity"></param>
        /// <returns></returns>
        public void Create(int flowInstId, int activityId)
        {
            this.FlowInstance = new FlowInstance(flowInstId);
            this.Activity     = new Activity(activityId);
            this.State        = ActivityInstanceStatus.InActive;

            //新增关卡实例
            //IPrimaryKeyCreater prikey = ctx["PrimaryKeyCreater"] as IPrimaryKeyCreater;
            m_ActivityInstanceId = PrimaryKeyCreater.getIntPrimaryKey("F_INST_ACTIVITY");

            F_INST_ACTIVITY instActivity = new F_INST_ACTIVITY();

            instActivity.ID         = m_ActivityInstanceId;
            instActivity.ActivityID = activityId;
            instActivity.BeginDate  = DateTime.Now;
            instActivity.EndDate    = null;
            instActivity.FlowInstID = flowInstId;
            instActivity.State      = ActivityInstanceStatus.InActive;

            DAL.WorkFlow.ActivityInstance.Insert(instActivity);
        }