public async Task <IActionResult> Put(int id, [FromBody] SquadPutRp resource) { if (!this.ModelState.IsValid) { return(this.BadRequest(this.ModelState)); } var response = await this._squadComponent.UpdateSquad(id, resource); if (response.HasNotFounds()) { return(this.NotFound(response.GetNotFounds())); } if (response.HasConflicts()) { return(this.Conflict(response.GetConflicts())); } return(this.Ok()); }
/// <summary> /// Update Squad /// </summary> /// <param name="model">Squad Model</param> /// <returns></returns> public async Task <BaseComponentResultRp> UpdateSquad(int id, SquadPutRp model) { var result = new BaseComponentResultRp(); var createdBy = this._identityGateway.GetIdentity(); this._dbContext.ChangeTracker.AutoDetectChangesEnabled = true; var squad = await this._dbContext.Squads.Include(c => c.Customer).SingleAsync(c => c.Id == id); if (squad == null) { result.AddNotFound($"The Resource {id} doesn't exists."); return(result); } squad.Update(this._datetimeGateway.GetCurrentDateTime(), createdBy, model.Name, model.Description, model.Avatar, model.Leaders); this._dbContext.Update(squad); await this._dbContext.SaveChangesAsync(); return(result); }