예제 #1
0
 public void GetCurriculum()
 {
     List<Curriculum> curriculums = CreateDefaultData();
     var ids = curriculums.Select(item => _Storage.AddCurriculum(item)).ToList();
     curriculums.Select((item, i) => i).ToList()
         .ForEach(i=>AdvAssert.AreEqual(curriculums[i],_Storage.GetCurriculum(ids[i])));
     #region WhyDoesItWorks
     Curriculum cur = _Storage.GetCurriculum(0);
     Assert.AreEqual(null, cur);
     Curriculum curriculumWithExistesId = new Curriculum { Name = "ExistedCurriculum", Id = ids[0] };
     _Storage.AddCurriculum(curriculumWithExistesId);
     _Storage.GetCurriculum(ids[0]);
     #endregion
     try
     {
         _Storage.GetCurriculum(0);
         Assert.Fail();
     }
     catch (Exception ex)
     {
         Assert.True(true);
     }
     try
     {
         curriculumWithExistesId = new Curriculum { Name = "ExistedCurriculum", Id = ids[0] };
         _Storage.AddCurriculum(curriculumWithExistesId);
         _Storage.GetCurriculum(ids[0]);
         Assert.Fail();
     }
     catch (Exception ex)
     {
         Assert.True(true);
     }
 }
예제 #2
0
        public int AddCurriculum(Curriculum curriculum)
        {
            curriculum.Created = DateTime.Now;
            curriculum.Updated = DateTime.Now;

            db.Curriculums.InsertOnSubmit(curriculum);
            db.SubmitChanges();

            return curriculum.Id;
        }
예제 #3
0
        public ActionResult Create(Curriculum curriculum)
        {
            try
            {
                Storage.AddCurriculum(curriculum);

                return RedirectToAction("Index");
            }
            catch (Exception e)
            {
                return ErrorView(e);
            }
        }
예제 #4
0
        public ActionResult Create(Curriculum curriculum)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    Storage.AddCurriculum(curriculum);

                    return RedirectToAction("Index");
                }
                else
                {
                    return View(curriculum);
                }
            }
            catch (Exception e)
            {
                throw e;
            }
        }
예제 #5
0
        public void UpdateCurriculum(Curriculum curriculum)
        {
            Curriculum oldCurriculum = GetCurriculum(curriculum.Id);

            oldCurriculum.Name = curriculum.Name;
            oldCurriculum.Updated = DateTime.Now;

            db.SubmitChanges();
        }
예제 #6
0
 public void CalculateSumAndMax(User user, Curriculum curr)
 {
     _Max = 0.0;
     _Sum = 0.0;
     _User = user;
     _Curriculum = curr;
     foreach (ThemeResult theme in _ThemeResult)
     {
         _Sum += theme.Res;
         _Max += 100;
     }
 }
예제 #7
0
 public CurriculumResult()
 {
     _User = new User();
     _Curriculum = new Curriculum();
     _ThemeResult = new List<ThemeResult>();
 }
예제 #8
0
        public void UpdateCurriculum(Curriculum curriculum)
        {
            var oldCurriculum = GetCurriculum(curriculum.Id);

            using (var db = new CurriculumManagementDBContext())
            {
                db.Curriculums.Attach(oldCurriculum);

                oldCurriculum.Name = curriculum.Name;
                oldCurriculum.Updated = DateTime.Now;

                db.SaveChanges();
            }
        }
예제 #9
0
        public int AddCurriculum(Curriculum curriculum)
        {
            using (var db = new CurriculumManagementDBContext())
            {
                curriculum.Created = DateTime.Now;
                curriculum.Updated = DateTime.Now;
                curriculum.IsDeleted = false;

                db.Curriculums.Add(curriculum);
                db.SaveChanges();

                return curriculum.Id;
            }
        }
예제 #10
0
        public ActionResult Search(String query)
        {
            if (query == "")
                return RedirectToAction("Index");

            query = query + "~";

            DateTime datastart = DateTime.Now;
            Directory directory = FSDirectory.Open(new System.IO.DirectoryInfo(Server.MapPath("~/Data/Index")));
            IndexSearcher searcher = new IndexSearcher(directory, true);
            Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_29);

            MultiFieldQueryParser queryParser = new MultiFieldQueryParser(
                    Version.LUCENE_29,
                    new String[] { "Name", "Content", "Curriculum", "User", "Group", "Theme" },
                    analyzer
                );


            ScoreDoc[] scoreDocs = searcher.Search(queryParser.Parse(query), 100).scoreDocs;

            Hits hit = searcher.Search(queryParser.Parse(query));
            int total = hit.Length();



            List<ISearchResult> results = new List<ISearchResult>();
            Stopwatch sw = new Stopwatch();

            sw.Start();
            foreach (ScoreDoc doc in scoreDocs)
            {
                ISearchResult result;
                Document document = searcher.Doc(doc.doc);
                String type = document.Get("Type").ToLower();

                switch (type)
                {
                    case "node":
                        Node node = new Node();
                        node.Id = Convert.ToInt32(document.Get("ID"));
                        node.Name = document.Get("Name");
                        node.CourseId = Convert.ToInt32(document.Get("CourseID"));
                        node.IsFolder = Convert.ToBoolean(document.Get("isFolder"));

                        result = new NodeResult(node, _CourseService.GetCourse(node.CourseId).Name, document.Get("Content"), _CourseService.GetCourse(node.CourseId).Updated.ToString());

                        break;

                    case "course":

                        Course course = new Course();
                        course.Id = Convert.ToInt32(document.Get("ID"));
                        course.Name = document.Get("Name");

                        result = new CourseResult(course,_CourseService.GetCourse(course.Id).Updated.ToString(), _CourseService.GetCourse(course.Id).Owner);

                        break;
                    case "curriculum":

                        Curriculum curriculum = new Curriculum();
                        curriculum.Id = Convert.ToInt32(document.Get("ID"));
                        curriculum.Name = document.Get("Curriculum");

                        result = new CurriculumResult(curriculum, _CurriculmService.GetCurriculum(curriculum.Id).Updated.ToString());

                        break;

                    case "user":

                        User user = new User();
                        user.Id = Guid.Parse(document.Get("ID"));
                        user.Name = document.Get("User");
                        /*user.RoleId = Convert.ToInt32(document.Get("RoleId"));*/

                        result = new UserResult(user, user.RolesLine);

                        break;

                    case "group":

                        Group group = new Group();
                        group.Id = int.Parse(document.Get("ID"));
                        group.Name = document.Get("Group");

                        result = new GroupResult(group);

                        break;

                    case "theme":

                        Theme theme = new Theme();
                        theme.Id = Convert.ToInt32(document.Get("ID"));
                        theme.Name = document.Get("Theme");
                        theme.CourseRef = Convert.ToInt32(document.Get("CourseRef"));

                        result = new ThemeResult(theme, _CourseService.GetCourse(theme.CourseRef).Name);

                        break;

                    default:
                        throw new Exception("Unknown result type");
                }

                results.Add(result);
            }
            sw.Stop();

            DateTime dataend = DateTime.Now;
            analyzer.Close();
            searcher.Close();
            directory.Close();

            ViewData["SearchString"] = query;
            ViewData["score"] = Math.Abs(dataend.Millisecond - datastart.Millisecond); //sw.ElapsedMilliseconds.ToString();
            ViewData["total"] = total;

            return View(results);
        }
예제 #11
0
 public void UpdateCurriculum()
 {
     Curriculum curriculum = new Curriculum { Id = 1, Name = "Curriculum1" };
     _Storage.AddCurriculum(curriculum);
     curriculum.Name = "UpdatedCurriculum";
     _Storage.UpdateCurriculum(curriculum);
     var actualCurriculum=_Storage.GetCurriculum(curriculum.Id);
     AdvAssert.AreEqual(curriculum,actualCurriculum);
     try
     {
         _Storage.UpdateCurriculum(null);
         Assert.Fail();
     }
     catch (Exception ex)
     {
         Assert.True(true);
     }
 }
예제 #12
0
 partial void DeleteCurriculum(Curriculum instance);
예제 #13
0
 partial void UpdateCurriculum(Curriculum instance);
예제 #14
0
 partial void InsertCurriculum(Curriculum instance);
예제 #15
0
 //Index 
 public static List<Curriculum> FakeAllowedCurriculums()
 {
     Curriculum fakeCurriculum = new Curriculum();
     fakeCurriculum.Name = "Програмування";
     return new List<Curriculum>() { fakeCurriculum };
 }
예제 #16
0
        public void UpdateCurriculumTest()
        {
            //Test UpdateCurriculum() with null
            try
            {
                storage.UpdateCurriculum(null);
                Assert.Fail();
            }
            catch (Exception ex)
            {
                Assert.AreEqual(true, true);
            }

            //Test UpdateCurriculum()
            Curriculum curriculum = new Curriculum { Name = "Curriculum" };
            int id = storage.AddCurriculum(curriculum);
            curriculum.Name = "UpdatedCurriculum";
            storage.UpdateCurriculum(curriculum);

            AdvAssert.AreEqual(curriculum, storage.GetCurriculum(id));

            curriculum.Name = "SecondlyUpdatedCurriculum";
            Assert.AreNotEqual(curriculum.Name, storage.GetCurriculum(id).Name);
        }
예제 #17
0
 public void MakeCurriculumInvalid()
 {
     Curriculum curriculum = new Curriculum() { Name = "Curriculum1" };
     Stage stage = new Stage() { Curriculum = curriculum, Name = "Stage1" };
     Theme theme = new Theme() { Name = "Theme1", Stage = stage, ThemeType = _Storage.GetThemeType(1), CourseRef = 1 };
     _Storage.AddCurriculum(curriculum);
     _Storage.AddStage(stage);
     _Storage.AddTheme(theme);
     _Storage.MakeCurriculumInvalid(1);
     _Storage.GetCurriculums().ToList()
         .ForEach(item => Assert.AreEqual(false, item.IsValid));
 }
예제 #18
0
        public ActionResult Edit(int curriculumId, Curriculum curriculum)
        {
            try
            {
                curriculum.Id = curriculumId;
                Storage.UpdateCurriculum(curriculum);

                return RedirectToAction("Index");
            }
            catch (Exception e)
            {
                throw e;
            }
        }
예제 #19
0
 public CurriculumResult(Curriculum curriculum, string update)
 {
     _Curriculum = curriculum;
     _Update = update;
 }