public async Task <ActionResult> Register([Bind(Include = "StudentCode,StudentEmail,StudentName,StudentFaculty,NationalID,Password,ConfirmPassword,LevelName,PhoneNumber")] Register register)
        {
            if (ModelState.IsValid)
            {
                if (register.StudentName == null || register.StudentFaculty == null)
                {
                    ViewBag.ModelErrors = "كود الطالب غير صحيح";
                    ViewBag.LevelName   = new SelectList(levels, "LevelName", "LevelName", register.LevelName);
                    return(View(register));
                }
                CP_Registration registration = new CP_Registration();
                var             pass         = HashHelper.Encrypt(register.Password);
                var             registered   = db.CP_Registration.Where(s => s.StudentCode == register.StudentCode || s.StudentEmail == register.StudentEmail || s.Password == pass || s.NationalID == register.NationalID).FirstOrDefault();
                if (registered != null)
                {
                    if (registered.StudentCode == register.StudentCode)
                    {
                        ViewBag.ModelErrors = "كود الطالب مسجل مسبقا";
                    }
                    else if (registered.Password == pass)
                    {
                        ViewBag.ModelErrors = "كلمة المرور مسجل مسبقا";
                    }
                    else if (registered.StudentEmail == register.StudentEmail)
                    {
                        ViewBag.ModelErrors = "الايميل مسجل مسبقا";
                    }
                    else if (registered.NationalID == register.NationalID)
                    {
                        ViewBag.ModelErrors = "الرقم القومى مسجل مسبقا";
                    }
                    else
                    {
                        ViewBag.ModelErrors = "حدث خطا ما اثناء معالجة طلبك";
                    }
                    ViewBag.LevelName = new SelectList(levels, "LevelName", "LevelName", register.LevelName);
                    return(View(register));
                }
                var hashedpassword = HashHelper.Encrypt(register.Password);
                registration.StudentCode    = register.StudentCode;
                registration.StudentEmail   = register.StudentEmail;
                registration.StudentName    = register.StudentName;
                registration.StudentFaculty = register.StudentFaculty;
                registration.NationalID     = register.NationalID;
                registration.Password       = hashedpassword;
                registration.LevelName      = register.LevelName;
                registration.PhoneNumber    = register.PhoneNumber;
                db.CP_Registration.Add(registration);
                db.SaveChanges();
                var activationcode = HashHelper.Encrypt(register.StudentCode);
                await MailHelper.SendActivationMail(register.StudentEmail, Request.Url.Scheme, Request.Url.Host, Request.Url.Port.ToString(), activationcode);

                ViewBag.Message = "تم ارسال رابط التفعيل على البريد الالكترونى";
                return(View("Message"));
            }
            ViewBag.LevelName = new SelectList(levels, "LevelName", "LevelName", register.LevelName);
            return(View(register));
        }
Exemplo n.º 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 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));
        }
Exemplo n.º 3
0
        public ActionResult ResultRegistration(int?id, int?rid, int?result)
        {
            if (id == null || rid == null || result == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            var registeredCourse = db.CP_RegisteredCourse.Where(r => r.RegisteredID == rid && r.CourseID == id).FirstOrDefault();

            if (registeredCourse == null)
            {
                return(HttpNotFound());
            }
            registeredCourse.ResultID = result;
            CP_Registration registration = db.CP_Registration.Find(rid);

            registration.CP_RegisteredCourse.Add(registeredCourse);
            db.Entry(registration).State = EntityState.Modified;
            db.SaveChanges();
            return(new HttpStatusCodeResult(HttpStatusCode.OK));
        }