Exemple #1
0
        public async Task <IActionResult> Create(PetViewModel model)
        {
            if (ModelState.IsValid)
            {
                var path = string.Empty;

                if (model.ImageFile != null && model.ImageFile.Length > 0)
                {
                    path = await _imageHelper.UploadImageAsync(model.ImageFile, "Pets");
                }
                try
                {
                    model.Owner = await _ownerRepository.GetOwnerWithUserByIdAsync(model.OwnerId);


                    model.Specie = await _specieRepository.GetSpecieByIdAsync(model.SpecieId);

                    var pet = _converterHelper.ToPet(model, path, true);
                    pet.CreatedBy = await _userHelper.GetUserByEmailAsync(User.Identity.Name);

                    await _petRepository.CreateAsync(pet);

                    return(RedirectToAction($"{nameof(MyPets)}"));
                }
                catch (Exception exception)
                {
                    ModelState.AddModelError(string.Empty, exception.Message);
                }
            }
            return(View(model));
        }
        public async Task <IActionResult> AddPet(PetViewModel model)
        {
            if (ModelState.IsValid)
            {
                string path = string.Empty;

                // Verify image
                if (model.ImageFile != null)
                {
                    path = await _imageHelper.UploadImageAsync(model.ImageFile, "Pets");
                }

                var pet = _converterHelper.ToPet(model, path, true);
                if (ModelState.IsValid)
                {
                    await _petRepository.CreateAsync(pet);

                    return(RedirectToAction("Details", null, new { @id = model.CustomerId }));
                }
            }
            model.PetTypes = _combosHelper.GetComboPetTypes();
            return(View(model));
        }
Exemple #3
0
        public async Task <Pet> CreateAsync(Pet pet)
        {
            try
            {
                // Ensure Pet exists to be linked with...
                var existingUser = await userRepository.GetAsync(pet.UserId);

                if (existingUser == null)
                {
                    return(null);
                }

                await petRepository.CreateAsync(pet);

                await unitOfWork.CompleteAsync();

                return(pet);
            }
            catch (Exception)
            {
                // TODO: Better error handling!
                return(null);
            }
        }
Exemple #4
0
 public async Task <bool> CreatePetAsync(PetModel petModel)
 {
     return(await _petRepository.CreateAsync(petModel));
 }