示例#1
0
        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());
        }
示例#2
0
        /// <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);
        }