示例#1
0
        public ActionResult TarbeaRegistration([Bind(Include = "DurationID,NationalID,StudentName,StudentFacuty,StudentUniversity,LevelName,Section,Address,TelephoneNumber,PhoneNumber")] Tarbea tarbeaRegistration)
        {
            int courseId = SystemHelper.GetCourseObjectId(tarbeaRegistration);
            var course   = db.CP_Course.Find(courseId);

            if (course == null)
            {
                return(HttpNotFound());
            }
            if (ModelState.IsValid)
            {
                var registered = db.CP_Registration.Where(s => s.NationalID == tarbeaRegistration.NationalID).FirstOrDefault();
                if (registered != null)
                {
                    ViewBag.ModelErrors = "الرقم القومى موجود مسبقا";
                    var dur = SystemHelper.GetActiveCourseDuration(course.ID);
                    ViewBag.DurationID = new SelectList(dur, "DurationID", "DurationName", tarbeaRegistration.DurationID);
                    return(View(tarbeaRegistration));
                }
                var duration = db.CP_Duration.Find(tarbeaRegistration.DurationID);
                if (duration.NumberRolled == duration.MaxCapacity - 1)
                {
                    duration.Active = false;
                }
                duration.NumberRolled++;
                duration.SerialFrom++;
                var serial = duration.SerialFrom;
                db.Entry(duration).State = EntityState.Modified;
                CP_Registration registration = new CP_Registration
                {
                    NationalID      = tarbeaRegistration.NationalID,
                    StudentName     = tarbeaRegistration.StudentName,
                    StudentFaculty  = tarbeaRegistration.StudentFacuty,
                    UniversityName  = tarbeaRegistration.StudentUniversity,
                    LevelName       = tarbeaRegistration.LevelName,
                    StudentSection  = tarbeaRegistration.Section,
                    StudentAddress  = tarbeaRegistration.Address,
                    PhoneNumber     = tarbeaRegistration.PhoneNumber,
                    TelephoneNumber = tarbeaRegistration.TelephoneNumber
                };
                CP_RegisteredCourse registeredCourse = new CP_RegisteredCourse
                {
                    CourseID     = course.ID,
                    RegisteredID = registration.ID,
                    DurationID   = tarbeaRegistration.DurationID,
                    SerialNumber = serial
                };
                registration.CP_RegisteredCourse.Add(registeredCourse);
                db.CP_Registration.Add(registration);
                db.SaveChanges();
                return(RedirectToAction("RegisteredStudents", new { id = courseId, durid = tarbeaRegistration.DurationID }));
            }
            var durations = SystemHelper.GetActiveCourseDuration(course.ID);

            ViewBag.DurationID = new SelectList(durations, "DurationID", "DurationName", tarbeaRegistration.DurationID);
            return(View(tarbeaRegistration));
        }
示例#2
0
        public ActionResult TarbeaRegistration([Bind(Include = "DurationID,NationalID,StudentName,StudentFacuty,StudentUniversity,LevelName,Section,Address,TelephoneNumber,PhoneNumber")] Tarbea tarbeaRegistration)
        {
            int courseId = SystemHelper.GetCourseObjectId(tarbeaRegistration);
            var course   = db.CP_Course.Find(courseId);

            if (course == null)
            {
                return(HttpNotFound());
            }
            if (ModelState.IsValid)
            {
                var studentRegistration = (int)Session["UserId"];
                var student             = db.CP_Registration.Find(studentRegistration);
                if (student != null)
                {
                    var duration = db.CP_Duration.Find(tarbeaRegistration.DurationID);
                    if (duration.NumberRolled == duration.MaxCapacity - 1)
                    {
                        duration.Active = false;
                    }
                    duration.NumberRolled++;
                    duration.SerialFrom++;
                    var serial = duration.SerialFrom;
                    db.Entry(duration).State = EntityState.Modified;
                    student.StudentSection   = tarbeaRegistration.Section;
                    student.StudentAddress   = tarbeaRegistration.Address;
                    student.TelephoneNumber  = tarbeaRegistration.TelephoneNumber;
                    student.UniversityName   = tarbeaRegistration.StudentUniversity;
                    CP_RegisteredCourse registeredCourse = new CP_RegisteredCourse
                    {
                        CourseID     = course.ID,
                        RegisteredID = student.ID,
                        DurationID   = tarbeaRegistration.DurationID,
                        SerialNumber = serial
                    };
                    student.CP_RegisteredCourse.Add(registeredCourse);
                    db.Entry(student).State = EntityState.Modified;
                    db.SaveChanges();
                    return(RedirectToAction("CourseDetails", new { id = course.ID }));
                }
                return(HttpNotFound());
            }
            var durations = SystemHelper.GetActiveCourseDuration(course.ID);

            ViewBag.DurationID = new SelectList(durations, "ID", "Name", tarbeaRegistration.DurationID);
            return(View(tarbeaRegistration));
        }