public async Task<IHttpActionResult> CreateNsnCatalogItem(NsnCatalogItemDTO item) { // TODO: post a picture if (!ModelState.IsValid) { return BadRequest(ModelState); } var result = await _service.AddNsnCatalogItem(item); return CreatedAtRoute("api/NsnCatalog", new { id = result.Id }, result); }
public async Task<NsnCatalogItemDTO> AddNsnCatalogItem(NsnCatalogItemDTO dto) { var model = ConvertNsnCatalogItemDTOtoModel(dto); model.AddedOn = DateTime.Now; db.NsnCatalog.Add(model); await db.SaveChangesAsync(); dto.AddedOn = model.AddedOn; dto.Id = model.Id; return dto; }
public async Task<IHttpActionResult> UpdateNsnCatalogItem(int id, NsnCatalogItemDTO item) { if (!ModelState.IsValid) return BadRequest(ModelState); if (id != item.Id) return BadRequest(); try { await _service.UpdateNsnCatalogItem(item); } catch (KeyNotFoundException) { return NotFound(); } catch (System.Data.Entity.Infrastructure.DbUpdateConcurrencyException) { return InternalServerError(); } return Ok(); }
/// <summary> /// /// </summary> /// <param name="dto"></param> /// <returns></returns> /// <exception cref="ArgumentException"></exception> /// <exception cref="KeyNotFoundException"></exception> /// <exception cref="System.Data.Entity.Infrastructure.DbUpdateConcurrencyException"></exception> public async Task<NsnCatalogItemDTO> UpdateNsnCatalogItem(NsnCatalogItemDTO dto) { if (dto.Id <= 0) throw new ArgumentException(); var model = await db.NsnCatalog.FindAsync(dto.Id); if (model == null) throw new KeyNotFoundException(); dto.LastUpdated = DateTime.Now; // TODO: implement update logic try { await db.SaveChangesAsync(); } catch (System.Data.Entity.Infrastructure.DbUpdateConcurrencyException) { throw; } return dto; }
private NsnCatalogItem ConvertNsnCatalogItemDTOtoModel(NsnCatalogItemDTO dto) { var model = new NsnCatalogItem { Name = dto.Name, Desc = dto.Description, NatoStockNumber = dto.NatoStockNumber, UnitIssueId = dto.UnitIssueId, ItemClassId = dto.ItemClassId, AddedOn = dto.AddedOn, LastUpdated = dto.LastUpdated, }; return model; }
private NsnCatalogItemDTO ConvertNsnCatalogItemModelToDto(NsnCatalogItem model) { NsnCatalogItemDTO dto = new NsnCatalogItemDTO { Id = model.Id, Name = model.Name, NatoStockNumber = model.NatoStockNumber, LastUpdated = model.LastUpdated, AddedOn = model.AddedOn, Description = model.Desc, PictureUri = CreatePictureUri(model.ImageSrc) }; if (model.UnitIssue != null) { dto.UnitIssueId = model.UnitIssue.Id; dto.UnitIssueTag = model.UnitIssue.Tag; dto.UnitIssue = model.UnitIssue.Name; } if (model.ItemClass != null) { dto.ItemClassId = model.ItemClass.Id; dto.ItemClass = model.ItemClass.Class; } return dto; }