Exemple #1
0
        public async Task <ActionResult> DeleteEstablishment([FromRoute(Name = "EstablishmentId")] Guid establishmentId)
        {
            var establishmentToDelete = await _establishmentService.GetById(establishmentId);

            if (establishmentToDelete == null)
            {
                return(NotFound());
            }

            var currentUserId = Guid.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value);

            try
            {
                await _establishmentService.Delete(establishmentToDelete, currentUserId);

                return(NoContent());
            }
            catch (UserIdMismatchException ex)
            {
                return(new JsonResult(new { ex.Message })
                {
                    StatusCode = StatusCodes.Status403Forbidden
                });
            }
            catch (EstablishmentServiceException ex)
            {
                return(new JsonResult(new { ex.Message })
                {
                    StatusCode = StatusCodes.Status500InternalServerError
                });
            }
        }