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();
        }
Example #2
0
        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);
        }
Example #3
0
        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));
        }