public EmployerRegistrationViewModel() { Employer = new Model.Model.Employer(); Employer.Person = new Person(); Employer.Person.Lga = new Lga(); Employer.Person.State = new State(); Employer.Person.Country = new Country(); Employer.Person.Type = new PersonType(); Employer.LoginDetail = new LoginDetail(); Employer.LoginDetail.SecurityQuestion = new SecurityQuestion(); Employer.LoginDetail.Role = new Role(); Employer.Sex = new Sex(); Periods = new List <Period>(); WeekDays = new List <WeekDay>(); StudentCategories = new List <StudentCategory>(); InitialiseEmployerStudentCategory(); }
public ActionResult FormPreview(EmployerRegistrationViewModel vm) { JsonResult json = null; EmployerRegistrationViewModel viewModel = (EmployerRegistrationViewModel)TempData["EmployerRegistrationViewModel"]; try { //var form = Request.Form; Model.Model.Employer employer = new Model.Model.Employer(); employer.Person = viewModel.Employer.Person; employer.Person.Type = viewModel.Employer.Person.Type; employer.Website = viewModel.Employer.Website; employer.Name = viewModel.Employer.Name; if (viewModel.Employer != null && viewModel.Employer.Sex != null && viewModel.Employer.Sex.Id > 0) { employer.Sex = viewModel.Employer.Sex; } List <EmployerStudentCategory> employerStudentCategories = vm.SelectedEmployerStudentCategories; if (employerStudentCategories != null && employerStudentCategories.Count > 0) { foreach (EmployerStudentCategory employerStudentCategory in employerStudentCategories) { if (employerStudentCategory.DesiredTimes == null || employerStudentCategory.DesiredTimes.Count <= 0) { throw new Exception("Desired Times not set! Please cantact your system administrator"); } List <EmployerDesiredTime> employerDesiredTimes = employerStudentCategory.DesiredTimes.Where(x => x.IsAvailable == true).ToList(); employerStudentCategory.DesiredTimes = employerDesiredTimes; } } employer.StudentCategories = employerStudentCategories; IRegistration registrationService = null; if (viewModel.PersonAlreadyExist) { registrationService = _registrationFactory.Create(Subscription.EditEmployer); } else { employer.Person.IsBlacklisted = false; employer.Person.DateEntered = DateTime.Now; employer.Person.Country = new Country() { Id = 1 }; //temp employer.LoginDetail = viewModel.Employer.LoginDetail; employer.LoginDetail.Person = viewModel.Employer.Person; employer.LoginDetail.Role = new Role() { Id = 1 }; employer.LoginDetail.IsFirstLogon = false; employer.LoginDetail.IsActivated = true; employer.LoginDetail.IsLocked = false; Payment payment = new Payment(); payment.Mode = new PaymentMode() { Id = 1 }; payment.DateEntered = DateTime.Now; payment.Person = employer.Person; payment.Paid = false; List <Payment> payments = new List <Payment>(); payments.Add(payment); employer.Payments = payments; registrationService = _registrationFactory.Create(Subscription.SubmitEmployer); } Model.Model.Employer newEmployer = registrationService.Save(employer); if (newEmployer != null && newEmployer.Person != null && newEmployer.Person.Id > 0) { viewModel.Employer.Person.Id = newEmployer.Person.Id; viewModel.Employer.PaymentSlip = newEmployer.PaymentSlip; SaveUiState(viewModel); TempData["PaymentSlip"] = viewModel.Employer.PaymentSlip; json = Json(new { isDone = true, message = "Registration has been saved successfully" }, "text/html", JsonRequestBehavior.AllowGet); } else { json = Json(new { isDone = false, message = "Registration save operation failed! Please try again" }, "text/html", JsonRequestBehavior.AllowGet); } } catch (Exception ex) { _logger.LogError(ex); json = Json(new { isDone = false, message = ex.Message }, "text/html", JsonRequestBehavior.AllowGet); } SaveUiState(viewModel); return(json); }
public ActionResult Form(long?eid, int?ptid) { EmployerRegistrationViewModel viewModel = null; if (!eid.HasValue) { viewModel = (EmployerRegistrationViewModel)TempData["EmployerRegistrationViewModel"]; } try { PopulateAllDropDowns(viewModel); if (viewModel != null) { _viewModel = viewModel; } //_viewModel.Employer.Person.Type = (PersonType)TempData["PersonType"]; PersonType personType = (PersonType)TempData["PersonType"]; if (personType != null && personType.Id > 0) { _viewModel.Employer.Person.Type = personType; } //ptid = 3; //eid = 89; //_viewModel.Employer.Person.Type.Id = ptid.GetValueOrDefault(); Model.Model.Employer employer = _da.GetModelBy <Model.Model.Employer, EMPLOYER>(x => x.Person_Id == eid.GetValueOrDefault()); if ((employer != null && employer.Person.Id > 0) && _viewModel.PersonAlreadyExist == false) { _viewModel.Employer = employer; _viewModel.PersonAlreadyExist = true; LoginDetail loginDetail = _da.GetModelBy <LoginDetail, PERSON_LOGIN>(x => x.Person_Id == _viewModel.Employer.Person.Id); List <EmployerStudentCategory> employerStudentCategories = _da.GetModelsBy <EmployerStudentCategory, EMPLOYER_STUDENT_CATEGORY>(x => x.Person_Id == _viewModel.Employer.Person.Id).ToList(); if (loginDetail != null) { _viewModel.Employer.LoginDetail = loginDetail; } else { _viewModel.Employer.LoginDetail = new LoginDetail(); _viewModel.Employer.LoginDetail.SecurityQuestion = new SecurityQuestion(); _viewModel.Employer.LoginDetail.Role = new Role(); } List <int> ids = null; if (employerStudentCategories != null && employerStudentCategories.Count > 0) { foreach (EmployerStudentCategory employerStudentCategory in employerStudentCategories) { List <EmployerDesiredTime> employerDesiredTimes = _da.GetModelsBy <EmployerDesiredTime, EMPLOYER_DESIRED_TIME>(x => x.Employer_Student_Category_Id == employerStudentCategory.Id); EmployerStudentCategory defaultEmployerStudentCategory = _viewModel.EmployerStudentCategories.Where(x => x.StudentCategory.Id == employerStudentCategory.StudentCategory.Id).SingleOrDefault(); if (defaultEmployerStudentCategory != null) { employerStudentCategory.DesiredTimes = defaultEmployerStudentCategory.DesiredTimes; if (employerStudentCategory.DesiredTimes != null && employerStudentCategory.DesiredTimes.Count > 0) { foreach (EmployerDesiredTime employerDesiredTime in employerStudentCategory.DesiredTimes) { EmployerDesiredTime desiredTime = employerDesiredTimes.Where(x => x.WeekDay.Id == employerDesiredTime.WeekDay.Id && x.Period.Id == employerDesiredTime.Period.Id).SingleOrDefault(); if (desiredTime != null) { employerDesiredTime.IsAvailable = true; } } } } } _viewModel.LoadedEmployerStudentCategories = employerStudentCategories; _viewModel.SelectedEmployerStudentCategories = employerStudentCategories; ids = employerStudentCategories.Select(x => x.StudentCategory.Id).ToList(); } SetStudentCategory(ids, _viewModel); SetEmployerStudentCategory(ids, _viewModel); SetSelectedEmployerStudentCategory(_viewModel); SetLgaIfExist(_viewModel.Employer.Person.State, _viewModel.Employer.Person.Lga); } } catch (Exception ex) { _logger.LogError(ex); SetMessage(ex.Message, ApplicationMessage.Category.Error); } SaveUiState(_viewModel); TempData["PersonType"] = _viewModel.Employer.Person.Type; return(View(_viewModel)); }