public async Task<IHttpActionResult> Put(int roomId, [FromBody] dtoCM.Room dtoItem) { try { if (!base.OnActionExecuting(out HttpStatusCode httpStatusCode, out string message)) { return Content(httpStatusCode, message); } if (dtoItem == null) { return BadRequest(); } dtoItem.RoomId = roomId; var updatedDBItem = _factory.Create(dtoItem); // map RunCustomLogicBeforeUpdatePut(ref updatedDBItem, roomId); var result = await Repo.UpdateAsync(updatedDBItem); RunCustomLogicAfterUpdatePut(ref updatedDBItem, ref result); if (result.Status == cghEnums.RepositoryActionStatus.Updated) { // map to dto var updatedDTOItem = _factory.Create(result.Entity); return Ok(updatedDTOItem); } else if (result.Status == cghEnums.RepositoryActionStatus.NotFound) { return NotFound(); } Warn("Unable to update object via Web API", LogMessageType.Instance.Warn_WebApi, result.Exception, httpResponseStatusCode: 400, url: Request.RequestUri.ToString()); return BadRequest(); } catch (Exception ex) { Error(message: ex.Message, logMessageType: LogMessageType.Instance.Exception_WebApi, ex: ex); if (System.Diagnostics.Debugger.IsAttached) System.Diagnostics.Debugger.Break(); return InternalServerError(); } }
public async Task<IHttpActionResult> Post([FromBody] dtoCM.Room dtoItem) { try { if (!base.OnActionExecuting(out HttpStatusCode httpStatusCode, out string message)) { return Content(httpStatusCode, message); } if (dtoItem == null) { return BadRequest(); } // try mapping & saving var newDBItem = _factory.Create(dtoItem); var result = await Repo.InsertAsync(newDBItem); RunCustomLogicAfterInsert(ref newDBItem, ref result); if (result.Status == cghEnums.RepositoryActionStatus.Created) { // map to dto var newDTOItem = _factory.Create(result.Entity); var uriFormatted = Request.RequestUri.ToString().EndsWith("/") == true ? Request.RequestUri.ToString().Substring(0, Request.RequestUri.ToString().Length - 1) : Request.RequestUri.ToString(); return Created($"{uriFormatted}/{newDTOItem.RoomId}", newDTOItem); } Warn("Unable to create object via Web API", LogMessageType.Instance.Warn_WebApi, result.Exception, httpResponseStatusCode: 400, url: Request.RequestUri.ToString()); return BadRequest(); } catch (Exception ex) { Error(message: ex.Message, logMessageType: LogMessageType.Instance.Exception_WebApi, ex: ex); if (System.Diagnostics.Debugger.IsAttached) System.Diagnostics.Debugger.Break(); return InternalServerError(); } }
public Room(ILoggingService log, IDataService <IWebApiDataServiceCM> dataService, xDTO.Room dto) : this(log, dataService) { _dto = dto; }
public Room(ILoggingService log, IDataService <IWebApiDataServiceCM> dataService) : base(log, dataService) { _dto = new xDTO.Room(); OnLazyLoadRequest += HandleLazyLoadRequest; }