예제 #1
0
        public void ManageTransition <T, C, L>(IStateChange <T, C, L> change, C newState, L model)
            where T : class, IStateChangeEntityBase <C>
            where C : Enum
            where L : class
        {
            CheckCorrectOverloadForTasks(change);

            BasicWorkFlowManage(change, newState);
            change.IsValid(model);
            change.StateAction(model);

            ChangeStatus(change, newState);
        }
예제 #2
0
        public K[] ManageTransition <T, C, K, L, AclEntity>(IStateChange <T, C, L> change, C newState, L model, IRLSRepository <K, AclEntity> RlsRepository)
            where T : class, IStateChangeEntityBase <C>
            where C : Enum
            where K : TaskEntity, new()
            where L : class
            where AclEntity : class, IACLEntity, new()
        {
            BasicWorkFlowManage(change, newState);

            change.IsValid(model);
            change.StateAction(model);

            var tasks = TaskCreationManage <T, C, K, AclEntity>(change, RlsRepository);

            ChangeStatus(change, newState);
            return(tasks);
        }
예제 #3
0
        /// <summary>
        /// !!! Calls SaveChanges on <see cref="IRLSRepository{Entity, ACLEntity}"/>
        /// </summary>
        /// <typeparam name="T">Entity</typeparam>
        /// <typeparam name="C">State</typeparam>
        /// <typeparam name="K">Task entity</typeparam>
        /// <param name="change"></param>
        public K[] ManageTransition <T, C, K, AclEntity>(IStateChange <T, C> change, C newState, IRLSRepository <K, AclEntity> RlsRepository)
            where T : class, IStateChangeEntityBase <C>
            where C : Enum
            where K : TaskEntity, new()
            where AclEntity : class, IACLEntity, new()
        {
            CheckCorrectOverloadForViewModel(change);
            BasicWorkFlowManage(change, newState);

            change.IsValid();
            change.StateAction();

            var tasks = TaskCreationManage <T, C, K, AclEntity>(change, RlsRepository);

            ChangeStatus(change, newState);
            return(tasks);
        }