public async Task <bool> UpdateEmployerJob(EmployerJobDetail job) // add new or existing job { DbAccessor db = new DbAccessor(); // update job in both database and api to server if connection. var vjob = db.GetTableItems <EmployerJobs>().Where(x => x.JobPostId == job.JobPostId).FirstOrDefault(); if (vjob != null) { vjob.JSON = JsonConvert.SerializeObject(job); // update here for db db.UpdateRecord <EmployerJobs>(vjob); // push update to api here // ***************** TODO *************** } else { var jb = new EmployerJobs { JSON = JsonConvert.SerializeObject(job), JobPostId = job.JobPostId }; db.InsertRecord <EmployerJobs>(jb); } // temp return return(true); }
async void ProcessEditJob(EmployerJobDetail vals) { if (vals != null) { NavigationParameters paramx = new NavigationParameters(); paramx.Add("MODE", "EDIT"); paramx.Add("JOB", vals); await _nav.NavigateAsync(nameof(JobPage), paramx, false, true); } }
async void ProcessViewJobWatched(EmployerJobDetail vals) { if (vals != null) { NavigationParameters paramx = new NavigationParameters(); paramx.Add("MODE", "WATCHED"); paramx.Add("DETAILS", vals); await _nav.NavigateAsync(nameof(DisplayJobPage), paramx, false, true); } }
async void ProcessRemoveJobWatched(EmployerJobDetail vals) { if (vals != null) { ApiServiceIndividual api = new ApiServiceIndividual(); await api.DeleteWatchListJobasync(vals.JobPostId); WatchListJobsSource.Remove(vals); await _dialog.DisplayAlertAsync("WatchList", "Removed from watchlist", "Ok"); } }
// public DelegateCommand<EmployerJobDetail> EditJobCommand; //public ICommand EditJobCommand { get; } private async void ProcessDeleteJob(EmployerJobDetail vals) { TranslateExtension tran = new TranslateExtension(); string confirm = tran.GetProviderValueString("ButtonConfirmDelete"); string delete = tran.GetProviderValueString("ButtonDelete"); string cancel = tran.GetProviderValueString("ButtonCancel"); var res = await _dialog.DisplayActionSheetAsync("Confirm delete!!", "Cancel", "Delete", ""); if (res.Equals(delete)) { ApiService apiServ = new ApiService(); if (await apiServ.DeleteEmployerJobasync(vals.JobPostId)) { JobPageSource.Remove(vals); } } }
public void OnNavigatedTo(NavigationParameters parameters) { var mode = parameters["MODE"]; if (mode != null && (!string.IsNullOrEmpty(mode.ToString()))) { var jobDetails = parameters["JOB"]; var modeVal = mode.ToString(); switch (modeVal) { case "NEW": JobDetails = new EmployerJobDetail(); SetNewMode(); break; case "EDIT": if (jobDetails == null) { _dialog.DisplayAlertAsync("Error", "No job to edit.", "OK"); _nav.GoBackAsync(); } else { JobDetails = jobDetails as EmployerJobDetail; SetEditMode(); } break; case "VIEW": if (jobDetails == null) { _dialog.DisplayAlertAsync("Error", "No job to View.", "OK"); _nav.GoBackAsync(); } else { JobDetails = jobDetails as EmployerJobDetail; SetViewMode(); //set dynamic height for languages if (JobDetails.JobLanguages != null && JobDetails.JobLanguages.Count > 0) { SetJobLanguagesHeight(JobDetails.JobLanguages.Count); } else { SetJobLanguagesHeight(0); } //set dynamic height for licences if (JobDetails.JobLicenses != null && JobDetails.JobLicenses.Count > 0) { SetJobLicencesHeight(JobDetails.JobLicenses.Count); } else { SetJobLicencesHeight(0); } //set dynamic height for trainings if (JobDetails.JobTraining != null && JobDetails.JobTraining.Count > 0) { SetJobTrainingHeight(JobDetails.JobTraining.Count); } else { SetJobTrainingHeight(0); } } break; } // JobDetails.SalaryFrom } }