public ActionResult Create(Student student)
 {
     if (ModelState.IsValid)
     {
         student.RegistrationId = GenerateStudentRegistrationId(student);
         ViewBag.registrationId = student.RegistrationId;
         db.Students.Add(student);
         db.SaveChanges();
         ModelState.Clear();
         ViewBag.DepartmentId = new SelectList(db.Departments, "Id", "Code", student.DepartmentId);
         return View();
     }
     ViewBag.DepartmentId = new SelectList(db.Departments, "Id", "Code", student.DepartmentId);
     return View(student);
 }
 public ActionResult Edit(Student student)
 {
     if (ModelState.IsValid)
     {
         db.Entry(student).State = EntityState.Modified;
         db.SaveChanges();
         return RedirectToAction("Index");
     }
     ViewBag.DepartmentId = new SelectList(db.Departments, "Id", "Code", student.DepartmentId);
     return View(student);
 }
        private string GenerateStudentRegistrationId(Student student)
        {
            string registrationId = GetDepartmentCode(student.DepartmentId) + "-" + student.Date.Year + "-";
            var result = db.Students.Where(s => (s.DepartmentId == student.DepartmentId && s.Date.Year == student.Date.Year)).ToList();

            if (!result.Any())
            {
                registrationId += "001";
            }
            else
            {
                string studentRegistrationId = (result.Last().RegistrationId);
                studentRegistrationId = (Convert.ToInt32(studentRegistrationId.Substring(studentRegistrationId.Length - 3)) + 1).ToString();

                int len = 3 - studentRegistrationId.Length;
                for (var i = 0; i <len; i++)
                {
                    studentRegistrationId = "0" + studentRegistrationId;
                }
                registrationId += studentRegistrationId;
            }
            return registrationId;
        }
        private string RegNo(Student student)
        {
            int id = db.Students.Count(s => (s.DepartmentId == student.DepartmentId)
                    && (s.Date.Year == student.Date.Year)) + 1;
            Department aDepartment = db.Departments.Where(d => d.DepartmentId == student.DepartmentId).FirstOrDefault();
            string registrationId = aDepartment.Code + "-" + student.Date.Year + "-";

            string addZero = "";
            int len = 3 - id.ToString().Length;
            for (int i = 0; i < len; i++)
            {
                addZero = "0" + addZero;
            }

            return registrationId + addZero + id;
        }