public async Task <IActionResult> PutCoverLetter([FromRoute] int id, [FromBody] CoverLetter coverLetter)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != coverLetter.CoverLetterID)
            {
                return(BadRequest());
            }

            _context.Entry(coverLetter).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!CoverLetterExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
        public async Task <IActionResult> Create([Bind("CompanyName, CompanyID, CompanyUrl, JobOpeningTitle,JobOpeningRecorded,JobOpeningSource,JobOpeningUrl,JobOpeningDescription,JobOpeningNotes,JobOpeningActive")] AddJobOpeningViewModel jobOpening)
        {
            if (ModelState.IsValid)
            {
                HistoryItem tempHistoryItem;

                Company newCompany;
                if (jobOpening.CompanyName != "")
                {
                    //Create the company record
                    newCompany = new Company()
                    {
                        CompanyName   = jobOpening.CompanyName,
                        CompanyActive = true,
                        CompanyUrl    = jobOpening.CompanyUrl
                    };
                    _context.Add(newCompany);
                    await _context.SaveChangesAsync();

                    //Get the company ID
                    await _context.Entry(newCompany).GetDatabaseValuesAsync();

                    //Update the historyitem
                    tempHistoryItem = new HistoryItem()
                    {
                        HistoryItemCreated = DateTime.Now,
                        HistoryItemDate    = DateTime.Now,
                        HistoryItemEvent   = "Company Created",
                        CompanyID          = newCompany.CompanyID,
                        HistoryItemText    = newCompany.CompanyName + " was added."
                    };
                    _context.HistoryItems.Add(tempHistoryItem);
                    await _context.SaveChangesAsync();
                }
                else
                {
                    // Use the selected Company
                    newCompany = _context.Companies.SingleOrDefault(x => x.CompanyID == jobOpening.CompanyID);
                }

                //Create the job opening record
                var newJobOpening = new JobOpening()
                {
                    CompanyID             = newCompany.CompanyID,
                    JobOpeningTitle       = jobOpening.JobOpeningTitle,
                    JobOpeningDescription = jobOpening.JobOpeningDescription,
                    JobOpeningNotes       = jobOpening.JobOpeningNotes,
                    JobOpeningUrl         = jobOpening.JobOpeningUrl,
                    JobOpeningRecorded    = DateTime.Now,
                    JobOpeningSource      = jobOpening.JobOpeningSource,
                    JobOpeningActive      = true
                };
                _context.Add(newJobOpening);
                await _context.SaveChangesAsync();

                //Get the job ID
                await _context.Entry(newJobOpening).GetDatabaseValuesAsync();

                //Create historical item
                tempHistoryItem = new HistoryItem()
                {
                    HistoryItemCreated = DateTime.Now,
                    HistoryItemDate    = DateTime.Now,
                    HistoryItemEvent   = "Job Opening Created",
                    JobID           = newJobOpening.JobOpeningID,
                    HistoryItemText = ""
                };
                _context.HistoryItems.Add(tempHistoryItem);
                await _context.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }
            return(View(jobOpening));
        }