public async Task <ActionResult <bool> > Delete(long id)
        {
            //Check if gear item exists
            GearItemViewModel gearItemToDelete = await this._supervisor.GetGearItemByIdAsync(id);

            if (gearItemToDelete == null)
            {
                return(BadRequest(Errors.AddErrorToModelState(ErrorCodes.GearItemNotFound, ErrorDescriptions.GearItemDeleteFailure, ModelState)));
            }

            if (gearItemToDelete.Images.Count() > 0)
            {
                DelResResult deletedFromCloudinary = await this._cloudinary.DeleteResources(gearItemToDelete);

                if (deletedFromCloudinary.StatusCode != HttpStatusCode.OK)
                {
                    return(BadRequest(Errors.AddErrorToModelState(ErrorCodes.CloudinaryDelete, ErrorDescriptions.CloudinaryImageDeleteFailure, ModelState)));
                }
            }

            if (!await _supervisor.DeleteGearItemAsync(id))
            {
                return(BadRequest(Errors.AddErrorToModelState(ErrorCodes.GearItemDelete, ErrorDescriptions.GearItemDeleteFailure, ModelState)));
            }

            return(new OkObjectResult(true));
        }