/// <summary> /// Create a warehouse. /// </summary> /// <param name="model">Data of warehouse to be created with.</param> /// <returns>Returns created warehouse or an appropriate error message.</returns> public WarehouseDTO Create(NewWarehouseDTO model) { var warehouse = new Warehouse(); var address = this.addressService.Get(model.AddressId); warehouse.AddressId = model.AddressId; warehouse.Address = address.Address; warehouse.CreatedOn = DateTime.UtcNow; this.dbContext.Warehouses.Add(warehouse); this.dbContext.SaveChanges(); return(new WarehouseDTO(warehouse)); }
public IActionResult Create([FromHeader] string authorizationUsername, [FromBody] NewWarehouseDTO model) { try { this.authHelper.TryGetEmployee(authorizationUsername); var warehouse = this.warehouseService.Create(model); return(Created("post", warehouse)); } catch (Exception e) { return(BadRequest(e.Message)); } }
/// <summary> /// Update a certain warehouse by ID. /// </summary> /// <param name="id">ID of warehouse to search for.</param> /// <param name="model"></param> /// <returns>Returns updated warehouse or an appropriate error message.</returns> public WarehouseDTO Update(int id, NewWarehouseDTO model) { var warehouse = FindWarehouse(id); var address = this.addressService.Get(model.AddressId); var warehouseWIthId = this.dbContext.Warehouses.Include(w => w.Address).FirstOrDefault(w => w.AddressId == model.AddressId); if (warehouseWIthId != null) { throw new ArgumentException(Exceptions.TakenAddress); } warehouse.AddressId = model.AddressId; warehouse.ModifiedOn = DateTime.UtcNow; this.dbContext.SaveChanges(); return(new WarehouseDTO(warehouse)); }
public IActionResult Update([FromHeader] string authorizationUsername, int id, [FromBody] NewWarehouseDTO model) { try { this.authHelper.TryGetEmployee(authorizationUsername); var warehouse = this.warehouseService.Update(id, model); return(Ok(warehouse)); } catch (Exception e) { return(NotFound(e.Message)); } }