Beispiel #1
0
        private string[] GetExtraPreReqs(CanvasModule copy, CanvasModule blueprint, List <CanvasModule> CourseCopy, List <CanvasModule> BlueprintCourse)
        {
            List <string> extraModules = new List <string>();

            foreach (var moduleId in copy.PrerequisiteModuleIds)
            {
                if (!Array.Exists(blueprint.PrerequisiteModuleIds, blueprintCopyId =>
                {
                    var CopyPreReqModule = GetModuleFromId(moduleId.ToString(), CourseCopy);
                    if (CopyPreReqModule == null)
                    {
                        return(false);
                    }
                    var BlueprintPreReqModule = GetModuleFromId(blueprintCopyId.ToString(), BlueprintCourse);
                    if (BlueprintPreReqModule == null)
                    {
                        return(false);
                    }
                    return(CopyPreReqModule.Name.Equals(BlueprintPreReqModule.Name));
                }))
                {
                    extraModules.Add(moduleId.ToString());
                }
            }
            return(extraModules.ToArray());
        }
Beispiel #2
0
        private bool LockDatesMatch(CanvasModule Copy, CanvasModule BlueprintCourse)
        {
            bool NoUnlockDates       = (Copy.UnlockAt == null && BlueprintCourse.UnlockAt == null);
            bool BothHaveUnlockDates = (Copy.UnlockAt != null && BlueprintCourse.UnlockAt != null);

            if (NoUnlockDates || BothHaveUnlockDates)
            {
                return(true);
            }
            return(false);
        }
Beispiel #3
0
        private CanvasModule GetModuleFromId(string ID, List <CanvasModule> Modules)
        {
            var          ModList = Modules.Where(module => module.Id.ToString() == ID);
            CanvasModule Mod     = null;

            if (ModList.Count() > 0)
            {
                Mod = ModList.ToList()[0];
            }
            return(Mod);
        }
Beispiel #4
0
 private bool StatesMatch(CanvasModule Copy, CanvasModule BlueprintCourse)
 {
     if (Copy.State == null && BlueprintCourse.State == null)
     {
         return(true);
     }
     else if (Copy.State == null || BlueprintCourse.State == null)
     {
         return(false);
     }
     return(Copy.State.Equals(BlueprintCourse.State));
 }
        /// <summary>
        /// Dragdrop operation for new module object starts from here
        /// </summary>
        /// <param name="module"></param>
        /// <param name="rootCanvas"></param>
        private void CreateModuleObject(BaseModule module)
        {
            //Canvas rootCanvas = (Canvas)FindName("RootCanvas");
            DragCanvas rootCanvas = (DragCanvas)FindName("RootCanvas");

            logger.Trace($"Creating module object of Type: {module.GetType()}");

            //New module creation starts from hee
            var newModule = ((App)App.Current).CreateModule(module.GetType());

            logger.Trace("Creating CanvasModule for module object {0}", newModule.DisplayName);

            var canvasModule = new CanvasModule(((BaseModule)newModule));

            rootCanvas.Children.Add(canvasModule);
            canvasModule.Parent2 = rootCanvas;
        }
        private string[] CheckPrereqsFromArray(long[] prototype, long[] test, Dictionary <string, CanvasModule> PrototypeModules, Dictionary <string, CanvasModule> testModules)
        {
            List <string> missingModules = new List <string>();

            foreach (var prototypeId in prototype)
            {
                // goes through every id from the prototype and looks for its match in the test array
                if (!Array.Exists(test, testId =>
                {
                    //because the module IDs will vary by course, we need to look them up by their actual name.

                    CanvasModule testModule = null;
                    if (testModules.ContainsKey(testId.ToString()))
                    {
                        testModule = testModules[testId.ToString()];
                    }
                    else
                    {
                        // we couldn't find the module in the test course
                        return(false);
                    }

                    CanvasModule prototypeModule = null;
                    if (PrototypeModules.ContainsKey(prototypeId.ToString()))
                    {
                        prototypeModule = PrototypeModules[prototypeId.ToString()];
                    }
                    else
                    {
                        // We couldn't find the module in the prototype course
                        return(false);
                    }

                    // now that we found each respective module in the courses, we need to make sure they lineup
                    return(prototypeModule.Name.Equals(testModule.Name));
                }))
                {
                    // if we cant find matching modules
                    missingModules.Add(prototypeId.ToString());
                }
            }
            return(missingModules.ToArray());
        }
Beispiel #7
0
 private bool SequentialProgressConfigurationsMatch(CanvasModule Copy, CanvasModule BlueprintCourse)
 {
     return(Copy.RequireSequentialProgress == BlueprintCourse.RequireSequentialProgress);
 }