示例#1
0
        public IResponse CreateUserInGB(JobSeeker jobseeker)
        {
            try
            {
                var client = new RestClient();
                client.BaseUrl = new Uri(_apiSettings.BaseUrl);
                var request = new RestRequest("user_create_sync.php", Method.POST);

                request.AddHeader("Content-Type", "application/json");
                request.AddHeader("cache-control", "no-cache");
                GBUser gbuser = new GBUser(jobseeker);
                request.RequestFormat = DataFormat.Json;
                request.AddBody(gbuser);
                //Alternate way of sending request object
                //request.AddParameter("",JsonConvert.SerializeObject(gbuser),ParameterType.RequestBody);
                IRestResponse <Response> response = client.Execute <Response>(request);
                return(JsonConvert.DeserializeObject <Response>(response.Content));
            }
            catch (Exception ex)
            {
                return(new Response {
                    Result = "ERROR", Error = ex.Message
                });
            }
        }
示例#2
0
        public async Task <IActionResult> UpdateUserInfoAsync([FromBody] GBUser gbUser)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    ApplicationUser user = await _userManager.FindByEmailAsync(gbUser.user_email);

                    var jobseeker = _jobSeeekerRepository.GetJobSeekerByUserId(user.Id);
                    await SaveGBUserToAJJAsync(gbUser, jobseeker);

                    ApplicationUser appuser = new ApplicationUser()
                    {
                        PhoneNumber  = gbUser.mobile,
                        Email        = gbUser.user_email,
                        PasswordHash = gbUser.user_pass
                    };

                    //jobseeker.ApplicationUser = appuser;
                    //var result = _userManager.UpdateAsync(user);

                    //if (result.IsCompletedSuccessfully)
                    //{
                    _jobSeeekerRepository.Update(jobseeker);
                    return(Ok(new { result = "OK", error = "" }));
                    // }
                    //else
                    //{
                    //return BadRequest(new { result = "ERROR1", error = "User info failed to update" });
                    // }
                }
                else
                {
                    string err = "";

                    foreach (var child in ModelState.Root.Children)
                    {
                        foreach (var error in child.Errors)
                        {
                            err += error.ErrorMessage;
                        }
                    }
                    return(BadRequest(new { result = "ERROR1", error = err }));
                }
            }
            catch (Exception ex)
            {
                return(StatusCode(500, new { result = "ERROR2", error = ex.Message }));
            }
        }
示例#3
0
        public async Task <IActionResult> GetAsync(string email)
        {
            try
            {
                ApplicationUser user = await _userManager.FindByEmailAsync(email);

                if (user == null)
                {
                    return(NotFound(new { result = "ERROR1", error = "user not found" }));
                }
                var jobseekers = await _jobSeeekerRepository.FindByAsyn(x => x.ApplicationUserId == user.Id);

                GBUser model = new GBUser();
                foreach (var jobseeker in jobseekers)
                {
                    var country  = _countryRepository.GetById(jobseeker.CountryID);
                    var province = _provinceRepository.GetById(jobseeker.ProvinceID);

                    if (country != null)
                    {
                        model.country = country.Name;
                    }
                    if (province != null)
                    {
                        model.thestate = province.Name_Jp;
                    }

                    model.first_name     = jobseeker.FirstName;
                    model.last_name      = jobseeker.LastName;
                    model.birth_year     = jobseeker.BirthYear;
                    model.birth_month    = jobseeker.BirthMonth;
                    model.birth_day      = jobseeker.BirthDay;
                    model.zip            = jobseeker.PostalAddrss;
                    model.visa           = jobseeker.Visa;
                    model.addr1          = jobseeker.Address;
                    model.birth_age      = jobseeker.Age;
                    model.thestate_other = jobseeker.OtherCountry;

                    if (jobseeker.Gender == 'M')
                    {
                        model.radio_sex = "Male";
                    }
                    else if (jobseeker.Gender == 'F')
                    {
                        model.radio_sex = "Female";
                    }

                    model.city = jobseeker.City;

                    model.visa = jobseeker.Visa;
                    //model.vopen1 = jobseeker.SubVisaType;
                    model.user_email = user.Email;
                    model.user_pass  = user.PasswordHash;
                    model.mobile     = user.PhoneNumber;
                }
                return(Ok(new { result = "OK", userinfo = model }));
            }
            catch (Exception ex)
            {
                return(CreatedAtAction("Get", new { result = "ERROR2", error = ex.Message }));
            }
        }
示例#4
0
        private async Task SaveGBUserToAJJAsync(GBUser gbUser, JobSeeker jobseeker)
        {
            if (!String.IsNullOrEmpty(gbUser.country))
            {
                var findCountry = await _countryRepository.FindByAsyn(x => x.Name == gbUser.country);

                foreach (var nationality in findCountry)
                {
                    jobseeker.Country = nationality;
                }
            }

            if (jobseeker.Country == null)
            {
                jobseeker.Country = new Country();
            }

            if (!String.IsNullOrEmpty(gbUser.thestate))
            {
                var findCountry = await _provinceRepository.FindByAsyn(x => x.Name_Jp == gbUser.thestate);

                foreach (var prefecture in findCountry)
                {
                    jobseeker.Province = prefecture;
                }
            }

            if (jobseeker.Province == null)
            {
                jobseeker.Province = new Province();
            }

            jobseeker.FirstName    = gbUser.first_name;
            jobseeker.LastName     = gbUser.last_name;
            jobseeker.BirthYear    = gbUser.birth_year;
            jobseeker.BirthMonth   = gbUser.birth_month;
            jobseeker.BirthDay     = gbUser.birth_day;
            jobseeker.OtherCountry = gbUser.thestate_other;
            jobseeker.Origin       = "GB";
            if (!String.IsNullOrEmpty(gbUser.radio_sex))
            {
                if (gbUser.radio_sex.ToLower().Trim() == "male")
                {
                    jobseeker.Gender = 'M';
                }
                else if (gbUser.radio_sex.ToLower().Trim() == "female")
                {
                    jobseeker.Gender = 'F';
                }
            }

            jobseeker.PostalAddrss = gbUser.zip;
            jobseeker.Address      = gbUser.addr1;
            jobseeker.Age          = gbUser.birth_age;
            jobseeker.Visa         = gbUser.visa;
            string visacat = gbUser.visa;
            string subvisa = "";


            if (!String.IsNullOrEmpty(gbUser.vopen1))
            {
                subvisa = gbUser.vopen1;
                jobseeker.SubVisaType = gbUser.vopen1;
            }
            else if (!String.IsNullOrEmpty(gbUser.vopen2))
            {
                if (gbUser.vopen2 == "No")
                {
                    jobseeker.IsPermitToWork = false;
                }
                else
                {
                    jobseeker.IsPermitToWork = true;
                }
            }
            else if (!String.IsNullOrEmpty(gbUser.vopen3))
            {
                if (gbUser.vopen3 == "No")
                {
                    jobseeker.IsPermitToWork = false;
                }
                else
                {
                    jobseeker.IsPermitToWork = true;
                }
            }
            else if (!String.IsNullOrEmpty(gbUser.vopen4))
            {
                if (gbUser.vopen4 == "No")
                {
                    jobseeker.IsPermitToWork = false;
                }
                else
                {
                    jobseeker.IsPermitToWork = true;
                }
            }
            else if (!String.IsNullOrEmpty(gbUser.vopen5))
            {
                subvisa = gbUser.vopen5;
                jobseeker.SubVisaType = gbUser.vopen5;
            }
            else if (!String.IsNullOrEmpty(gbUser.vopen6))
            {
                subvisa = gbUser.vopen6;
                jobseeker.SubVisaType = gbUser.vopen6;
            }

            var visa = _jobSeekerService.GetVisa(visacat, subvisa);

            jobseeker.VisaCategory    = visa;
            jobseeker.VisaExpiryYear  = gbUser.visa_year;
            jobseeker.VisaExpiryMonth = gbUser.visa_month;
            jobseeker.VisaExpiryDay   = gbUser.visa_day;
        }
示例#5
0
        public async Task <IActionResult> PostAsync([FromBody] GBUser gbUser)
        {
            Dictionary <string, string> returnMsg = new Dictionary <string, string>();

            try
            {
                JobSeeker jobseeker = new JobSeeker();
                if (ModelState.IsValid)
                {
                    await SaveGBUserToAJJAsync(gbUser, jobseeker);

                    ApplicationUser appuser = new ApplicationUser()
                    {
                        UserName       = gbUser.user_email,
                        PasswordHash   = gbUser.user_pass,
                        PhoneNumber    = gbUser.mobile,
                        Email          = gbUser.user_email,
                        CreateDate     = DateTime.Now,
                        EmailConfirmed = true
                    };

                    var result = _userManager.CreateAsync(appuser).Result;
                    if (result.Succeeded)
                    {
                        var roleRegister = _userManager.AddToRoleAsync(appuser, "candidate").Result;
                        jobseeker.ApplicationUser = appuser;
                        _jobSeeekerRepository.Create(jobseeker);
                        return(Ok(new { result = "OK", error = "" }));
                    }
                    else
                    {
                        string err = "";
                        foreach (var error in result.Errors)
                        {
                            err += error.Description + ",";
                        }
                        await SendApiErrorReportAsync(gbUser.user_email, "CreateUser", "*****@*****.**", err);

                        return(BadRequest(new { result = "ERROR2", error = err }));
                    }
                }
                else
                {
                    string err = "";

                    foreach (var child in ModelState.Root.Children)
                    {
                        foreach (var error in child.Errors)
                        {
                            err += error.ErrorMessage;
                        }
                    }
                    await SendApiErrorReportAsync(gbUser.user_email, "CreateUser", "*****@*****.**", err);

                    return(BadRequest(new { result = "ERROR1", error = err }));
                }
            }
            catch (Exception ex)
            {
                await SendApiErrorReportAsync(gbUser.user_email, "CreateUser", "*****@*****.**", ex.Message);

                return(StatusCode(500, new { result = "ERROR2", error = ex.Message }));
            }
        }