public async Task<IHttpActionResult> EditSpecialized([FromUri] int id, [FromBody] EditSpecializedViewModel info) { #region Parameter validation if (info == null) { info = new EditSpecializedViewModel(); Validate(info); } if (!ModelState.IsValid) return BadRequest(ModelState); #endregion #region Find specialized var specializeds = UnitOfWork.RepositorySpecialized.Search(); var specialized = await specializeds.Where(x => x.Id == id).FirstOrDefaultAsync(); if (specialized == null) { return ResponseMessage( Request.CreateErrorResponse(HttpStatusCode.NotFound, HttpMessages.SpecializedNotFound)); } #endregion #region Update specialized information // Check whether information has been updated or not. var bHasInformationChanged = false; // Name is specified. if (info.Name != null && info.Name != specialized.Name) { specialized.Name = info.Name; bHasInformationChanged = true; } // Status is defined. if (info.Status != null && info.Status != specialized.Status) { specialized.Status = info.Status.Value; bHasInformationChanged = true; } // Information has been changed. Update the date time. if (bHasInformationChanged) { // Save information into database. await UnitOfWork.CommitAsync(); } #endregion return Ok(specialized); }
/// <summary> /// Edit specialized /// </summary> /// <param name="id"></param> /// <param name="model"></param> /// <param name="cancellationToken"></param> /// <returns></returns> public virtual async Task <Specialized> EditSpecializedAsync(int id, EditSpecializedViewModel model, CancellationToken cancellationToken = default(CancellationToken)) { // Get all specialized var specializeds = _unitOfWork.RepositorySpecialized.Search(); var specialized = await specializeds.Where(x => x.Id == id).FirstOrDefaultAsync(cancellationToken); // Check item exist or not if (specialized == null) { throw new ApiException(HttpMessages.SpecializedNotFound, HttpStatusCode.NotFound); } #endregion #region Update specialized information // Check whether information has been updated or not. var bHasInformationChanged = false; // Name is specified. if (model.Name != null && model.Name != specialized.Name) { specialized.Name = model.Name; bHasInformationChanged = true; } // Status is defined. if (model.Status != null && model.Status != specialized.Status) { specialized.Status = model.Status.Value; bHasInformationChanged = true; } // Information has been changed. Update the date time. if (bHasInformationChanged) { // Save information into database. await _unitOfWork.CommitAsync(); } return(specialized); }
public async Task <IHttpActionResult> EditSpecialized([FromUri] int id, [FromBody] EditSpecializedViewModel info) { #region Parameter validation if (info == null) { info = new EditSpecializedViewModel(); Validate(info); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } #endregion #region Update specialized var specialized = await _specializedBusiness.EditSpecializedAsync(id, info); #endregion return(Ok(specialized)); }