/// <summary> /// Метод обработки запроса на добавление фирмы. /// </summary> /// <param name="newFirm">Объект новой фирмы (из тела запроса).</param> /// <remarks>Пример запроса: POST api/v1/firms /// (в теле запроса - JSON-объект фирмы).</remarks> public void Post([FromBody] JsonFirm newFirm) { this.AuthorizeGlobalAdmin( "Только глобальный администратор может добавлять фирмы."); this.firmsRepo.Add(newFirm); this.firmsRepo.SaveChanges(); }
/// <summary> /// Метод обработки запроса на обновление фирмы. /// </summary> /// <param name="id">Id обновляемой фирмы.</param> /// <param name="updatedFirm">Объект обновляемой фирмы /// (из тела запроса).</param> /// <remarks>Пример запроса: PUT api/v1/firms/5 /// (в теле запроса - JSON-объект фирмы).</remarks> public void Put(int id, [FromBody] JsonFirm updatedFirm) { IFirm existingFirm = this.firmsRepo.Find(updatedFirm.FirmId); if (updatedFirm.Name != existingFirm.Name) { this.AuthorizeGlobalAdmin( "Только глобальный администратор может изменять название фирмы."); } else { if (!this.AuthorizationMechanism.CanUserEditFirm( this.CurrentUserInfo, existingFirm)) { this.ThrowUnauthorizedResponseException( "Данный пользователь не может изменять данные этой фирмы."); } } this.firmsRepo.Update(updatedFirm); this.firmsRepo.SaveChanges(); }