public async Task <ActionResult <int> > PostEquipment([FromForm] EquipmentPostDTO equipment) { string userId = User.Claims.FirstOrDefault(c => c.Type == ClaimTypes.NameIdentifier).Value; if (!context.Categories.Any(c => c.Name == equipment.Category)) { return(BadRequest("You must define the category!")); } if (!(equipment.Image.Length > 0 && equipment.Image.ContentType.Contains("image"))) { return(BadRequest("Uploaded file is not image.")); } var equipmentModel = new Equipment(); equipmentModel.Name = equipment.Name; equipmentModel.Details = equipment.Details; equipmentModel.ImagePath = await GenerateFilePath(equipment.Image); equipmentModel.PricePerDay = equipment.PricePerDay; equipmentModel.Available = true; equipmentModel.OwnerID = userId; equipmentModel.Deleted = false; equipmentModel.CategoryID = (await context.Categories.FirstAsync(c => c.Name == equipment.Category)).ID; context.Equipments.Add(equipmentModel); await context.SaveChangesAsync(); return(CreatedAtAction("equipmentId", equipmentModel.ID)); }
public async Task <IActionResult> PutEquipment(int id, [FromForm] EquipmentPostDTO equipment) { string userId = User.Claims.FirstOrDefault(c => c.Type == ClaimTypes.NameIdentifier).Value; if (!context.Categories.Any(c => c.Name == equipment.Category)) { return(BadRequest("You must define the category!")); } var equipmentModel = await(from e in context.Equipments where e.ID == id && userId == e.OwnerID select e).SingleOrDefaultAsync(); if (equipmentModel == null) { return(NotFound("Could not find equipment with the given id\nor you do not own the equipment.")); } equipmentModel.Name = equipment.Name; equipmentModel.Details = equipment.Details; if (equipment.Image != null) { equipmentModel.ImagePath = GenerateFilePath(equipment.Image).Result; } equipmentModel.PricePerDay = equipment.PricePerDay; equipmentModel.CategoryID = (await context.Categories.FirstAsync(c => c.Name == equipment.Category)).ID; await context.SaveChangesAsync(); return(NoContent()); }