Beispiel #1
0
        public IActionResult Edit(int catId)
        {
            var userId = _userManager.GetUserId(User);

            var cat = _context.Cats
                      .Include(c => c.Image)
                      .SingleOrDefault(c => c.Id == catId && c.OwnerId == userId);

            if (cat == null || cat.IsDeleted)
            {
                return(NotFound());
            }

            var breeds    = _context.Breeds.ToList().OrderBy(b => b.Name);
            var viewModel = new CatFormViewModel
            {
                Breeds        = new SelectList(breeds, "Id", "Name"),
                Heading       = "Edit a Cat",
                BirthDateText = cat.BirthDate.ToString("dd/MM/yyyy"),
                DeathDateText = (cat.DeathDate == null) ? "" : ((DateTime)cat.DeathDate).ToString("dd/MM/yyyy"),
                BreedId       = (byte)cat.BreedId,
                IsDeceased    = cat.IsDeceased,
                Name          = cat.Name,
                Weight        = cat.Weight,
                // Image = TODO
            };

            return(View("CatForm", viewModel));  // TODO - need to send to an edit version of the form, instead of create
        }
Beispiel #2
0
        public IActionResult Create()
        {
            var breeds    = _context.Breeds.ToList().OrderBy(b => b.Name);
            var viewModel = new CatFormViewModel
            {
                Breeds  = new SelectList(breeds, "Id", "Name"),
                Heading = "Add a Cat"
            };

            return(View("CatForm", viewModel));
        }
Beispiel #3
0
        public IActionResult Create(CatFormViewModel viewModel)
        {
            if (!ModelState.IsValid)
            {
                var breeds = _context.Breeds.ToList().OrderBy(b => b.Name);
                viewModel.Breeds = new SelectList(breeds, "Id", "Name");
                return(View("CatForm", viewModel));
            }

            var cat = new Cat
            {
                BirthDate  = viewModel.GetBirthDate(),
                DeathDate  = viewModel.GetDeathDate(),
                BreedId    = (int)viewModel.BreedId,
                Name       = char.ToUpper(viewModel.Name[0]) + viewModel.Name.Substring(1),
                OwnerId    = _userManager.GetUserId(User),
                Weight     = (double)viewModel.Weight,
                IsDeceased = viewModel.IsDeceased
            };

            IFormFile uploadedImage = viewModel.Image;

            if (uploadedImage != null && uploadedImage.ContentType.ToLower().StartsWith("image/"))
            {
                MemoryStream ms = new MemoryStream();
                uploadedImage.OpenReadStream().CopyTo(ms);

                System.Drawing.Image image = System.Drawing.Image.FromStream(ms);

                var imageEntity = new Image
                {
                    Cat         = cat,
                    ContentType = uploadedImage.ContentType,
                    Data        = ms.ToArray(),
                    Width       = image.Width,
                    Height      = image.Height
                };

                _context.Images.Add(imageEntity);
            }

            _context.Cats.Add(cat);
            _context.SaveChanges();

            return(RedirectToAction("Index", "Home"));
        }