public IActionResult GetSignleEmployeeLetter(int id)
 {
     try
     {
         LetterRequests EmployeeLetter = _letterRequestService.getSingleLetterRequest(id);
         if (EmployeeLetter == null)
         {
             return(NotFound($"No Letter Exists for Id: {id}"));
         }
         return(Ok(EmployeeLetter));
     }
     catch (Exception E)
     {
         _logger.AddLog(E.ToString(), E.GetType().ToString());
         return(NotFound("Exception Occured."));
     }
 }
        public IActionResult PutLetterInformation(int id, [FromBody] LetterRequests letter)
        {
            if (!ModelState.IsValid)
            {
                _logger.AddLog(BadRequest(ModelState).ToString(), BadRequest().GetType().ToString());
                return(BadRequest(ModelState));
            }

            try
            {
                _letterRequestService.Update(letter);
            }
            catch (Exception E)
            {
                _logger.AddLog(E.ToString(), E.GetType().ToString());
                return(StatusCode(StatusCodes.Status406NotAcceptable));
            }
            return(Ok($"LetterRequest {letter.Id} Updated."));
        }
        public async Task <ActionResult <LetterRequests> > PostUserLetterRequest([FromBody] LetterRequests letter)
        {
            if (!ModelState.IsValid)
            {
                _logger.AddLog(BadRequest(ModelState).ToString(), BadRequest().GetType().ToString());
                return(BadRequest(ModelState));
            }

            try
            {
                letter.DateCreated  = System.DateTime.Now;
                letter.DateModified = System.DateTime.Now;
                await _letterRequestService.PostLetterRequest(letter);
            }
            catch (Exception E)
            {
                _logger.AddLog(E.ToString(), E.GetType().ToString());
                return(StatusCode(StatusCodes.Status406NotAcceptable));
            }
            return(StatusCode(StatusCodes.Status201Created));
        }