public void UpdateNotFoundHelpdesk() { var facade = new HelpdeskFacade(); var updateRequest = new UpdateHelpdeskRequest() { HasCheckIn = true, HasQueue = true, Name = AlphaNumericStringGenerator.GetString(10) }; var updateResponse = facade.UpdateHelpdesk(-1, updateRequest); Assert.AreEqual(HttpStatusCode.NotFound, updateResponse.Status); }
public void UpdateHelpdesk() { var request = new AddHelpdeskRequest() { HasCheckIn = false, HasQueue = true, Name = AlphaNumericStringGenerator.GetString(10) }; var facade = new HelpdeskFacade(); var response = facade.AddHelpdesk(request); Assert.AreEqual(HttpStatusCode.OK, response.Status); Assert.IsTrue(response.HelpdeskID > 0); using (helpdesksystemContext context = new helpdesksystemContext()) { var helpdesk = context.Helpdesksettings.FirstOrDefault(p => p.HelpdeskId == response.HelpdeskID); Assert.IsNotNull(helpdesk); } var updateRequest = new UpdateHelpdeskRequest() { HasCheckIn = true, HasQueue = true, Name = AlphaNumericStringGenerator.GetString(10) }; var updateResponse = facade.UpdateHelpdesk(response.HelpdeskID, updateRequest); Assert.AreEqual(HttpStatusCode.OK, response.Status); using (helpdesksystemContext context = new helpdesksystemContext()) { var helpdesk = context.Helpdesksettings.FirstOrDefault(p => p.HelpdeskId == response.HelpdeskID); Assert.IsNotNull(helpdesk); Assert.AreEqual(updateRequest.HasCheckIn, helpdesk.HasCheckIn); Assert.AreEqual(updateRequest.HasQueue, helpdesk.HasQueue); Assert.AreEqual(updateRequest.Name, helpdesk.Name); } }
/// <summary> /// This method is to handle updating helpdesk business logic /// </summary> /// <param name="id">The id of the helpdesk to be updated</param> /// <param name="request">This is the request with the info to update the helpdesk</param> /// <returns>Returns a response which indicate the result</returns> public UpdateHelpdeskResponse UpdateHelpdesk(int id, UpdateHelpdeskRequest request) { var response = new UpdateHelpdeskResponse(); try { response = (UpdateHelpdeskResponse)request.CheckValidation(response); if (response.Status == HttpStatusCode.BadRequest) { return(response); } var dataLayer = new HelpdeskDataLayer(); bool result = dataLayer.UpdateHelpdesk(id, request); if (result) { response.Status = HttpStatusCode.OK; } else { response.Status = HttpStatusCode.BadRequest; response.StatusMessages.Add(new StatusMessage(HttpStatusCode.BadRequest, "Unable to update helpdesk.")); } } catch (NotFoundException ex) { response.Status = HttpStatusCode.NotFound; response.StatusMessages.Add(new StatusMessage(HttpStatusCode.NotFound, "Unable to update to find helpdesk")); s_logger.Error(ex, "Unable to find helpdesk."); } catch (Exception ex) { response.Status = HttpStatusCode.InternalServerError; response.StatusMessages.Add(new StatusMessage(HttpStatusCode.InternalServerError, "Unable to update helpdesk")); s_logger.Error(ex, "Unable to update helpdesk."); } return(response); }
public IActionResult AddHelpdesk([FromRoute] int id, [FromBody] UpdateHelpdeskRequest request) { if (!IsAuthorized()) { return(Unauthorized()); } if (request == null) { return(BadRequest()); } try { var facade = new HelpdeskFacade(); var response = facade.UpdateHelpdesk(id, request); switch (response.Status) { case HttpStatusCode.OK: return(Ok(response)); case HttpStatusCode.BadRequest: return(BadRequest(BuildBadRequestMessage(response))); case HttpStatusCode.InternalServerError: return(StatusCode(StatusCodes.Status500InternalServerError)); case HttpStatusCode.NotFound: return(NotFound()); } s_logger.Fatal("This code should be unreachable, unknown result has occured."); } catch (Exception ex) { s_logger.Error(ex, "Unable to update helpdesk."); } return(StatusCode(StatusCodes.Status500InternalServerError)); }
/// <summary> /// This method is used to update the relevent helpdesk /// </summary> /// <param name="id">The id of the helpdesk to be updated</param> /// <param name="request">The information to update the helpdesk</param> /// <returns>Result the indicates whether or not the update was successful</returns> public bool UpdateHelpdesk(int id, UpdateHelpdeskRequest request) { bool result = false; using (helpdesksystemContext context = new helpdesksystemContext()) { Helpdesksettings helpdesk = context.Helpdesksettings.FirstOrDefault(p => p.HelpdeskId == id); if (helpdesk == null) { throw new NotFoundException($"Helpdesk with id [{id}] not found."); } helpdesk.Name = request.Name; helpdesk.HasCheckIn = request.HasCheckIn; helpdesk.HasQueue = request.HasQueue; context.SaveChanges(); result = true; } return(result); }