Exemplo n.º 1
0
        public ActionResult Create(CreatePetModel model)
        {
            if (this.ModelState.IsValid)
            {
                var ownerId = this.User.Identity.GetUserId();

                var pet = new Pet
                {
                    Name            = model.Name,
                    Age             = model.Age,
                    AnimalType      = model.AnimalType,
                    Breed           = model.Breed,
                    Price           = model.Price,
                    ImageUrl        = model.ImageUrl,
                    Color           = model.Color,
                    Size            = model.Size,
                    Coat            = model.Coat,
                    Characteristics = model.Characteristics,
                    OwnerId         = ownerId
                };

                var db = new PetShopDbContext();
                db.Pets.Add(pet);
                db.SaveChanges();

                return(RedirectToAction("Details", new { id = pet.Id }));
            }
            return(View(model));
        }
        public IActionResult PostPet([FromForm, FromBody] CreatePetModel model)
        {
            if (model == null || string.IsNullOrWhiteSpace(model.PetName))
            {
                return(BadRequest());
            }

            var u = login.GetUserFromContext(HttpContext.User);

            if (u == null)
            {
                return(BadRequest());
            }

            // make a new pet
            try
            {
                var pet = new Pet(model.PetName, u.UserId)
                {
                    PetImageId = model.PetImageId
                };
                PetEasterEggs.CheckIfSpecialName(pet, u.Username);
                try
                {
                    pet = petService.InsertPet(pet);
                    if (pet == null)
                    {
                        return(BadRequest());
                    }
                    return(Redirect($"/pet/{pet.PetId}"));
                }
                catch (SqlException)
                {
                    return(BadRequest());
                }
            }
            catch (ArgumentException e)
            {
                return(BadRequest(e.Message));
            }
        }