public static void PrintPossibleOptionalCourses(CourseOfStudy courseOfStudy) //Gibt unseren gewählten studiengang mit | Funktion soll sagen welche WPV's UNSER studiengang besucht werden soll.
    {
        bool key = true;                                                         //unnötig

        Console.WriteLine("Mit diesem Stundenplan, koenntest du folgende Wahlpflichtkurse belegen");
        Console.WriteLine(" ");
        foreach (Day day in TimetableGenerator.week)                                                 //Für jeden Tag in der woche
        {
            foreach (Block block in day.blocks)                                                      //durch alle Blöcke im Tag
            {
                foreach (OptionalCourse optionalCourse in TimetableGenerator.optionalCourses)        //Geht mit jedem optional Kurs der gesammten optinal Kurse durch
                {
                    if (block.blockCourses.Count == 0 && optionalCourse.optionalCourseUsed == false) //Hat der block überhaupt Kurse wenn 0 (== 0), dann Liste leer --> ist das WPV schon genutzt? (bool)
                    {
                        if (CheckBlockToCourse(block, optionalCourse.timeSpanDay))                   //checkt ob bool true ist

                        {
                            optionalCourse.optionalCourseUsed = true;
                            PrintOptionalCourseData(block, day, optionalCourse);
                        }
                    }
                    else
                    {
                        foreach (Course course in block.blockCourses)                                                   //Jeder Kurs im Block der Blockkurse
                        {
                            if (block.blockCourses.Count == 0)                                                          //Sicherheitsanfrage
                            {
                                break;                                                                                  //geht zurück in die oberste foreach
                            }
                            key = true;                                                                                 //weil 104 auf false gesetzt wird
                            for (int i = 0; i < course.coursesOfStudy.Count; i++)                                       //Checkt die anderen Studiengägne (bzw ob einer davon)
                            {
                                CourseOfStudy courseOfStudyOfCourses = course.coursesOfStudy[i];                        //i = coursesOfStudy an stelle i 0 = MIB. 1=OMB, 2=MKB (reihenfolge ist nicht festgelegt)
                                if (courseOfStudyOfCourses.name == courseOfStudy.name || course.coursesOfStudy == null) // Hat der Studiengang gerade unterricht --> (courseOfStudy.name ist die eingabe.) || der Studiengang der in diesem Kurs ist == null (JSON fall, falls vergessen werden die Daten einzutragen.);
                                {
                                    key = false;                                                                        //Key false --> haben untericht
                                }
                            }

                            if (key && optionalCourse.optionalCourseUsed == false)         // key = (key == true), ist kurs schon genutzt
                            {
                                if (CheckBlockToCourse(block, optionalCourse.timeSpanDay)) //checkt ob bool in der funktion true ist
                                {
                                    optionalCourse.optionalCourseUsed = true;
                                    PrintOptionalCourseData(block, day, optionalCourse);  //wenn alles funktioniert wird Optional Kurs ausgegeben
                                }
                            }
                        }
                    }
                }
            }
        }
    }
Example #2
0
    public static void PrintPossibleOptionalCourses(CourseOfStudy courseOfStudy)
    {
        bool key = true;

        Console.WriteLine("Mit diesem Stundenplan, koenntest du folgende Wahlpflichtkurse belegen");
        Console.WriteLine(" ");
        foreach (Day day in TimetableGenerator.week)
        {
            foreach (Block block in day.blocks)
            {
                foreach (OptionalCourse optionalCourse in TimetableGenerator.optionalCourses)
                {
                    if (block.blockCourses.Count == 0 && optionalCourse.optionalCourseUsed == false)
                    {
                        if (CheckBlockToCourse(block, optionalCourse.timeSpanDay))
                        {
                            optionalCourse.optionalCourseUsed = true;
                            PrintOptionalCourseData(block, day, optionalCourse);
                        }
                    }
                    else
                    {
                        foreach (Course course in block.blockCourses)
                        {
                            if (block.blockCourses.Count == 0)
                            {
                                break;
                            }
                            key = true;
                            for (int i = 0; i < course.coursesOfStudy.Count; i++)
                            {
                                CourseOfStudy courseOfStudyOfCourses = course.coursesOfStudy[i];
                                if (courseOfStudyOfCourses.name == courseOfStudy.name || course.coursesOfStudy == null)
                                {
                                    key = false;
                                }
                            }

                            if (key && optionalCourse.optionalCourseUsed == false)
                            {
                                if (CheckBlockToCourse(block, optionalCourse.timeSpanDay))
                                {
                                    PrintOptionalCourseData(block, day, optionalCourse);
                                }
                            }
                        }
                    }
                }
            }
        }
    }
        public void AddCourseOfStudy(CourseOfStudy courseOfStudy, long facultyId, string creatorId)
        {
            var newCourse = new CourseOfStudy()
            {
                Faculty        = _studentExchangeDataContext.Faculties.Find(facultyId),
                Name           = courseOfStudy.Name,
                Administrators = new List <Student>()
                {
                    _studentExchangeDataContext.Users.OfType <Student>().ToList().Find(s => s.Id == creatorId)
                },
                StartYear = courseOfStudy.StartYear
            };

            _studentExchangeDataContext.CoursesOfStudy.Add(newCourse);
            _studentExchangeDataContext.SaveChanges();
        }
Example #4
0
        public int CreateCourse(string name)
        {
            var isExist = _context.CourseOfStudies.Where(e => e.Course_Name == name).FirstOrDefault();

            if (isExist != null)
            {
                throw new Exception("course already exist");
            }

            var entity = new CourseOfStudy {
                Course_Name = name, CourseId = 0
            };

            _context.CourseOfStudies.Add(entity);

            var higherInstitutionId = _context.SaveChanges();

            return(entity.CourseId);
        }
Example #5
0
    public static void PrintCourseOfStudy(string courseofStudyName)
    {
        Console.WriteLine(courseofStudyName + " :");
        Console.WriteLine(" ");
        CourseOfStudy courseOfStudy = MapCourseOfStudyNameToCourseOfStudy(courseofStudyName);

        if (courseOfStudy != null)
        {
            foreach (Day day in TimetableGenerator.week)
            {
                foreach (Block block in day.blocks)
                {
                    foreach (Course blockCourseCourse in block.blockCourses)
                    {
                        foreach (Course courseOfMandatoryCourses in courseOfStudy.mandatoryCourses)
                        {
                            if (blockCourseCourse == courseOfMandatoryCourses)
                            {
                                Console.WriteLine(courseOfMandatoryCourses.name);
                                Console.WriteLine(courseOfMandatoryCourses.room.name + ": ");
                                Console.WriteLine("gehalten von " + courseOfMandatoryCourses.prof.name);
                                Console.WriteLine("Am " + day.dayName);
                                Console.WriteLine("im " + block.blockNumber + ". Block");
                                Console.WriteLine(" ");
                            }
                        }
                    }
                }
            }
            PrintPossibleOptionalCourses(courseOfStudy);
        }
        else
        {
            Console.WriteLine("Falsche Eingabe, oder Studiengang nicht vorhanden, Bsp: 'MIB 2'");
        }
    }
    public static void PrintCourseOfStudy(string courseofStudyName)
    {
        Console.WriteLine(courseofStudyName + " :");
        Console.WriteLine(" ");
        CourseOfStudy courseOfStudy = MapCourseOfStudyNameToCourseOfStudy(courseofStudyName);       //Speichert wert der MEthode in der Variableder MEthode in der Variable (der mitgegebene Name wird mit dem Course of Study name abgeglichen)

        if (courseOfStudy != null)                                                                  //Check ob Studiengang gewählt ist
        {
            foreach (Day day in TimetableGenerator.week)                                            //Für jeden Tag
            {
                foreach (Block block in day.blocks)                                                 //Für jeden Block
                {
                    foreach (Course blockCourseCourse in block.blockCourses)                        //Für jeden Kurs der in diesem Block stattfindet
                    {
                        foreach (Course courseOfMandatoryCourses in courseOfStudy.mandatoryCourses) //Für jeden Pflichtkurs in den Pflichtkursen
                        {
                            if (blockCourseCourse == courseOfMandatoryCourses)                      // Kurse in den blöcken werden mit dem selektierten Studiengang (z.b. MIB 1 abgeglichen)
                            {
                                Console.WriteLine(courseOfMandatoryCourses.name);
                                Console.WriteLine(courseOfMandatoryCourses.room.name + ": ");
                                Console.WriteLine("gehalten von " + courseOfMandatoryCourses.prof.name);
                                Console.WriteLine("Am " + day.dayName);
                                Console.WriteLine("im " + block.blockNumber + ". Block");
                                Console.WriteLine(" ");
                            }
                        }
                    }
                }
            }
            PrintPossibleOptionalCourses(courseOfStudy);  //wenn Eingabe erfolgreich ruf diese Funktion auf
        }
        else
        {
            Console.WriteLine("Falsche Eingabe, oder Studiengang nicht vorhanden, Bsp: 'MIB 2'");
        }
    }
        private void ProvideTestData()
        {
            var university1 = new University()
            {
                Id        = 1L,
                Name      = "Uniwersytet Jagielloński",
                ShortName = "UJ"
            };
            var faculty1 = new Faculty()
            {
                Id         = 1L,
                Name       = "Wydział Prawa",
                ShortName  = "WP",
                University = university1
            };

            university1.Faculties = new List <Faculty>()
            {
                faculty1
            };

            _studentList = new List <Student>();
            var student1 = new Student()
            {
                Id           = "testId",
                FirstName    = "Andrzej",
                LastName     = "Kowalski",
                UserName     = "******",
                PhoneNumber  = "123456789",
                Email        = "*****@*****.**",
                PasswordHash = "abc123",
                AvatarUrl    = "http://i.imgur.com/wlf4fRX.jpg"
            };

            _studentList.Add(student1);
            _userSet = _studentList.AsQueryable();

            var courseOfStudy1 = new CourseOfStudy()
            {
                Id      = 1L,
                Name    = "Informatyka",
                Faculty = faculty1,
                RepresentativeStudent = student1,
                StartYear             = "2015"
            };
            var courseOfStudy2 = new CourseOfStudy()
            {
                Id      = 2L,
                Name    = "Automatyka i Robotyka",
                Faculty = faculty1,
                RepresentativeStudent = student1,
                StartYear             = "2014"
            };

            var groupList1 = new List <Group>();
            var group1     = new Group()
            {
                Id            = 1L,
                Name          = "1a",
                CourseOfStudy = courseOfStudy1,
                Students      = new List <Student>()
                {
                    student1
                }
            };

            groupList1.Add(group1);
            var group2 = new Group()
            {
                Id            = 2L,
                Name          = "1b",
                CourseOfStudy = courseOfStudy1,
                Students      = new List <Student>()
                {
                    student1
                }
            };

            groupList1.Add(group2);
            courseOfStudy1.Groups = groupList1;
            student1.Groups       = groupList1;

            var groupList2 = new List <Group>();
            var group3     = new Group()
            {
                Id            = 3L,
                Name          = "1",
                CourseOfStudy = courseOfStudy2,
                Students      = new List <Student>()
                {
                    student1
                }
            };

            student1.Groups.Add(group3);

            groupList2.Add(group3);
            var group4 = new Group()
            {
                Id            = 4L,
                Name          = "2",
                CourseOfStudy = courseOfStudy2,
                Students      = new List <Student>()
                {
                    student1
                }
            };

            groupList2.Add(group4);
            courseOfStudy2.Groups = groupList2;

            _universitySet = new List <University>()
            {
                university1
            }.AsQueryable();
            _facultySet = new List <Faculty>()
            {
                faculty1
            }.AsQueryable();
            university1.Faculties = _facultySet.ToList();
            _courseOfStudySet     = new List <CourseOfStudy>()
            {
                courseOfStudy1,
                courseOfStudy2
            }.AsQueryable();
            faculty1.CoursesOfStudy = _courseOfStudySet.ToList();
            _groupSet = new List <Group>()
            {
                group1,
                group2,
                group3,
                group4
            }.AsQueryable();
        }
 public CourseOfStudyModel(CourseOfStudy course)
 {
     this.Assign(course);
     new HashSet <CyberModel>();
 }
        public SettingRegRespObj AddCourseOfStudy(RegCourseOfStudyObj regObj)
        {
            var response = new SettingRegRespObj
            {
                Status = new APIResponseStatus
                {
                    IsSuccessful = false,
                    Message      = new APIResponseMessage()
                }
            };

            try
            {
                if (regObj.Equals(null))
                {
                    response.Status.Message.FriendlyMessage  = "Error Occurred! Unable to proceed with your request";
                    response.Status.Message.TechnicalMessage = "Registration Object is empty / invalid";
                    return(response);
                }

                if (!EntityValidatorHelper.Validate(regObj, out var valResults))
                {
                    var errorDetail = new StringBuilder();
                    if (!valResults.IsNullOrEmpty())
                    {
                        errorDetail.AppendLine("Following error occurred:");
                        valResults.ForEachx(m => errorDetail.AppendLine(m.ErrorMessage));
                    }

                    else
                    {
                        errorDetail.AppendLine(
                            "Validation error occurred! Please check all supplied parameters and try again");
                    }
                    response.Status.Message.FriendlyMessage  = errorDetail.ToString();
                    response.Status.Message.TechnicalMessage = errorDetail.ToString();
                    response.Status.IsSuccessful             = false;
                    return(response);
                }

                if (!HelperMethods.IsUserValid(regObj.AdminUserId, regObj.SysPathCode,
                                               HelperMethods.getSeniorAccountant(), ref response.Status.Message))
                {
                    return(response);
                }

                if (IsCourseOfStudyDuplicate(regObj.Name, regObj.DisciplineId, 1, ref response))
                {
                    return(response);
                }

                var courseOfStudy = new CourseOfStudy
                {
                    Name         = regObj.Name,
                    DisciplineId = regObj.DisciplineId,
                    Status       = (ItemStatus)regObj.Status
                };

                var added = _repository.Add(courseOfStudy);

                _uoWork.SaveChanges();

                if (added.CourseOfStudyId < 1)
                {
                    response.Status.Message.FriendlyMessage =
                        "Error Occurred! Unable to complete your request. Please try again later";
                    response.Status.Message.TechnicalMessage = "Unable to save to database";
                    return(response);
                }
                resetCache();
                response.Status.IsSuccessful = true;
                response.SettingId           = added.CourseOfStudyId;
            }
            catch (DbEntityValidationException ex)
            {
                ErrorManager.LogApplicationError(ex.StackTrace, ex.Source, ex.Message);
                response.Status.Message.FriendlyMessage  = "Error Occurred! Please try again later";
                response.Status.Message.TechnicalMessage = "Error: " + ex.GetBaseException().Message;
                response.Status.IsSuccessful             = false;
                return(response);
            }
            catch (Exception ex)
            {
                ErrorManager.LogApplicationError(ex.StackTrace, ex.Source, ex.Message);
                response.Status.Message.FriendlyMessage  = "Error Occurred! Please try again later";
                response.Status.Message.TechnicalMessage = "Error: " + ex.GetBaseException().Message;
                response.Status.IsSuccessful             = false;
                return(response);
            }
            return(response);
        }
 public IHttpActionResult AddCourseOfStudy([FromBody] CourseOfStudy courseOfStudy, long facultyId)
 {
     _courseOfStudyService.AddCourseOfStudy(courseOfStudy, facultyId, GetCurrentUserId());
     return(Content(HttpStatusCode.NoContent, ""));
 }
Example #11
0
        protected override void Seed(StudentExchangeDataContext context)
        {
            var userManager = new UserManager <UserEntity>(new UserStore <UserEntity>(context));
            var studentList = new List <Student>();
            var student1    = new Student()
            {
                FirstName    = "Andrzej",
                LastName     = "Kowalski",
                UserName     = "******",
                PhoneNumber  = "123456789",
                Email        = "*****@*****.**",
                PasswordHash = userManager.PasswordHasher.HashPassword("abc123"),
                AvatarUrl    = "http://i.imgur.com/wlf4fRX.jpg"
            };

            studentList.Add(student1);
            var university1 = new University()
            {
                Name      = "Akademia Gorniczo-Hutnicza",
                ShortName = "AGH",
            };

            context.Universities.Add(university1);
            var faculty1 = new Faculty()
            {
                Name       = "Informatyki, Elektroniki i Telekomunikacji",
                ShortName  = "IEiT",
                University = university1
            };
            var faculty2 = new Faculty()
            {
                Name       = "Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej",
                ShortName  = "EAIiIB",
                University = university1
            };

            context.Faculties.Add(faculty1);
            context.Faculties.Add(faculty2);
            var courseOfStudy1 = new CourseOfStudy()
            {
                Name    = "Informatyka",
                Faculty = faculty1,
                RepresentativeStudent = student1,
                StartYear             = "2015"
            };
            var courseOfStudy2 = new CourseOfStudy()
            {
                Name    = "Automatyka i Robotyka",
                Faculty = faculty2,
                RepresentativeStudent = student1,
                StartYear             = "2014"
            };

            context.CoursesOfStudy.Add(courseOfStudy1);
            context.CoursesOfStudy.Add(courseOfStudy2);
            var groupList1 = new List <Group>();
            var group1     = new Group()
            {
                Name          = "1a",
                CourseOfStudy = courseOfStudy1
            };

            groupList1.Add(group1);
            var group2 = new Group()
            {
                Name          = "1b",
                CourseOfStudy = courseOfStudy1
            };

            groupList1.Add(group2);
            context.Groups.AddRange(groupList1);
            student1.Groups = groupList1;

            var groupList2 = new List <Group>();
            var group3     = new Group()
            {
                Name          = "1",
                CourseOfStudy = courseOfStudy2
            };

            student1.Groups.Add(group3);

            groupList2.Add(group3);
            var group4 = new Group()
            {
                Name          = "2",
                CourseOfStudy = courseOfStudy2
            };

            groupList2.Add(group4);
            context.Groups.AddRange(groupList2);

            var admUniversities = new List <University>()
            {
                university1
            };

            student1.AdministratedUniversities = admUniversities;

            var admFaculties = new List <Faculty>()
            {
                faculty1
            };

            student1.AdministratedFaculties = admFaculties;

            var admCourses = new List <CourseOfStudy>()
            {
                courseOfStudy1
            };

            student1.AdministratedCourses = admCourses;

            var admGroups = new List <Group>()
            {
                group1,
                group2
            };

            student1.AdministratedGroups = admGroups;

            context.Users.Add(student1);

            var announcement1 = new SellItemAnnouncement()
            {
                Sender         = student1,
                Category       = "Podrecznik",
                Title          = "Sprzedam podrecznik",
                Content        = "Sprzedam podrecznik do angielskiego",
                CurrentStatus  = Announcement.Status.Active,
                Price          = new decimal(25.99),
                Receivers      = studentList.Cast <UserEntity>().ToList(),
                IssueDate      = new DateTime(2017, 1, 1),
                ExpirationDate = new DateTime(2020, 1, 1)
            };

            context.Announcements.Add(announcement1);

            var announcement2 = new BuyItemAnnouncement()
            {
                Sender         = student1,
                Category       = "Dlugopis",
                Title          = "Sprzedam długopis",
                Content        = "Sprzedam długopis",
                CurrentStatus  = Announcement.Status.Active,
                Price          = new decimal(10.99),
                Receivers      = studentList.Cast <UserEntity>().ToList(),
                IssueDate      = new DateTime(2017, 2, 2),
                ExpirationDate = new DateTime(2021, 1, 1)
            };

            context.Announcements.Add(announcement2);

            var announcementImage1 = new ItemImage()
            {
                Announcement = announcement1,
                Url          = "http://smartmobilestudio.com/wp-content/uploads/2012/06/leather-book-preview.png"
            };

            context.ItemImages.Add(announcementImage1);
            var announcementImage2 = new ItemImage()
            {
                Announcement = announcement1,
                Url          = "http://www.nekretnine-interijeri.com/wp-content/uploads/2017/02/book.jpg"
            };

            context.ItemImages.Add(announcementImage2);

            base.Seed(context);
        }