Ejemplo n.º 1
0
        public ActionResult Index(ActivityCondition condition)
        {
            var activity = service.SearchActivity(condition);
            var models   = new PagedList <Activitys>(activity, activity.Paging);

            return(View(PluginHelper.GetViewPath(this.GetType(), "Index"), models));
        }
Ejemplo n.º 2
0
        public Activity(string tagNumber, string tagDes, int progress, int weightFactor
                        , float valueUnitNum, int estimateMh, int actualMh, ActivityStatus status
                        , DateTime?acStartDate, DateTime?acEndDate
                        , DateTime?planStartDate, DateTime?planEndDate, long formDicId, int valueUnitId
                        , int workpackageId, int locationId, long subsystemId, ActivityCondition condition, string acCode
                        , int desciplineId, int wStepId)
        {
            this.TagNumber         = tagNumber;
            this.TagDescription    = tagDes;
            this.Progress          = progress;
            this.WeightFactor      = weightFactor;
            this.ValueUnitNum      = valueUnitNum;
            this.EstimateMh        = estimateMh;
            this.ActualMh          = actualMh;
            this.Status            = status;
            this.ActualStartDate   = acStartDate;
            this.ActualEndDate     = acEndDate;
            this.PlanStartDate     = planStartDate;
            this.PlanEndDate       = planEndDate;
            this.FormDictionaryId  = formDicId;
            this.ValueUnitId       = valueUnitId;
            this.WorkPackageId     = workpackageId;
            this.LocationId        = locationId;
            this.SubsytemId        = subsystemId;
            this.Condition         = condition;
            this.ActivityCode      = acCode;
            this.DesciplineId      = desciplineId;
            this.WorkPackageStepId = wStepId;

            this.Punchs            = new List <Punch>();
            this.StatusHistory     = new List <ActivityStatusHistory>();
            this.ActivityDocuments = new List <ActivityDocument>();
        }
 public void SetWhenCondition(Activity activity, ActivityCondition handler)
 {
     if (activity.Parent is ConditionedActivityGroup)
     {
         activity.SetValue(ConditionedActivityGroup.WhenConditionProperty, handler);
     }
 }
Ejemplo n.º 4
0
        public IPagedList <Activitys> SearchActivity(ActivityCondition condition)
        {
            var query = repository.Table;

            if (!string.IsNullOrEmpty(condition.Title))
            {
                query = query.Where(t => t.Title.Contains(condition.Title));
            }
            query = query.Where(t => t.IsDelete == false);
            query = query.OrderByDescending(t => t.CreateDate);

            return(new PagedList <Activitys>(query, condition.PageIndex, condition.PageSize));
        }
Ejemplo n.º 5
0
        public IfElseBranchActivity AddBranch(ICollection <Activity> activities, ActivityCondition branchCondition)
        {
            IfElseBranchActivity branch_activity = new IfElseBranchActivity();

            branch_activity.Condition = branchCondition;

            foreach (Activity activity in activities)
            {
                branch_activity.Activities.Add(activity);
            }

            return(branch_activity);
        }
Ejemplo n.º 6
0
        public IList <Activity_Activitys> SearchActivity(ActivityCondition condition, ref Paging paging)
        {
            CupcakeEntities db = new CupcakeEntities();

            Expression <Func <Activity_Activitys, bool> > where = PredicateExtensions.True <Activity_Activitys>();
            if (condition.ActityType != null)
            {
                where = where.And(n => n.ActityType == condition.ActityType);
            }
            where        = where.And(n => n.IsDelete == false);
            paging.Total = db.Activity_Activitys.Where(n => n.ActityType == condition.ActityType).Count();
            return(db.Activity_Activitys.Where(where).OrderBy(n => n.CreateDate)
                   .Skip(paging.PageSize * paging.PageIndex)
                   .Take(paging.PageSize).ToList());
        }
        public override ValidationErrorCollection Validate(ValidationManager manager, object obj)
        {
            ValidationErrorCollection validationErrors = base.Validate(manager, obj);

            ActivityCondition conditionDeclaration = obj as ActivityCondition;

            if (conditionDeclaration == null)
            {
                throw new ArgumentException(SR.GetString(SR.Error_UnexpectedArgumentType, typeof(ActivityCondition).FullName), "obj");
            }

            validationErrors.AddRange(ValidateProperties(manager, obj));

            return(validationErrors);
        }
        private bool EvaluateChildConditions(ConditionedActivityGroup cag, Activity child, ActivityExecutionContext context)
        {
            bool flag;
            ConditionedActivityGroupStateInfo cAGState = cag.CAGState;

            try
            {
                cAGState.Testing = true;
                ActivityCondition condition = (ActivityCondition)child.GetValue(WhenConditionProperty);
                flag = (condition != null) ? condition.Evaluate(child, context) : (cAGState.ChildrenStats[child.QualifiedName].ExecutedCount == 0);
            }
            finally
            {
                cAGState.Testing = false;
            }
            return(flag);
        }
Ejemplo n.º 9
0
        public IStatusGeneric UpdateActivityStatus(ActivityStatus status,
                                                   ActivityHolBy acHoldBy, ActivityCondition condition)
        {
            var pstatus = new StatusGenericHandler();

            if (this.Status == Common.ActivityStatus.Done)
            {
                pstatus.AddError("activity status unable to edit!!!");
            }

            if (condition == Common.ActivityCondition.Hold)
            {
                if (acHoldBy == Common.ActivityHolBy.NoHold)
                {
                    pstatus.AddError("Please select a hold attribute!!!");
                }
            }

            if (!pstatus.HasErrors)
            {
                if (status == ActivityStatus.Ongoing)
                {
                    this.ActualStartDate = DateTime.Now;
                }
                else if (status == ActivityStatus.Done)
                {
                    this.Progress      = 100;
                    this.ActualEndDate = DateTime.Now;
                }
                else if (status == ActivityStatus.Reject || status == ActivityStatus.Delete)
                {
                    this.Progress     = 0;
                    this.WeightFactor = 0;
                }

                this.Condition = condition;
                this.Status    = status;

                string description = $"{status} - {condition}";

                this.StatusHistory.Add(ActivityStatusHistory.CreateActivityStatusHistory(acHoldBy, description, DateTime.Now).Result);
            }

            return(pstatus);
        }
Ejemplo n.º 10
0
        public IStatusGeneric UpdateActivity(string tagNumber, string tagDes
                                             , float valueUnitNum, int estimateMh, int actualMh
                                             , DateTime?acStartDate, DateTime?acEndDate
                                             , ActivityCondition condition, ActivityStatus status)
        {
            var pstatus = new StatusGenericHandler();

            this.TagNumber       = tagNumber;
            this.TagDescription  = tagDes;
            this.ValueUnitNum    = valueUnitNum;
            this.EstimateMh      = estimateMh;
            this.ActualMh        = actualMh;
            this.ActualStartDate = acStartDate;
            this.ActualEndDate   = acEndDate;
            this.Condition       = condition;
            this.Status          = status;

            return(pstatus);
        }
Ejemplo n.º 11
0
        public IfElseBranchActivity AddBranch(ICollection <Activity> activities, ActivityCondition branchCondition)
        {
            if (activities == null)
            {
                throw new ArgumentNullException("activities");
            }
            if (!base.DesignMode)
            {
                throw new InvalidOperationException(SR.GetString("Error_ConditionalBranchUpdateAtRuntime"));
            }
            IfElseBranchActivity item = new IfElseBranchActivity();

            foreach (Activity activity2 in activities)
            {
                item.Activities.Add(activity2);
            }
            item.Condition = branchCondition;
            base.Activities.Add(item);
            return(item);
        }
Ejemplo n.º 12
0
        /// <summary>
        /// Evaluate the While condition for a particular child of the CAG
        /// If no While condition, it becomes "execute once"
        /// </summary>
        /// <param name="cag"></param>
        /// <param name="child"></param>
        /// <param name="context"></param>
        /// <returns></returns>
        private bool EvaluateChildConditions(ConditionedActivityGroup cag, Activity child, ActivityExecutionContext context)
        {
#if     LOG
            Log("EvaluateChildConditions on activity " + child.QualifiedName + " inside " + cag.QualifiedName);
#endif
            // determine the result of the when condition (evaluate once if not specified)
            ConditionedActivityGroupStateInfo state = cag.CAGState;
            try
            {
                state.Testing = true;
                ActivityCondition whenCondition = (ActivityCondition)child.GetValue(ConditionedActivityGroup.WhenConditionProperty);
                return((whenCondition != null)
                    ? whenCondition.Evaluate(child, context)
                    : (state.ChildrenStats[child.QualifiedName].ExecutedCount == 0));
            }
            finally
            {
                state.Testing = false;
            }
        }
Ejemplo n.º 13
0
        public static IStatusGeneric <Activity> CreateActivity(string tagNumber, string tagDes, float progress, float weightFactor
                                                               , float valueUnitNum, int estimateMh, int actualMh, ActivityStatus status
                                                               , DateTime?acStartDate, DateTime?acEndDate
                                                               , DateTime?planStartDate, DateTime?planEndDate, long formDicId, int valueUnitId
                                                               , int workpackageId, int locationId, long subsystemId,
                                                               ActivityCondition condition, string acCode, int desciplineId, int wStepId)
        {
            var pstatus     = new StatusGenericHandler <Activity>();
            var newActivity = new Activity
            {
                ActivityCode      = acCode,
                TagNumber         = tagNumber,
                TagDescription    = tagDes,
                Progress          = progress,
                WeightFactor      = weightFactor,
                ValueUnitNum      = valueUnitNum,
                EstimateMh        = estimateMh,
                ActualMh          = actualMh,
                Status            = status,
                ActualStartDate   = acStartDate,
                ActualEndDate     = acEndDate,
                PlanStartDate     = planStartDate,
                PlanEndDate       = planEndDate,
                FormDictionaryId  = formDicId,
                ValueUnitId       = valueUnitId,
                WorkPackageId     = workpackageId,
                LocationId        = locationId,
                SubsytemId        = subsystemId,
                Condition         = condition,
                DesciplineId      = desciplineId,
                UpdatedDate       = DateTime.Now,
                CreatedDate       = DateTime.Now,
                WorkPackageStepId = wStepId
            };

            //newActivity.StatusHistory.Add(ActivityStatusHistory.CreateActivityStatusHistory(ActivityHolBy.NoHold, null, DateTime.Now).Result);

            pstatus.Result = newActivity;
            return(pstatus);
        }
        private static string ConvertActivityCondition(ActivityCondition condition, RuleDefinitions ruleDefinitions)
        {
            var builder = new StringBuilder();

            if (condition != null)
            {
                if (condition is RuleConditionReference)
                {
                    var ruleRef = (RuleConditionReference)condition;
                    builder.AppendLine(RuleTranslator.ConvertRuleConditionReference(ruleDefinitions, ruleRef));
                }
                else
                {
                    throw new NotSupportedException("Type not found:" + condition.GetType());
                }
            }
            else
            {
                builder.AppendLine("This activity gets executed if the other conditions fail in the evaluation process");
            }
            return(builder.ToString());
        }
        public IfElseBranchActivity AddBranch(ICollection <Activity> activities, ActivityCondition branchCondition)
        {
            if (activities == null)
            {
                throw new ArgumentNullException("activities");
            }

            if (!this.DesignMode)
            {
                throw new InvalidOperationException(SR.GetString(SR.Error_ConditionalBranchUpdateAtRuntime));
            }

            IfElseBranchActivity branchActivity = new IfElseBranchActivity();

            foreach (Activity activity in activities)
            {
                branchActivity.Activities.Add(activity);
            }

            branchActivity.Condition = branchCondition;
            this.Activities.Add(branchActivity);

            return(branchActivity);
        }