Beispiel #1
0
        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));
        }
Beispiel #2
0
        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());
        }