public async Task <ActionResult> Create(NoticeViewModel form, CancellationToken cancellationToken)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(View(form));
                }

                var file = form.ImageFile.OpenReadStream();

                MemoryStream fileMemoryStream = null;

                if (MimetypesToConvert.Contains(form.ImageFile.ContentType))
                {
                    fileMemoryStream = file.ToWebpMemoryStream();
                }
                else
                {
                    fileMemoryStream = await file.ToMemoryStreamAsync()
                                       .ConfigureAwait(false);
                }

                var filename = $"Images/Notice/{Guid.NewGuid()}.webp";

                await _noticeRepository.FileUploadAsync(filename, fileMemoryStream, "image/webp", cancellationToken)
                .ConfigureAwait(false);

                await fileMemoryStream.DisposeAsync()
                .ConfigureAwait(false);

                form.Image = filename;

                await _noticeRepository.AddAsync(form, cancellationToken)
                .ConfigureAwait(false);

                return(RedirectToAction(nameof(Index)));
            }
            catch (Exception ex)
            {
                return(View());
            }
        }