public bool PostJobOpening(JobOpeningDAO jobOpening)
        {
            JobOpeningServiceClient client = new JobOpeningServiceClient();

            try
            {
                bool result = false;

                // are we editing or creating this item?
                if (jobOpening.JobOpeningID > 0)
                    result = client.UpdateJobOpening(jobOpening);
                else
                    result = client.CreateJobOpening(jobOpening);

                return result;
            }
            catch (FaultException<KaskServiceException> e)
            {
                throw new HttpException(e.Message);
            }
        }
        public async Task<ActionResult> Create(FormCollection collection)
        {
            try
            {
                if (!string.IsNullOrEmpty(Request.Form["JobID"]))
                {
                    // save application form data back to database through service
                    using (HttpClient httpClient = new HttpClient())
                    {
                        httpClient.BaseAddress = new Uri("http://localhost:51309");
                        httpClient.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
                        HttpResponseMessage result = new HttpResponseMessage();
                        string resultContent = "";

                        // gather JobOpening form data
                        JobOpeningDAO jobOpening = new JobOpeningDAO();
                        jobOpening.OpenDate = DateTime.Now; // note: this could change to the above "OpenDate" line of code in the future...
                        jobOpening.JobID = Convert.ToInt32(Request.Form["JobID"]);
                        jobOpening.Approved = 0;    // "not approved" by default
                        jobOpening.Description = Request.Form["Description"];
                        jobOpening.StoreID = Convert.ToInt32(Request.Form["StoreID"]);

                        // post (save) JobOpening data
                        result = httpClient.PostAsJsonAsync(ServiceURIs.ServiceJobOpeningUri, jobOpening).Result;
                        resultContent = result.Content.ReadAsStringAsync().Result;

                        // save job requirement data
                        // 1. see which checkboxes are checked
                        // 2. create new JobRequirement entries and tie those back to this JobOpening

                        // get correct job opening id of the job opening we just saved
                        var jobOpenings = await ServerResponse<List<JobOpeningDAO>>.GetResponseAsync(ServiceURIs.ServiceJobOpeningUri);
                        int jobOpeningId = jobOpenings.Last().JobOpeningID;

                        // TODO: change the hardcoded "50" into the length of all available skills
                        for (int i = 0; i < 50; i++)
                        {
                            try
                            {
                                if (Request.Form["Skill_" + i] != null)
                                {
                                    // NOTE: renamed Job_ID to JobOpening_ID in JobRequirement table?
                                    // because we aren't really linking these requirements to a "job type" in the Job table
                                    // we are actually linking these to JobOpenings...
                                    JobRequirementDAO jobRequirement = new JobRequirementDAO();
                                    jobRequirement.JobOpeningID = jobOpeningId;
                                    jobRequirement.SkillID = i;

                                    // post (save) JobRequirement data
                                    result = httpClient.PostAsJsonAsync(ServiceURIs.ServiceJobRequirementUri, jobRequirement).Result;
                                    resultContent = result.Content.ReadAsStringAsync().Result;
                                }
                            }
                            catch { }
                        }

                        // TODO: change the hardcoded "50" into the length of all available short answer questions
                        for (int i = 0; i < 50; i++)
                        {
                            try
                            {
                                if (Request.Form["SAQuestion_" + i] != null)
                                {
                                    JobOpeningInterviewQuestionDAO jobOpeningInterviewQuestion = new JobOpeningInterviewQuestionDAO();
                                    jobOpeningInterviewQuestion.JobOpeningID = jobOpeningId;
                                    jobOpeningInterviewQuestion.SAQuestionID = Convert.ToInt32(Request.Form["SAQuestion_" + i]);

                                    // post (save) which SA Questions we want to use for this Job Opening
                                    result = httpClient.PostAsJsonAsync(ServiceURIs.ServiceJobOpeningInterviewQuestionUri, jobOpeningInterviewQuestion).Result;
                                    resultContent = result.Content.ReadAsStringAsync().Result;
                                }
                            }
                            catch { }
                        }
                    }

                    return RedirectToAction("Backend", "Home");
                }
                else
                {
                    // TODO: validation later on...
                    return RedirectToAction("Create");
                }
            }
            catch
            {
                // TODO: validation later on...
                return RedirectToAction("Create");
            }
        }
        public ActionResult Reject(FormCollection collection)
        {
            try
            {
                if (!string.IsNullOrEmpty(Request.Form["JobOpeningID"]))
                {
                    // save application form data back to database through service
                    using (HttpClient httpClient = new HttpClient())
                    {
                        httpClient.BaseAddress = new Uri("http://localhost:51309");
                        httpClient.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
                        HttpResponseMessage result = new HttpResponseMessage();
                        string resultContent = "";

                        // gather JobOpening form data
                        JobOpeningDAO jobOpening = new JobOpeningDAO();
                        jobOpening.JobOpeningID = Convert.ToInt32(Request.Form["JobOpeningID"]);
                        jobOpening.Approved = 0;

                        // post (save) JobOpening data
                        result = httpClient.PostAsJsonAsync(ServiceURIs.ServiceJobOpeningUri, jobOpening).Result;
                        resultContent = result.Content.ReadAsStringAsync().Result;
                    }

                    return RedirectToAction("Index", "JobOpenings");
                }
                else
                {
                    // TODO: validation later on...
                    return RedirectToAction("Index", "JobOpenings");
                }
            }
            catch
            {
                return RedirectToAction("Index", "JobOpenings");
            }
        }