public IActionResult Update(int id, [FromBody] KnownDesignation designation) { if (_designationProvider.Get(id) == null) { return(Json(BadRequest(new ErrorResponse("Designation id doesn't exist")))); } if (designation == null) { return(Json(BadRequest(new ErrorResponse("Invalid Request Format.")))); } if (designation.Name == null || designation.Name == "") { return(Json(BadRequest(new ErrorResponse("Designation name is required.")))); } if (_designationProvider.Exists(designation.Name)) { return(Json(BadRequest(new ErrorResponse(String.Format("Designation named {0} already exists.", designation.Name))))); } bool updateSuccessful = _designationProvider.Update(id, designation); if (updateSuccessful) { KnownDesignation knownDesignation = _designationProvider.Get(id); if (knownDesignation != null) { return(Json(new DesignationResponse(knownDesignation))); } } return(Json(BadRequest(new ErrorResponse("Designation update failed")))); }
public IActionResult Create([FromBody] KnownDesignation designation) { if (designation == null) { return(Json(BadRequest(new ErrorResponse("Invalid Request Format.")))); } if (designation.Name == null || designation.Name == "") { return(Json(BadRequest(new ErrorResponse("Designation name is required.")))); } return(Json(new DesignationIdResponse(_designationProvider.Create(designation)))); }
/// <summary> /// Update an existing designation /// </summary> /// <param name="designationId">The id of existing designation</param> /// <param name="designation">The new designation to update to</param> /// <returns>Success status</returns> public bool Update(int designationId, KnownDesignation designation) { using (var dbContext = new AllocationContext(_dbContextOptions)) { Model.Designation dbDesignation = dbContext.Designations.Find(designationId); if (dbDesignation == null) { return(false); } dbDesignation.Name = designation.Name; dbContext.SaveChanges(); return(true); } }
/// <summary> /// Create a new designation /// </summary> /// <param name="newDesignation">New designation to store in the database</param> /// <returns>The database identifier key of newly created designation</returns> public int Create(KnownDesignation newDesignation) { using (var dbContext = new AllocationContext(_dbContextOptions)) { Model.Designation designation = dbContext.Designations.SingleOrDefault( d => String.Equals(d.Name, newDesignation.Name, StringComparison.OrdinalIgnoreCase) ); if (designation == null) // No existing designation was found { designation = new Model.Designation() { Name = newDesignation.Name }; dbContext.Designations.Add(designation); dbContext.SaveChanges(); } return(designation.DesignationId); } }
/// <summary> /// Constructs a Message with the supplied designation /// </summary> /// <param name="designation">The supplied designation</param> public DesignationResponse(KnownDesignation designation) : base(ResponseStatus.Success) { Designation = designation; }