コード例 #1
0
        public ActionResult Save(Character character)
        {
            if (!ModelState.IsValid)
            {
                var viewModel = new CharacterFormViewModel(character)
                {
                    Classes = _context.Classes.ToList(),
                    Races   = _context.Races.ToList()
                };

                return(View("CharacterForm", viewModel));
            }

            if (character.Id == 0)
            {
                character.DateCreated = DateTime.Now;
                character.isAvailable = 1;
                _context.Characters.Add(character);
            }
            else
            {
                var characterInDb = _context.Characters.Single(m => m.Id == character.Id);
                characterInDb.Name        = character.Name;
                characterInDb.ClassId     = character.ClassId;
                characterInDb.ReleaseDate = character.ReleaseDate;
                characterInDb.RaceId      = character.RaceId;
                characterInDb.Gender      = character.Gender;
            }

            _context.SaveChanges();

            return(RedirectToAction("Index", "Characters"));
        }
コード例 #2
0
        public ActionResult New()
        {
            var characterRosters = _context.CharacterRosters.ToList();

            var viewModel = new CharacterFormViewModel
            {
                Character       = new Character(),
                CharacterRoster = characterRosters
            };

            return(View("CharacterForm", viewModel));
        }
コード例 #3
0
        public ViewResult New()
        {
            var classes = _context.Classes.ToList();
            var races   = _context.Races.ToList();

            var viewModel = new CharacterFormViewModel
            {
                Classes = classes,
                Races   = races
            };

            return(View("CharacterForm", viewModel));
        }
コード例 #4
0
        public ActionResult New()
        {
            var AlignmentTypes = _context.Alignments.ToList();
            var character      = new Character();
            var ViewModel      = new CharacterFormViewModel
            {
                Character = character,
                Alignment = AlignmentTypes
            };

            // will need a form that contains Book details as well as the genre info so need a new viewmodel

            return(View(ViewModel));
        }
コード例 #5
0
        public ActionResult Edit(int id)
        {
            var character = _context.Characters.SingleOrDefault(c => c.Id == id);

            if (character == null)
            {
                return(HttpNotFound());
            }

            var viewModel = new CharacterFormViewModel(character)
            {
                Classes = _context.Classes.ToList(),
                Races   = _context.Races.ToList()
            };

            return(View("CharacterForm", viewModel));
        }
コード例 #6
0
        public ActionResult Edit(int id)
        {
            var character = _context.Characters.SingleOrDefault(b => b.Id == id);

            if (character == null)
            {
                return(HttpNotFound());
            }

            var viewModel = new CharacterFormViewModel
            {
                Character = character,
                Alignment = _context.Alignments.ToList()
            };

            return(View("New", viewModel));
        }
コード例 #7
0
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Character character = _context.Characters.Find(id);

            if (character == null)
            {
                return(HttpNotFound());
            }

            var viewModel = new CharacterFormViewModel
            {
                Character = character,
                Alignment = _context.Alignments.ToList()
            };

            return(View("Delete", viewModel));
        }
コード例 #8
0
        public ActionResult Save(CharacterFormViewModel viewModel, string fileName, string extension)
        {
            viewModel.Character.Alignment = _context.Alignments.First(g => g.Id == viewModel.Character.AlignmentId);
            if (!ModelState.IsValid)
            {
                viewModel = new CharacterFormViewModel
                {
                    Character = viewModel.Character,

                    Alignment = _context.Alignments.ToList() // taken from db
                };

                return(View("New", viewModel));
            }

            if (viewModel.Character.Id == 0)
            {
                fileName = Path.GetFileName(viewModel.ImageFile.FileName);
                viewModel.Character.profilePic = fileName;
                fileName = Path.Combine(Server.MapPath("~/Content/Profile/"), fileName);
                viewModel.ImageFile.SaveAs(fileName);

                _context.Characters.Add(viewModel.Character);
            }
            else
            {
                var CharacterInDb = _context.Characters.Single(c => c.Id == viewModel.Character.Id);
                CharacterInDb.Name        = viewModel.Character.Name;
                CharacterInDb.Powers      = viewModel.Character.Powers;
                CharacterInDb.Occupation  = viewModel.Character.Occupation;
                CharacterInDb.Location    = viewModel.Character.Location;
                CharacterInDb.AlignmentId = viewModel.Character.AlignmentId;
                // CharacterInDb.picString = viewModel.Character.picString;
            }

            _context.SaveChanges();

            return(RedirectToAction("Index", "Characters"));
        }
コード例 #9
0
        public ActionResult Save(Character character, HttpPostedFileBase photo)
        {
            if (!ModelState.IsValid)
            {
                var viewModel = new CharacterFormViewModel
                {
                    Character = character
                };
                return(View("CharacterForm", viewModel));
            }

            var characterInDb = _context.Characters.SingleOrDefault(c => c.Id == character.Id) ??
                                _context.Characters.Add(character);

            var characterInDbName = _context.Characters.FirstOrDefault(c => c.Name == character.Name);

            if (characterInDbName != null && characterInDbName.CharacterRosterId == character.CharacterRosterId)
            {
                return(RedirectToAction("New"));
            }

            characterInDb.Name = character.Name;

            var uploadHelper = new UploadHelper(Server);

            if (photo != null)
            {
                var filePath = uploadHelper.Upload(photo, nameof(Character));

                if (!string.IsNullOrEmpty(filePath))
                {
                    characterInDb.ImagePath = filePath;
                }
            }
            _context.SaveChanges();
            return(RedirectToAction("Index", "CharactersAdmin"));
        }
コード例 #10
0
 public ActionResult Create(CharacterFormViewModel ViewModel)
 {
     _context.Characters.Add(ViewModel.Character);
     _context.SaveChanges();
     return(RedirectToAction("Index", "Characters"));
 }