Exemplo n.º 1
0
        public async Task <ActionResult> Post([FromForm] CatCreateViewModel value)
        {
            if (!ModelState.IsValid)
            {
                return(new UnprocessableEntityObjectResult(ModelState));
            }

            if (value.File != null)
            {
                IFormFile file = value.File;

                List <string> imgErrors      = new List <string>();
                var           supportedTypes = new[] { "png", "jpg", "jpeg", "gif" };
                var           fileExt        = Path.GetExtension(file.FileName).Substring(1);
                if (file.Length == 0)
                {
                    imgErrors.Add("File is empty!");
                }

                if (Array.IndexOf(supportedTypes, fileExt) < 0)
                {
                    imgErrors.Add("File Extension Is InValid - Only Upload image File");
                }

                if (imgErrors.Count > 0)
                {
                    return(BadRequest(new { Image = imgErrors }));
                }

                string fileName = $"{Guid.NewGuid()}.{fileExt}";
                var    filePath = Path.Combine(ApplicationSettings.FileStorage.PhysicalFilePath, fileName);

                _logger.LogDebug($"Save Image:{filePath}");
                _fileService.SaveFile(filePath, FormFileBytes(file));

                var catModel = new CatModel
                {
                    Name        = value.Name,
                    Description = value.Description,
                    Photo       = fileName,
                };

                var result = await _catService.CreateCat(catModel);

                catModel.Id = result;

                return(CreatedAtRoute("GetById", new { Id = result }, catModel));
            }
            else
            {
                List <string> imgErrors = new List <string> {
                    "File is empty!"
                };
                return(BadRequest(new { errors = new { Image = imgErrors } }));
            }
        }
        public IActionResult Create(CatCreateViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View());
            }

            var cat = new Cat
            {
                Name      = model.Name,
                Age       = model.Age,
                ImageUrl  = model.ImageUrl,
                BreedId   = int.Parse(model.BreedId),
                DateAdded = DateTime.UtcNow
            };

            this.db.Add(cat);
            this.db.SaveChanges();

            return(RedirectToAction(nameof(HomeController.Index), "Home"));
        }
Exemplo n.º 3
0
 public async Task <IActionResult> CreateAsync(CatCreateViewModel cat, int userId)
 {
     return(responseConverter.GetResponse(await catService.CreateAsync(new CatCreateServiceModel(cat.Name, userId), User.Claims)));
 }