예제 #1
0
 public ActionResult Create()
 {
     var model = new StudentModel
     {
         GendersList = _iAutogearRepo.GenderListItems(),
         StatesList = _iStudentRepo.GetStateList(),
         LearningPackages = _iStudentRepo.GetPackages(),
         DrivingPackages = _iStudentRepo.GetPackages(),
         InstructorList = new SelectList(_instructorRepo.GetInstructorNames(), "Value", "Text"),
         Status = true
     };
     return View(model);
 }
예제 #2
0
 public ActionResult Create(StudentModel model)
 {
     var currentUser = Request.GetOwinContext().Authentication.User.Identity.GetUserId();
     var packages = _iStudentRepo.GetPackages();
     if (ModelState.IsValid)
     {
         string[] addressInfo = model.SuburbName.Split(',');
         var suburb = _iPostalRepo.GetSuburb(addressInfo[0]);
         model.PostalCode = addressInfo[2];
         if (suburb != null)
         {
             model.SuburbId = suburb.SuburbId;
         }
         _iStudentRepo.SaveStudent(model,currentUser);
         return RedirectToAction("Index");
         //AddErrors(result);
     }
     model.GendersList = _iAutogearRepo.GenderListItems();
     model.StatesList = _iStudentRepo.GetStateList();
     model.LearningPackages = packages;
     model.DrivingPackages = packages;
     model.InstructorList = new SelectList(_instructorRepo.GetInstructorNames(), "Value", "Text");
     return View(model);
 }
예제 #3
0
        public void SaveExistingStudent(string currentUser, StudentModel studentModel)
        {
            var studentDetails = DataContext.Students.FirstOrDefault(s => s.StudentNumber == studentModel.StudentNumber) ??
                                 new Student();
            var addressDetails = DataContext.Addresses.FirstOrDefault(s => s.AddressId == studentDetails.AddressId) ?? new Address();
            addressDetails.Address1 = studentModel.Address1;
            addressDetails.AddressLine2 = studentModel.Address2;
            addressDetails.Mobile = studentModel.Mobile;
            addressDetails.PostCode = Convert.ToInt32(studentModel.PostalCode);
            addressDetails.ModifiedDate = DateTime.Now;
            addressDetails.ModifiedBy = currentUser;
            if (Regex.IsMatch(studentModel.PostalCode, @"\d"))
            {
                addressDetails.PostCode = Convert.ToInt32(studentModel.PostalCode);
                // studentAddress.
            }
            if (studentModel.SuburbId != 0)
                addressDetails.SuburbID = studentModel.SuburbId;

            if (addressDetails.AddressId == 0)
            {
                addressDetails.CreatedBy = currentUser;
                addressDetails.CreatedDate = DateTime.Now;
                DataContext.Addresses.Add(addressDetails);
            }
            DataContext.SaveChanges();

            
            studentDetails.FirstName = studentModel.FirstName;
            studentDetails.LastName = studentModel.LastName;
            studentDetails.Email = studentModel.Email;
            studentDetails.StartDate = studentModel.StartDate;
            studentDetails.Status = studentModel.Status;
            studentDetails.Gender = studentModel.Gender;
            studentDetails.AddressId = addressDetails.AddressId;
            studentDetails.PickupLocation = studentModel.PickupLocation;
            if (studentDetails.Id == 0)
            {
                DataContext.Students.Add(studentDetails);
            }
            DataContext.SaveChanges();

            var studentLicenseDetails =
                DataContext.Student_License.FirstOrDefault(s => s.StudentId == studentDetails.Id) ??
                new Student_License();
            studentLicenseDetails.LicenseNo = studentModel.LicenseNumber;
            studentLicenseDetails.License_passed_Date = studentModel.LicensePassedDate;
            studentLicenseDetails.Class = studentModel.ClassName;
            if (studentModel.ExpiryDate != null) studentLicenseDetails.ExpiryDate = (DateTime) studentModel.ExpiryDate;
            studentLicenseDetails.Remarks = studentModel.Remarks;
            if (studentModel.IsInternationalLicensed)
            {
                studentLicenseDetails.IsInternationalLicensed = studentModel.IsInternationalLicensed;
                studentLicenseDetails.Country = studentModel.Country;
                studentLicenseDetails.StateId = null;
            }
            else
            {
                studentLicenseDetails.IsInternationalLicensed = studentModel.IsInternationalLicensed;
                studentLicenseDetails.Country = null;
                studentLicenseDetails.StateId = studentModel.StateId;
            }
            if (studentLicenseDetails.StudentId == 0)
            {
                DataContext.Student_License.Add(studentLicenseDetails);
            }
            DataContext.SaveChanges();

            var instructor = DataContext.Instructors.SingleOrDefault(s => s.InstructorNumber == studentModel.InstructorNumber);
            var instructorDetails = DataContext.Instructor_Student.FirstOrDefault(s => s.StudentId == studentModel.StudentId);
            if (instructorDetails != null)
            {
                if (instructor != null)
                {
                    instructorDetails.InstructorId = instructor.InstructorId;
                    instructorDetails.Remarks = studentModel.InstructorRemarks;
                }
                instructorDetails.ModifiedBy = currentUser;
                instructorDetails.ModifiedDate = DateTime.Now;
                DataContext.SaveChanges();
            }

        }
예제 #4
0
        public void SaveStudent(StudentModel studentModel,string currentUser)
        {
            if (currentUser != null)
            {
                //Student Addresses
                var studentAddress = new Address
                {
                    Address1 = studentModel.Address1,
                    AddressLine2 = studentModel.Address2,
                    CreatedBy = currentUser,
                    CreatedDate = DateTime.Now,
                    Mobile = studentModel.Mobile,
                    
                };
                if (Regex.IsMatch(studentModel.PostalCode, @"\d"))
                {
                    studentAddress.PostCode = Convert.ToInt32(studentModel.PostalCode);
                    // studentAddress.
                }
                if (studentModel.SuburbId != 0)
                    studentAddress.SuburbID = studentModel.SuburbId;
                DataContext.Addresses.Add(studentAddress);
                DataContext.SaveChanges();
                // Student Creation
                // last student
                var lastStudent = TblStudents.ToList().OrderByDescending(o => o.StudentId).FirstOrDefault();
                var studentNumber = "0001";
                if (lastStudent != null)
                {
                    var year = Convert.ToInt32(lastStudent.StudentNumber.Substring(3, 4));
                    var number = Convert.ToInt32(lastStudent.StudentNumber.Substring(7, 4));
                    if (DateTime.Now.Year == year)
                        studentNumber = (number + 1).ToString("0000");
                }
                var student = new Student
                {
                    FirstName = studentModel.FirstName,
                    Email = studentModel.Email,
                    LastName = studentModel.LastName,
                    Gender = studentModel.Gender,
                    Status = studentModel.Status,
                    CreatedBy = currentUser,
                    CreatedDate = DateTime.Now,
                    StartDate = studentModel.StartDate,
                    AddressId = studentAddress.AddressId,
                    StudentNumber = "SID" + DateTime.Now.Year.ToString() + studentNumber,
                    PickupLocation = studentModel.PickupLocation
                };
                DataContext.Students.Add(student);
                DataContext.SaveChanges();
                
                //License Information
                var studentLicense = new Student_License
                {
                    StudentId = student.Id,
                    ExpiryDate = Convert.ToDateTime(studentModel.ExpiryDate),
                    StateId = studentModel.StateId,
                    Class = studentModel.ClassName,
                    LicenseNo = studentModel.LicenseNumber,
                    License_passed_Date =studentModel.LicensePassedDate,
                    Remarks = studentModel.Remarks,
                    //International License details
                    IsInternationalLicensed = studentModel.IsInternationalLicensed,
                    Country = studentModel.Country
                };
                DataContext.Student_License.Add(studentLicense);
                DataContext.SaveChanges();

                if (!string.IsNullOrEmpty(studentModel.InstructorNumber))
                {
                    var instructor =
                        DataContext.Instructors.SingleOrDefault(
                            s => (s.InstructorNumber) == studentModel.InstructorNumber);
                    // Booking Information
                    if (instructor != null)
                    {

                        //Save instructor student
                        var instructorStudent = new Instructor_Student
                        {
                            InstructorId = instructor.InstructorId,
                            StudentId = student.Id,
                            CreatedBy = currentUser,
                            CreatedDate = DateTime.Now,
                          Remarks = studentModel.Remarks,
                          
                        };
                        DataContext.Instructor_Student.Add(instructorStudent);
                        DataContext.SaveChanges();
                        if (studentModel.BookingStartDate != null)
                        {
                            var studentBooking = new Booking
                            {
                                StudentId = student.Id,
                                PackageId = studentModel.PackageId,
                                CreatedDate = DateTime.Now,
                                BookingDate = DateTime.Now,
                                StartDate = studentModel.BookingStartDate,
                                EndDate = studentModel.BookingEndDate,
                                InstructorId = instructor.InstructorId,
                                StartTime = studentModel.StartTime,
                                EndTime = studentModel.StopTime,
                                Discount = studentModel.PackageDisacount,
                                PickupLocation = studentModel.PickupLocation,
                                DropLocation = studentModel.DropLocation,
                                CreatedBy = currentUser,
                                Type = "Learning"
                            };
                            DataContext.Bookings.Add(studentBooking);
                            DataContext.SaveChanges();
                        }
                        if (studentModel.DrivingTestPackageId != null)
                        {
                            // Driving Test Information
                            var studentDrivingBooking = new Booking
                            {
                                StudentId = student.Id,
                                PackageId = studentModel.DrivingTestPackageId,
                                CreatedDate = DateTime.Now,
                                BookingDate = studentModel.DrivingTestDate,
                                InstructorId = instructor.InstructorId,
                                StartTime = studentModel.DrivingTestStartTime,
                                EndTime = studentModel.DrivingTestStopTime,
                                Discount = studentModel.DrivingTestPackageDisacount,
                                PickupLocation = studentModel.DrivingTestPickupLocation,
                                DropLocation = studentModel.DrivingTestDropLocation,
                                CreatedBy = currentUser,
                                Type = "Driving"
                            };
                            DataContext.Bookings.Add(studentDrivingBooking);
                            DataContext.SaveChanges();
                        }
                    }
                   
                }
            }
        }
예제 #5
0
        public StudentModel GetStudentById(int studentId)
        {
            var student = TblStudents.FirstOrDefault(s => s.StudentId == studentId);
            var packages = GetPackages();
            var studentModel = new StudentModel
            {
                StatesList = GetStateList(),
                LearningPackages = packages,
                DrivingPackages = packages
            };
            if (student != null)
            {
                // student Info 
                studentModel.StudentId = student.StudentId;
                studentModel.FirstName = student.FirstName;
                studentModel.LastName = student.LastName;
                studentModel.Email = student.Email;
                studentModel.Gender = student.Gender;
                studentModel.StartDate = student.StartDate;
                studentModel.Status = student.Status;
                studentModel.StudentNumber = student.StudentNumber;

                //Student Address
                var studentAddress = TblStudentAddresses.FirstOrDefault(s => s.AddressId == student.AddressId);
                if (studentAddress != null)
                {
                    studentModel.Address1 = studentAddress.Address1;
                    studentModel.Address2 = studentAddress.Address2;
                    studentModel.Mobile = studentAddress.Mobile;
                    studentModel.PostalCode = studentAddress.PostalCode.ToString();
                    var subUrb = DataContext.Suburbs.SingleOrDefault(s => s.SuburbId == studentAddress.SuburbId);
                    if (subUrb != null)
                    {
                        studentModel.SuburbName = subUrb.Suburb_Name;
                        studentModel.SuburbId = subUrb.SuburbId;
                    }
                }

                //Student License
                var studentLicense = TblStudentLicenses.FirstOrDefault(s => s.StudentId == student.StudentId);
                if (studentLicense != null)
                {
                    studentModel.LicenseNumber = studentLicense.LicenseNumber;
                    studentModel.LicensePassedDate = studentLicense.LicensePassedDate;
                    studentModel.ExpiryDate = studentLicense.ExpiryDate;
                    studentModel.ClassName = studentLicense.ClassName;
                    studentModel.Remarks = studentLicense.Remarks;
                    studentModel.IsInternationalLicensed = studentLicense.IsInternationalLicensed;
                    studentModel.Country = studentLicense.Country;
                    var instructor = DataContext.Instructor_Student.SingleOrDefault(s => s.StudentId == student.StudentId);
                    if (instructor != null)
                    {
                        studentModel.InstructorRemarks = instructor.Remarks;
                        var instructorDetails = DataContext.Instructors.SingleOrDefault(s => s.InstructorId == instructor.InstructorId);
                        if (instructorDetails != null)
                        {
                            studentModel.InstructorNumber = instructorDetails.InstructorNumber;
                        }
                    }
                }

                var studentBookings = TblStudentBookings.Where(s => s.StudentId == student.StudentId && s.Type == "Learning").ToList();
                if (studentBookings.Count > 0)
                {
                    var firstBooking = studentBookings[0];
                    var lastBooking = studentBookings[studentBookings.Count - 1];
                    studentModel.BookingStartDate = firstBooking.StartDate;
                    studentModel.BookingEndDate = lastBooking.EndDate;
                    studentModel.PickupLocation = firstBooking.PickupLocation;
                    studentModel.StartTime = firstBooking.StartTime;
                    studentModel.StopTime = firstBooking.StopTime;
                    studentModel.DropLocation = firstBooking.DropLocation;
                    studentModel.PackageDisacount = firstBooking.Discount;
                    var package = packages.SingleOrDefault(s => s.Value == firstBooking.PackageId.ToString());
                    if (package != null)
                    {
                        if (!string.IsNullOrEmpty(package.Value))
                            studentModel.PackageId = Convert.ToInt32(package.Value);
                        studentModel.PackageDetails = package.Text;
                    }

                }

                var studentDrivingTestBooking = TblStudentBookings.FirstOrDefault(s => s.StudentId == student.StudentId && s.Type == "Driving");
                if (studentDrivingTestBooking != null)
                {
                    studentModel.DrivingTestDate = studentDrivingTestBooking.BookingDate;
                    studentModel.DrivingTestPickupLocation = studentDrivingTestBooking.PickupLocation;
                    studentModel.DrivingTestStartTime = studentDrivingTestBooking.StartTime;
                    studentModel.DrivingTestStopTime = studentDrivingTestBooking.StopTime;
                    studentModel.DrivingTestDropLocation = studentDrivingTestBooking.DropLocation;
                    studentModel.DrivingTestPackageDisacount = studentDrivingTestBooking.Discount;
                    var package = packages.SingleOrDefault(s => s.Value == studentDrivingTestBooking.PackageId.ToString());
                    if (package != null)
                    {
                        if (!string.IsNullOrEmpty(package.Value))
                            studentModel.DrivingTestPackageId = Convert.ToInt32(package.Value);
                        studentModel.DrivingTestPackageDetails = package.Text;
                    }
                }

            }
            return studentModel;
        }