Ejemplo n.º 1
0
        public async Task <IActionResult> Apply(long id)
        {
            //Get current user details
            var user = await _lookUpService.GetCurrentLoggedInUser(User.Identity.Name);

            //Get currect leaner details
            var learner = await _lookUpService.GetLearnerDetailsByIdEmail(user.Email);

            if (ModelState.IsValid)
            {
                //Prepare and application
                var jobApplications = new JobApplications
                {
                    ApplicationStatus = Const.PENDINNG_STATUS,
                    DateApplied       = DateTime.Now,
                    LearnerId         = learner.LearnerId,
                    JobId             = id,
                };

                var lnr = _context.Learner.FirstOrDefault(l => l.LearnerId == learner.LearnerId);
                lnr.AppliedYn = Const.TRUE;

                await SendAcknowledgementMail(learner);

                _context.Update(lnr);
                _context.Add(jobApplications);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(RedirectToAction("Details", "Person", new { id = learner.NationalID }));
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> Create([Bind("JobId,JobCode,JobTitle,JobDesc,JobTypeId,OfoId,JobSectorId,SectorId,ProvinceId,ListedDate,ExpiryDate,JobPhoto,JobPhotoPath,JobPhotoName")] Job job)
        {
            if (ModelState.IsValid)
            {
                var jobPhotoPath = "/Images/" + System.Guid.NewGuid().ToString().Substring(0, 10) + "/";

                if (!Directory.Exists(_env.WebRootPath + jobPhotoPath))
                {
                    Directory.CreateDirectory(_env.WebRootPath + jobPhotoPath);
                }

                SingleFile(_env.WebRootPath + jobPhotoPath, job.JobPhoto);

                job.JobPhotoName = job.JobPhoto.FileName;
                job.JobPhotoPath = jobPhotoPath;

                Console.WriteLine(" FILE NAME : " + job.JobPhoto.FileName);

                _context.Add(job);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["JobTypeId"]   = new SelectList(_context.JobType, "JobTypeId", "JobTypeDesc", job.JobTypeId);
            ViewData["JobSectorId"] = new SelectList(_context.JobSector, "JobSectorId", "JobSectorDesc", job.JobSectorId);
            ViewData["SectorId"]    = new SelectList(_context.Sector, "SectorId", "SectorDesc", job.SectorId);
            ViewData["OfoId"]       = new SelectList(_context.Ofo, "OfoId", "OfoTitle", job.JobSectorId);
            ViewData["ProvinceId"]  = new SelectList(_context.Province, "ProvinceId", "ProvinceName", job.ProvinceId);
            return(PartialView(job));
        }
Ejemplo n.º 3
0
        public async Task <IActionResult> Create([Bind("LearnerCourseId,LearnerId,InstitutionName,CourseName,DateOfCompletion,CreatedBy,DateCreated,LastUpdatedBy,DateUpdated")] LearnerCourse learnerCourse)
        {
            //Get current user details
            var user = await _lookUpService.GetCurrentLoggedInUser(User.Identity.Name);

            //Get current leaner details
            var learner = await _lookUpService.GetLearnerDetailsByIdEmail(user.Email);

            if (ModelState.IsValid)
            {
                //assign Leaner Id to link these qualifications to leaner
                learnerCourse.LearnerId = learner.LearnerId;

                //create an audit trail
                learnerCourse.CreatedBy   = user.UserName;
                learnerCourse.DateCreated = DateTime.Now;

                learnerCourse.LastUpdatedBy = user.UserName;
                learnerCourse.DateUpdated   = DateTime.Now;

                _context.Add(learnerCourse);
                await _context.SaveChangesAsync();

                return(RedirectToAction("Details", "Person", new { id = learner.NationalID }));
            }

            return(RedirectToAction("Details", "Person", new { id = learner.NationalID }));
        }
Ejemplo n.º 4
0
        public async Task <IActionResult> Create([Bind("CountryId,CountryName,CountryCode,CreatedBy,DateCreated,LastUpdatedBy,DateUpdated")] Country country)
        {
            if (ModelState.IsValid)
            {
                _context.Add(country);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(PartialView(country));
        }
Ejemplo n.º 5
0
        public async Task <IActionResult> Create([Bind("SectorId,SectorDesc,ActiveYn")] Sector sector)
        {
            if (!ModelState.IsValid)
            {
                return(PartialView(sector));
            }
            _context.Add(sector);
            await _context.SaveChangesAsync();

            return(RedirectToAction(nameof(Index)));
        }
Ejemplo n.º 6
0
        public async Task <IActionResult> Create([Bind("InstitutionTypeId,InstitutionTypeDesc,InstitutionTypeCode")] InstitutionType institutionType)
        {
            if (ModelState.IsValid)
            {
                _context.Add(institutionType);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(PartialView(institutionType));
        }
Ejemplo n.º 7
0
        public async Task <IActionResult> Create([Bind("CourseId,CourseCode,CourseTitle,CourseDesc,CreatedBy,DateCreated,LastUpdatedBy,DateUpdated")] Course course)
        {
            if (ModelState.IsValid)
            {
                _context.Add(course);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(course));
        }
Ejemplo n.º 8
0
        public async Task <IActionResult> Create([Bind("SchoolId,SchoolName,SchoolCode,EmisNo")] School school)
        {
            if (ModelState.IsValid)
            {
                _context.Add(school);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(PartialView(school));
        }
Ejemplo n.º 9
0
        public async Task <IActionResult> Create([Bind("DashboardId,Name,Status,Type,Department")] Dashboard dashboard)
        {
            if (ModelState.IsValid)
            {
                _context.Add(dashboard);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(dashboard));
        }
Ejemplo n.º 10
0
        public async Task <IActionResult> Create([Bind("FinancialyearId,StartDate,EndDate,ActiveForWsp,FinancialyearDesc,LockedForWspSubmission,ActiveYn")] Financialyear financialyear)
        {
            if (ModelState.IsValid)
            {
                _context.Add(financialyear);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(PartialView(financialyear));
        }
Ejemplo n.º 11
0
        public async Task <IActionResult> Create([Bind("OfoMinorId,OfoMinorCode,OfoMinorTitle,OfoSubMajorId,FinancialYearId")] OfoMinor ofoMinor)
        {
            if (ModelState.IsValid)
            {
                _context.Add(ofoMinor);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["FinancialYearId"] = new SelectList(_context.Financialyear, "FinancialyearId", "FinancialyearDesc", ofoMinor.FinancialYearId);
            return(PartialView(ofoMinor));
        }
Ejemplo n.º 12
0
        public async Task <IActionResult> Create([Bind("ProvinceId,ProvinceName,ProvinceCode,CountryId,CreatedBy,DateCreated,LastUpdatedBy,DateUpdated")] Province province)
        {
            if (ModelState.IsValid)
            {
                _context.Add(province);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["CountryId"] = new SelectList(_context.Country, "CountryId", "CountryName", province.CountryId);
            return(PartialView(province));
        }
Ejemplo n.º 13
0
        public async Task <IActionResult> Create([Bind("SuburbId,SuburbName,SuburbCode,CityId,CreatedBy,DateCreated,LastUpdatedBy,DateUpdated")] Suburb suburb)
        {
            if (ModelState.IsValid)
            {
                _context.Add(suburb);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["CityId"] = new SelectList(_context.City, "CityId", "CityName", suburb.CityId);
            return(PartialView(suburb));
        }
Ejemplo n.º 14
0
        public async Task <IActionResult> Create([Bind("InstitutionId,InstitutionName,InstitutionCode,InstitutionTypeId")] Institution institution)
        {
            if (ModelState.IsValid)
            {
                _context.Add(institution);
                await _context.SaveChangesAsync();

                Alert("Institution created successfully...", learner_portal.Helpers.Enum.NotificationType.success);
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["InstitutionTypeId"] = new SelectList(_context.InstitutionType, "InstitutionTypeId", "InstitutionTypeDesc", institution.InstitutionTypeId);
            return(PartialView(institution));
        }
Ejemplo n.º 15
0
        public async Task <IActionResult> Create([Bind("OfoId,OfoCode,OfoTitle,OfoUnitId,FinancialYearId")] Ofo ofo)
        {
            if (ModelState.IsValid)
            {
                _context.Add(ofo);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["FinancialYearId"] = new SelectList(_context.Financialyear, "FinancialyearId", "FinancialyearDesc", ofo.FinancialYearId);
            ViewData["OfoUnitId"]       = new SelectList(_context.OfoUnit, "OfoUnitId", "OfoUnitTitle", ofo.OfoUnitId);
            return(PartialView(ofo));
        }
Ejemplo n.º 16
0
        public async Task <IActionResult> Create([Bind("Person", "Address", "Assessor")] AssessorViewModel assessorViewModel)
        {
            if (ModelState.IsValid)
            {
                var user = await _lookUpService.GetCurrentLoggedInUser(User.Identity.Name);

                assessorViewModel.Assessor.CreatedBy       = user.UserName;
                assessorViewModel.Assessor.DateCreated     = DateTime.Now;
                assessorViewModel.Assessor.ApplicationDate = DateTime.Now;

                //Link the Address to the Person
                assessorViewModel.Person.Address.Add(assessorViewModel.Address);

                // Add the Person into the Database
                var member = await _lookUpService.GetUserByUsrname(User.Identity.Name);

                assessorViewModel.Person.UserId = member.Id;
                assessorViewModel.Person.Email  = member.Email;

                //Now link the Assessor to this Person Profile created
                assessorViewModel.Assessor.Person = assessorViewModel.Person;

                //Now link the learner to this Person Profile created
                assessorViewModel.Learner.Person = assessorViewModel.Person;

                //Then Add the Learner to the Database
                _context.Add(assessorViewModel.Learner);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["AccreditationStatusId"] = new SelectList(_context.AccreditationStatuses, "AccreditationStatusId", "AccreditationStatusDesc", assessorViewModel.Assessor.AccreditationStatusesId);
            ViewData["EtqeId"]              = new SelectList(_context.Etqe, "EtqeId", "EtqeName", assessorViewModel.Assessor.EtqeId);
            ViewData["ApplicationTypesId"]  = new SelectList(_context.ApplicationType, "ApplicationTypesId", "ApplicationTypesDesc", assessorViewModel.Assessor.ApplicationTypes);
            ViewData["EvaluatorsId"]        = new SelectList(_context.Evaluator, "EvaluatorsId", "EvaluatorsId", assessorViewModel.Assessor.Evaluators);
            ViewData["CitizenshipStatusId"] = new SelectList(_context.CitizenshipStatus, "CitizenshipStatusId", "CitizenshipStatusDesc", assessorViewModel.Person.CitizenshipStatus);
            ViewData["DisabilityStatusId"]  = new SelectList(_context.DisabilityStatus, "DisabilityStatusId", "DisabilityStatusDesc", assessorViewModel.Person.DisabilityStatus);
            ViewData["EquityId"]            = new SelectList(_context.Equity, "EquityId", "EquityDesc", assessorViewModel.Person.Equity);
            ViewData["GenderId"]            = new SelectList(_context.Gender, "GenderId", "GenderDesc", assessorViewModel.Person.Gender);
            ViewData["HomeLanguageId"]      = new SelectList(_context.HomeLanguage, "HomeLanguageId", "HomeLanguageDesc", assessorViewModel.Person.HomeLanguage);
            ViewData["QualificationId"]     = new SelectList(_context.Qualification, "QualificationId", "QualificationTitle", assessorViewModel.Qualification.QualificationId);
            ViewData["NationalityId"]       = new SelectList(_context.Nationality, "NationalityId", "NationalityDesc", assessorViewModel.Person.Nationality);
            ViewData["CityId"]              = new SelectList(await _lookUpService.GetCities(), "id", "name", assessorViewModel.Address.City);
            ViewData["SuburbId"]            = new SelectList(_lookUpService.GetSuburbs().Result, "id", "name", assessorViewModel.Address.Suburb);
            ViewData["CountryId"]           = new SelectList(_lookUpService.GetCountries().Result, "id", "name", assessorViewModel.Address.Country);
            ViewData["ProvinceId"]          = new SelectList(_lookUpService.GetProvinces().Result, "id", "name", assessorViewModel.Address.Province);
            ViewData["AddressTypeId"]       = new SelectList(_lookUpService.GetAddressTypes().Result, "id", "name", assessorViewModel.Address.AddressType);
            ViewData["SchoolId"]            = new SelectList(_lookUpService.GetSchools().Result, "id", "name", assessorViewModel.Learner.School);
            ViewData["SchoolGradeId"]       = new SelectList(_lookUpService.GetSchoolGrades().Result, "id", "name", assessorViewModel.Learner.SchoolGrade);
            return(View(assessorViewModel));
        }
Ejemplo n.º 17
0
        public async Task <IActionResult> Create([Bind("CityId,CityName,CityCode,ProvinceId,CreatedBy,DateCreated,LastUpdatedBy,DateUpdated")] City city)
        {
            if (ModelState.IsValid)
            {
                _context.Add(city);
                await _context.SaveChangesAsync();

                _notyf.Success("Created successfully...");
                _notyf.Custom("Edited ", 10, "green", "user");
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["ProvinceId"] = new SelectList(_context.Province, "ProvinceId", "ProvinceName", city.ProvinceId);
            return(PartialView(city));
        }
Ejemplo n.º 18
0
        public async Task <IActionResult> Create([Bind("Id,TypeName,ActiveYn,RoleId,Description,CreatedBy,DateCreated,LastUpdatedBy,DateUpdated")] DocumentType documentType)
        {
            if (ModelState.IsValid)
            {
                documentType.CreatedBy   = User.Identity.Name;
                documentType.DateCreated = DateTime.Now;

                _context.Add(documentType);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            //  ViewData["RoleId"] = new SelectList(_context.Role, "RoleId", "Name",documentType.RoleId);
            return(PartialView(documentType));
        }
Ejemplo n.º 19
0
        public async Task <IActionResult> Create([Bind("JobTypeId,JobTypeCode,JobTypeDesc,CreatedBy,DateCreated,LastUpdatedBy,DateUpdated")] JobType jobType)
        {
            jobType.CreatedBy   = "admin";
            jobType.DateCreated = DateTime.Now;

            jobType.LastUpdatedBy = "admin";
            jobType.DateUpdated   = DateTime.Now;

            if (ModelState.IsValid)
            {
                _context.Add(jobType);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(PartialView(jobType));
        }
Ejemplo n.º 20
0
        public async Task<IActionResult> Create([Bind("Id,FirstName,LastName,Email,PhoneNumber,PersonsDob,GenderId,NationalId,EquityId,NationalityId,HomeLanguageId,CitizenshipStatusId,DisabilityStatusId,UserId,PhotoPath,PhotoName,CreatedBy,DateCreated,LastUpdatedBy,DateUpdated")] Person person)
        {
            if (ModelState.IsValid)
            {
                
                _context.Add(person);
                await _context.SaveChangesAsync();
                return RedirectToAction(nameof(Index));
            }
            ViewData["CitizenshipStatusId"] = new SelectList(_context.CitizenshipStatus, "CitizenshipStatusId", "CitizenshipStatusId", person.CitizenshipStatusId);
            ViewData["DisabilityStatusId"] = new SelectList(_context.DisabilityStatus, "DisabilityStatusId", "DisabilityStatusId", person.DisabilityStatusId);
            ViewData["EquityId"] = new SelectList(_context.Equity, "EquityId", "EquityId", person.EquityId);
            ViewData["GenderId"] = new SelectList(_context.Gender, "GenderId", "GenderId", person.GenderId);
            ViewData["HomeLanguageId"] = new SelectList(_context.HomeLanguage, "HomeLanguageId", "HomeLanguageId", person.HomeLanguageId);
            ViewData["NationalityId"] = new SelectList(_context.Nationality, "NationalityId", "NationalityId", person.NationalityId);
 
            return View(person);
        }
Ejemplo n.º 21
0
        public void SendEmail(Mail message)
        {
            var emailMessage = CreateEmailMessage(message);

            //   _logger.LogDebug("Add a copy of the email in the DB...");
            Send(emailMessage);
            _context.Mail.Add(message);
            _context.SaveChangesAsync();
            //  _context.Database.CloseConnectionAsync();
        }
Ejemplo n.º 22
0
        public async Task <IActionResult> CreateCompany([Bind("Company", "Address", "Photo")] CompanyViewModel companyViewModel)
        {
            if (ModelState.IsValid)
            {
                // This Uploads learner profile image
                var photoPath = _fconfig.Images + companyViewModel.Company.CompanyRegistrationNo + "/" + Utils.GenerateImageFolderId() + "/";

                if (companyViewModel.Photo != null)
                {
                    _fileService.UploadFile(companyViewModel.Photo, _env.WebRootPath + photoPath);

                    companyViewModel.Company.PhotoName = companyViewModel.Photo.FileName;
                    companyViewModel.Company.PhotoPath = photoPath;
                    Console.WriteLine(" FILE NAME : " + companyViewModel.Photo.FileName);
                }

                companyViewModel.Company.CreatedBy     = User.Identity.Name;
                companyViewModel.Company.DateCreated   = DateTime.Now;
                companyViewModel.Company.LastUpdatedBy = User.Identity.Name;
                companyViewModel.Company.DateUpdated   = DateTime.Now;

                companyViewModel.Address.CreatedBy     = User.Identity.Name;
                companyViewModel.Address.DateCreated   = DateTime.Now;
                companyViewModel.Address.LastUpdatedBy = User.Identity.Name;
                companyViewModel.Address.DateUpdated   = DateTime.Now;

                companyViewModel.Company.Address.Add(companyViewModel.Address);

                //Add company to the database
                _context.Add(companyViewModel.Company);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["CityId"]        = new SelectList(_context.City, "CityId", "CityName", companyViewModel.Address.CityId);
            ViewData["SuburbId"]      = new SelectList(_context.Suburb, "SuburbId", "SuburbName", companyViewModel.Address.SuburbId);
            ViewData["CountryId"]     = new SelectList(_context.Country, "CountryId", "CountryName", companyViewModel.Address.CountryId);
            ViewData["ProvinceId"]    = new SelectList(_context.Province, "ProvinceId", "ProvinceName", companyViewModel.Address.ProvinceId);
            ViewData["AddressTypeId"] = new SelectList(_context.AddressType, "AddressTypeId", "AddressTypeName", companyViewModel.Address.AddressTypeId);

            return(View(companyViewModel));
        }
Ejemplo n.º 23
0
        public async Task <IActionResult> Create([Bind("LearnerId,PersonId,SchoolId,SchoolGradeId,MotivationText,YearSchoolCompleted,CreatedBy,DateCreated,LastUpdatedBy,DateUpdated")] Learner learner)
        {
            if (ModelState.IsValid)
            {
                learner.CreatedBy   = "admin";
                learner.DateCreated = DateTime.Now;

                learner.LastUpdatedBy = "admin";
                learner.DateUpdated   = DateTime.Now;

                _context.Add(learner);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }

            ViewData["PersonId"]      = new SelectList(_context.Person, "PersonId", "PersonId", learner.PersonId);
            ViewData["SchoolId"]      = new SelectList(_context.School, "SchoolId", "SchoolId", learner.SchoolId);
            ViewData["SchoolGradeId"] = new SelectList(_context.SchoolGrade, "SchoolGradeId", "SchoolGradeId", learner.SchoolGradeId);
            return(PartialView(learner));
        }
Ejemplo n.º 24
0
        public async Task <IActionResult> _Verify(Guid id, [Bind("Id,FilePath,FileName,DocumentTypeId,Comments,LearnerId")] Document document)
        {
            if (id != document.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                document.Verified         = Const.TRUE;
                document.VerifiedBy       = User.Identity.Name;
                document.VerificationDate = DateTime.Now;
                document.LastUpdatedBy    = User.Identity.Name;
                document.DateUpdated      = DateTime.Now;

                try
                {
                    _context.Update(document);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!FileExists(document.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                _notyf.Success("Document verified successfully....");
                var user = await _lookUpService.GetCurrentLoggedInUser(User.Identity.Name);

                return(RedirectToAction("Details", "Person", new { id = user.Person.NationalId }));
            }

            return(View(document));
        }
Ejemplo n.º 25
0
        public async Task <IActionResult> Create([Bind("AddressId,HouseNo,StreetName,SurburbId,CityId,PostalCode,ProvinceId,CountryId,AddressTypeId,PersonId,CreatedBy,DateCreated,LastUpdatedBy,DateUpdated")] Address address)
        {
            if (ModelState.IsValid)
            {
                address.CreatedBy   = "admin";
                address.DateCreated = DateTime.Now;

                address.LastUpdatedBy = "admin";
                address.DateUpdated   = DateTime.Now;

                _context.Add(address);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["AddressTypeId"] = new SelectList(_context.AddressType, "AddressTypeId", "AddressTypeId", address.AddressTypeId);
            ViewData["CityId"]        = new SelectList(_context.City, "CityId", "CityId", address.CityId);
            ViewData["SuburbId"]      = new SelectList(_context.Suburb, "SuburbId", "SuburbId", address.Suburb);
            ViewData["CountryId"]     = new SelectList(_context.Country, "CountryId", "CountryId", address.CountryId);
            ViewData["PersonId"]      = new SelectList(_context.Person, "PersonId", "PersonId", address.PersonId);
            ViewData["ProvinceId"]    = new SelectList(_context.Province, "ProvinceId", "ProvinceId", address.ProvinceId);
            return(View(address));
        }
Ejemplo n.º 26
0
        public async Task <IActionResult> Create([Bind("AddressTypeId,AddressTypeName,AddressTypeCode,CreatedBy,DateCreated,LastUpdatedBy,DateUpdated")] AddressType addressType)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    string messages = string.Join("; ", ModelState.Values
                                                  .SelectMany(x => x.Errors)
                                                  .Select(x => x.ErrorMessage));
                    throw new Exception("Please correct the following errors: " + Environment.NewLine + messages);
                }

                _context.Add(addressType);
                await _context.SaveChangesAsync();

                //     return RedirectToAction(nameof(Index));

                return(Json(new { Result = "OK" }));
            }
            catch (Exception ex)
            {
                return(Json(new { Result = "ERROR", Message = ex.Message }));
            }
        }
Ejemplo n.º 27
0
        public async Task <bool> ImportExcelForLearners(string fileName)
        {
            Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
            await using (var stream = File.Open(fileName, FileMode.Open, FileAccess.Read))
            {
                using (var reader = ExcelReaderFactory.CreateReader(stream))
                {
                    var conf = new ExcelDataSetConfiguration
                    {
                        ConfigureDataTable = _ => new ExcelDataTableConfiguration
                        {
                            UseHeaderRow = false,
                        }
                    };

                    var dataSet = reader.AsDataSet(conf);

                    var dataTable = dataSet.Tables[0];


                    for (var i = 1; i < dataTable.Rows.Count; i++)//Each row of the file
                    {
                        var person = new Person()
                        {
                            NationalId          = dataTable.Rows[i].ItemArray[0].ToString(),
                            Title               = dataTable.Rows[i].ItemArray[1].ToString(),
                            FirstName           = dataTable.Rows[i].ItemArray[2].ToString(),
                            LastName            = dataTable.Rows[i].ItemArray[3].ToString(),
                            PersonsDob          = DateTime.ParseExact(dataTable.Rows[i].ItemArray[4].ToString(), "yyyy/MM/dd HH:mm:ss", CultureInfo.CurrentCulture),
                            GenderId            = (await _lookUpService.GetGenders()).Find(a => a.name.Equals(dataTable.Rows[i].ItemArray[5].ToString()))?.id,
                            NationalityId       = (await _lookUpService.GetNationalities()).Find(a => a.name.Equals(dataTable.Rows[i].ItemArray[6].ToString()))?.id,
                            CitizenshipStatusId = (await _lookUpService.GetCitizenships()).Find(a => a.name.Equals(dataTable.Rows[i].ItemArray[7].ToString()))?.id,
                            DisabilityStatusId  = (await _lookUpService.GetDisabilities()).Find(a => a.name.Equals(dataTable.Rows[i].ItemArray[8].ToString()))?.id,
                            HomeLanguageId      = (await _lookUpService.GetHomeLanguages()).Find(a => a.name.Equals(dataTable.Rows[i].ItemArray[9].ToString()))?.id,
                            EquityId            = (await _lookUpService.GetEquities()).Find(a => a.name.Equals(dataTable.Rows[i].ItemArray[10].ToString()))?.id,
                            Email               = dataTable.Rows[i].ItemArray[11].ToString(),
                            PhoneNumber         = dataTable.Rows[i].ItemArray[12].ToString(),
                            CreatedBy           = "DataImport",
                            DateCreated         = DateTime.Now,
                        };

                        var homeAddress = new Address()
                        {
                            HouseNo       = dataTable.Rows[i].ItemArray[13].ToString(),
                            StreetName    = dataTable.Rows[i].ItemArray[14].ToString(),
                            SuburbId      = _lookUpService.GetSuburbs().Result.FirstOrDefault(a => a.name.Equals(dataTable.Rows[i].ItemArray[15].ToString()))?.id,
                            CityId        = _lookUpService.GetCities().Result.FirstOrDefault(a => a.name.Equals(dataTable.Rows[i].ItemArray[16].ToString()))?.id,
                            ProvinceId    = _lookUpService.GetProvinces().Result.FirstOrDefault(a => a.name.Equals(dataTable.Rows[i].ItemArray[17].ToString()))?.id,
                            CountryId     = _lookUpService.GetCountries().Result.FirstOrDefault(a => a.name.Equals(dataTable.Rows[i].ItemArray[18].ToString()))?.id,
                            PostalCode    = dataTable.Rows[i].ItemArray[19].ToString(),
                            AddressTypeId = 1,
                            CreatedBy     = "DataImport",
                            DateCreated   = DateTime.Now,
                        };

                        var postalAddress = new Address()
                        {
                            HouseNo       = dataTable.Rows[i].ItemArray[20].ToString(),
                            StreetName    = dataTable.Rows[i].ItemArray[21].ToString(),
                            SuburbId      = _lookUpService.GetSuburbs().Result.FirstOrDefault(a => a.name.Equals(dataTable.Rows[i].ItemArray[22].ToString()))?.id,
                            CityId        = _lookUpService.GetCities().Result.FirstOrDefault(a => a.name.Equals(dataTable.Rows[i].ItemArray[23].ToString()))?.id,
                            ProvinceId    = _lookUpService.GetProvinces().Result.FirstOrDefault(a => a.name.Equals(dataTable.Rows[i].ItemArray[24].ToString()))?.id,
                            CountryId     = _lookUpService.GetCountries().Result.FirstOrDefault(a => a.name.Equals(dataTable.Rows[i].ItemArray[25].ToString()))?.id,
                            PostalCode    = dataTable.Rows[i].ItemArray[26].ToString(),
                            AddressTypeId = 1,
                            CreatedBy     = "DataImport",
                            DateCreated   = DateTime.Now,
                        };

                        person.Address.Add(homeAddress);
                        person.Address.Add(postalAddress);

                        var learner = new Learner
                        {
                            SchoolId            = _lookUpService.GetSchools().Result.FirstOrDefault(a => a.name.Equals(dataTable.Rows[i].ItemArray[27].ToString())).id,
                            SchoolGradeId       = _lookUpService.GetSchoolGrades().Result.FirstOrDefault(a => a.name.Equals(dataTable.Rows[i].ItemArray[28].ToString())).id,
                            YearSchoolCompleted = Utils.GetDate(dataTable.Rows[i].ItemArray[29].ToString()),
                            AppliedYn           = Const.FALSE,
                            RecruitedYn         = Const.FALSE,
                            CreatedBy           = "DataImport",
                            DateCreated         = DateTime.Now,
                            Person = person,
                        };
                        learner.Person = person;

                        _learnerContext.Learner.Add(learner);
                        await _learnerContext.SaveChangesAsync();
                    }
                }
            }
            return(true);
        }