/// <summary> /// <inheritdoc /> /// </summary> /// <param name="id"></param> /// <param name="model"></param> /// <param name="cancellationToken"></param> /// <returns></returns> public async Task <Responsibility> EditResponsibilityAsync(int id, EditResponsibilityViewModel model, CancellationToken cancellationToken = default(CancellationToken)) { // Find Responsibility from database var responsibilities = _unitOfWork.Responsibilities.Search(); var responsibility = await responsibilities.FirstOrDefaultAsync(x => x.Id == id, cancellationToken); if (responsibility == null) { throw new HttpException((int)HttpStatusCode.NotFound, HttpMessages.ResponsibilityNotFound); } if (!string.IsNullOrWhiteSpace(model.Name)) { // Check name for duplication. var name = model.Name.Trim(); if (await responsibilities.AnyAsync(x => x.Name.Equals(name, StringComparison.InvariantCultureIgnoreCase), cancellationToken)) { throw new HttpException((int)HttpStatusCode.Conflict, HttpMessages.ResponsibilityAlreadyAvailable); } responsibility.Name = model.Name; } responsibility.LastModifiedTime = DateTime.Now.ToOADate(); //Save changes to database await _unitOfWork.CommitAsync(); return(responsibility); }
public async Task <IHttpActionResult> Update([FromUri] int id, [FromBody] EditResponsibilityViewModel model) { if (model == null) { model = new EditResponsibilityViewModel(); Validate(model); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } //find Responsibility from database var responsibilities = _unitOfWork.Responsibilities.Search(); var responsibility = await responsibilities.FirstOrDefaultAsync(x => x.Id == id); if (responsibility == null) { return(ResponseMessage(Request.CreateErrorResponse(HttpStatusCode.NotFound, HttpMessages.ResponsibilityNotFound))); } if (!string.IsNullOrEmpty(model.Name)) { responsibility.Name = model.Name; } responsibility.LastModifiedTime = DateTime.Now.ToOADate(); //Save changes to database await _unitOfWork.CommitAsync(); return(Ok(responsibility)); }
public async Task <IHttpActionResult> Update([FromUri] int id, [FromBody] EditResponsibilityViewModel model) { if (model == null) { model = new EditResponsibilityViewModel(); Validate(model); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var responsibility = await _responsibilityService.EditResponsibilityAsync(id, model); return(Ok(responsibility)); }
public async Task <Responsibility> EditResponsibilityAsync(EditResponsibilityViewModel model, CancellationToken cancellationToken = default(CancellationToken)) { //find Responsibility from database var responsibility = await _dbContext.Responsibilities.FindAsync(model.Id, cancellationToken); if (responsibility == null) { throw new Exception(); } if (!string.IsNullOrEmpty(model.Name)) { responsibility.Name = model.Name; } responsibility.LastModifiedTime = DateTime.Now.ToOADate(); //Save changes to database await _dbContext.SaveChangesAsync(cancellationToken); return(responsibility); }