public async Task <HttpResponseMessage> PostAsync([FromBody] CharacterCreateViewModel newCharacter) { List <Character> charsKilled = new List <Character>(); Character characterToCreate = new Character(); if (newCharacter.charactersKilled != null) { newCharacter.charactersKilled.ToList().ForEach(c => { charsKilled.Add(_characterRepository.getCharacter(c)); }); } characterToCreate = Mapper.Map <CharacterCreateViewModel, Character>(newCharacter); if (newCharacter.avatar != "") { Bitmap bitImage = ImageHelper.bitmapFromBase64String(newCharacter.avatar); Models.Image.Builder img = new Models.Image.Builder(_imageRepository); img.setFormat(ImageHelper.getImageFormatFromBase64String(newCharacter.avatar)); img.setType(image_type.Character); await img.fromBitmapAsync(bitImage, _env); var image = img.build(); //characterToCreate.avatar = img.build(); characterToCreate.avatarId = image.id; _imageRepository.addImage(image); } characterToCreate.charactersKilled = charsKilled; _characterRepository.addCharacter(characterToCreate); return(new HttpResponseMessage(HttpStatusCode.Created)); }
// GET: Characters/Create public IActionResult Create() { CharacterCreateViewModel model = new CharacterCreateViewModel(_context); return(View(model)); }
private CharacterCreateViewModel PopulateLists(CharacterCreateViewModel model) { model.Races = work.RaceRepository.GetAll().Select(e => RaceModel.GenerateRaceModelFromDTO(e)).ToList(); model.Classes = work.ClassRepository.GetAll().Select(e => ClassModel.GenerateClassModelFromDTO(e)).ToList(); model.BaseStats = work.BaseStatRepository.GetAll().Select(e => BaseStatModel.GeneralBaseStatModelFromDTO(e)).ToList(); model.Skills = work.SkillRepository.GetAll().Select(e => SkillModel.GenerateSkillModelFromDTO(e)); return(model); }
public IActionResult Create(int partyId) { var model = new CharacterCreateViewModel() { PartyId = partyId, AvailableLevels = characterService.GetAvailableLevels(partyId) }; return(View(model)); }
public IActionResult Create() { var races = _allRaces.Races.ToList(); var characterViewModel = new CharacterCreateViewModel { CharClasses = _allClasses.CharClasses.ToList(), Races = races.ToList() }; ViewData["Title"] = "Новый персонаж"; return(View(characterViewModel)); }
public IActionResult Create(CharacterCreateViewModel model) { var character = model.Character; character.ExperiencePoints = characterService.CalculateExperienceBasedOnLevel(model.Character.Level); character.Gold = characterService.CalculateGoldBasedOnLevel(model.Character.Level); character.PartyId = (int)model.PartyId; character.NumberOfConsumablesAvailable = (int)Math.Round((decimal)(model.Character.Level / 2), 0, MidpointRounding.AwayFromZero); using (var gloomhavenTrackerContext = (GloomhavenTrackerContext)provider.GetService(typeof(GloomhavenTrackerContext))) { gloomhavenTrackerContext.Characters.Add(model.Character); gloomhavenTrackerContext.SaveChanges(); } return(RedirectToAction("Detail", "Character", new { id = model.Character.Id })); }
private string ProcessUploadedFile(CharacterCreateViewModel item) { string uniqueFileName = null; // if (item.Photo != null) // { // string uploadFolder = Path.Combine(_hostingEnv.WebRootPath, "images"); // uniqueFileName = Guid.NewGuid().ToString() + "_" + item.Photo.FileName; // string filePath = Path.Combine(uploadFolder, uniqueFileName); // // using (var fileStream = new FileStream(filePath, FileMode.Create)) // { // item.Photo.CopyTo(fileStream); // } // } return(uniqueFileName); }
public IActionResult Create(int?gameID) { var model = new CharacterCreateViewModel(); model.GameID = gameID; PopulateLists(model); model.CharacterModel = new CharacterModel() { BaseStats = model.BaseStats.Where(e => e.Default), Skills = model.Skills.Where(e => e.Default) }; foreach (var baseStat in model.CharacterModel.BaseStats) { baseStat.Value = 10; } return(View(model)); }
public IActionResult Create(CharacterCreateViewModel item) { // if (ModelState.IsValid) // { // string uniqueFileName = ProcessUploadedFile(item); // // Character character = new Character() // { // Name = item.Name, // Email = item.Email, // AccountType = item.AccountType, // ImagePath = uniqueFileName // }; // // _context.Add(character); // return RedirectToAction("Details", new { id = character.Id }); // } return(View()); }
public ActionResult Create(CharacterCreateViewModel model) { if (!ModelState.IsValid) { return(View(model)); } // get the current user's account var account = m_session.Accounts.GetByEmail(User.Identity.Name); if (account == null) { return(RedirectToAction("Logout", "Account")); } try { // insert the desired character details var character = m_session.Characters.Insert(new Character { Name = model.Name, Race = model.Race, Class = model.Class, Faction = model.Faction, Account = account }); // save the new character to the database if (m_session.SaveChanges()) { return(RedirectToAction("Index")); } } catch (DbEntityValidationException ex) { ControllerUtilities.MergeValidationErrors(ModelState, ex); } return(View(model)); }
public async Task <IActionResult> Create([FromBody] CharacterCreateViewModel model) { var user = await m_UserManager.FindByIdAsync(model.UserId); var response = new CharacterCreateResponseViewModel(); response.ErrorMessage = String.Empty; if (user == null) { response.ErrorMessage = "Invalid UserId"; return(Json(response)); } // Check name bool NameAlreadyTaken = m_Repository.GetAllCharacters().Any(item => item.Name == model.Name); if (NameAlreadyTaken) { response.ErrorMessage = "Name Already taken"; return(Json(response)); } Character character = new Character() { Name = model.Name, AccountSlot = model.AccountSlot, Gender = model.Gender, Race = model.Race, Class = model.Class, Realm = model.Realm, Account = user }; m_Repository.Add(character); return(Json(response)); }
public IActionResult Create(Character character) { if (ModelState.IsValid) { var userId = _allUsers.Users.FirstOrDefault(u => u.Email == User.Identity.Name)?.Id; if (userId != null) { character.UserId = userId.Value; } _character.CreateCharacter(character); return(RedirectToAction("Complete")); } var races = _allRaces.Races.ToList(); var characterViewModel = new CharacterCreateViewModel { Character = character, CharClasses = _allClasses.CharClasses.ToList(), Races = races }; return(View(characterViewModel)); }
public ActionResult Create() { var model = new CharacterCreateViewModel(); return(View(model)); }
public IActionResult Create(CharacterCreateViewModel model, string submit, string deletestat, string deleteskill) { //this is kind of an abomination (but it works) if (!string.IsNullOrWhiteSpace(deletestat)) { var baseStats = model.CharacterModel.BaseStats.ToList(); baseStats.Remove(baseStats[int.Parse(deletestat)]); model.CharacterModel.BaseStats = baseStats; model = PopulateLists(model); foreach (var modelValue in ModelState.Values) { modelValue.Errors.Clear(); } return(View(model)); } else if (!string.IsNullOrWhiteSpace(deleteskill)) { var skills = model.CharacterModel.Skills.ToList(); skills.Remove(skills[int.Parse(deleteskill)]); model.CharacterModel.Skills = skills; model = PopulateLists(model); foreach (var modelValue in ModelState.Values) { modelValue.Errors.Clear(); } return(View(model)); } else { switch (submit) { case "statadd": var baseStats = model.CharacterModel.BaseStats.ToList(); baseStats.Add(new BaseStatModel()); model.CharacterModel.BaseStats = baseStats; model = PopulateLists(model); foreach (var modelValue in ModelState.Values) { modelValue.Errors.Clear(); } return(View(model)); case "skilladd": var skills = model.CharacterModel.Skills.ToList(); skills.Add(new SkillModel()); model.CharacterModel.Skills = skills; model = PopulateLists(model); foreach (var modelValue in ModelState.Values) { modelValue.Errors.Clear(); } return(View(model)); case "submit": if (!ModelState.IsValid) { model = PopulateLists(model); return(View(model)); } work.TemplateCharacterRepository.Add(CharacterModel.GenerateCharacterDTOFromModel(model.CharacterModel)); work.Save(); if (model.GameID != null) { return(RedirectToAction("AddCharacter", "Game", new { id = model.GameID })); } return(RedirectToAction("Index")); default: model = PopulateLists(model); return(View(model)); } } }
public async Task <IActionResult> Create([Bind("CharacterId,CharacterName,Gender,Level,ApplicationUserId,AncestryId")] Character character) { if (ModelState.IsValid) { //get current user and set user property on character to user ApplicationUser user = await GetCurrentUserAsync(); character.ApplicationUserId = user.Id; //connection to veiw model CharacterCreateViewModel model = new CharacterCreateViewModel(_context); //make dropdown and assign to property on viewmodel model.AncestriesList = new SelectList(_context.Ancestry, "AncestryId", "AncestryId", character.AncestryId); //assign to property character on model model.Character = character; //if user selects non-human _context.Add(character); await _context.SaveChangesAsync(); //if User select Human if (model.Character.AncestryId == 1) { return(RedirectToAction("HumanAbilitiesForm", "HumanAbilities")); } else if (model.Character.AncestryId == 2) { var abt = (from ab in _context.AncestryBaseTraits join a in _context.Ancestry on ab.AncestryId equals a.AncestryId where ab.AncestryId == 2 select ab.BaseValue) .ToList(); CharTrait changelingTraitStrength = new CharTrait { CharacterId = model.Character.CharacterId, TraitId = 1, CharTraitValue = abt.ElementAt(0).ToString() }; //add to hold in db context _context.Add(changelingTraitStrength); CharTrait changelingTraitAgility = new CharTrait { CharacterId = model.Character.CharacterId, TraitId = 2, CharTraitValue = abt.ElementAt(1).ToString() }; //add to hold in db context _context.Add(changelingTraitAgility); CharTrait changelingTraitIntellect = new CharTrait { CharacterId = model.Character.CharacterId, TraitId = 3, CharTraitValue = abt.ElementAt(2).ToString() }; //add to hold in db context _context.Add(changelingTraitIntellect); CharTrait changelingTraitWill = new CharTrait { CharacterId = model.Character.CharacterId, TraitId = 4, CharTraitValue = abt.ElementAt(3).ToString() }; //add to hold in db context and save context to db _context.Add(changelingTraitWill); await _context.SaveChangesAsync(); return(RedirectToAction("UserHome", "ApplicationUser")); } //begin clockwork if (model.Character.AncestryId == 3) { var abt = (from ab in _context.AncestryBaseTraits join a in _context.Ancestry on ab.AncestryId equals a.AncestryId where ab.AncestryId == 3 select ab.BaseValue) .ToList(); CharTrait clockworkTraitStrength = new CharTrait { CharacterId = model.Character.CharacterId, TraitId = 1, CharTraitValue = abt.ElementAt(0).ToString() }; //add to hold in db context _context.Add(clockworkTraitStrength); CharTrait clockworkTraitAgility = new CharTrait { CharacterId = model.Character.CharacterId, TraitId = 2, CharTraitValue = abt.ElementAt(1).ToString() }; //add to hold in db context _context.Add(clockworkTraitAgility); CharTrait clockworkTraitIntellect = new CharTrait { CharacterId = model.Character.CharacterId, TraitId = 3, CharTraitValue = abt.ElementAt(2).ToString() }; //add to hold in db context _context.Add(clockworkTraitIntellect); CharTrait clockworkTraitWill = new CharTrait { CharacterId = model.Character.CharacterId, TraitId = 4, CharTraitValue = abt.ElementAt(3).ToString() }; //add to hold in db context and save context to db _context.Add(clockworkTraitWill); await _context.SaveChangesAsync(); return(RedirectToAction("Create", "ClockworkPurposes")); } //end clockwork //begin dwarf if (model.Character.AncestryId == 4) { var abt = (from ab in _context.AncestryBaseTraits join a in _context.Ancestry on ab.AncestryId equals a.AncestryId where ab.AncestryId == 4 select ab.BaseValue) .ToList(); CharTrait dwarfTraitStrength = new CharTrait { CharacterId = model.Character.CharacterId, TraitId = 1, CharTraitValue = abt.ElementAt(0).ToString() }; //add to hold in db context _context.Add(dwarfTraitStrength); CharTrait dwarfTraitAgility = new CharTrait { CharacterId = model.Character.CharacterId, TraitId = 2, CharTraitValue = abt.ElementAt(1).ToString() }; //add to hold in db context _context.Add(dwarfTraitAgility); CharTrait dwarfTraitIntellect = new CharTrait { CharacterId = model.Character.CharacterId, TraitId = 3, CharTraitValue = abt.ElementAt(2).ToString() }; //add to hold in db context _context.Add(dwarfTraitIntellect); CharTrait dwarfTraitWill = new CharTrait { CharacterId = model.Character.CharacterId, TraitId = 4, CharTraitValue = abt.ElementAt(3).ToString() }; //add to hold in db context and save context to db _context.Add(dwarfTraitWill); await _context.SaveChangesAsync(); return(RedirectToAction("UserHome", "ApplicationUser")); } //end dwarf //begin goblin if (model.Character.AncestryId == 5) { var abt = (from ab in _context.AncestryBaseTraits join a in _context.Ancestry on ab.AncestryId equals a.AncestryId where ab.AncestryId == 5 select ab.BaseValue) .ToList(); CharTrait goblinTraitStrength = new CharTrait { CharacterId = model.Character.CharacterId, TraitId = 1, CharTraitValue = abt.ElementAt(0).ToString() }; //add to hold in db context _context.Add(goblinTraitStrength); CharTrait goblinTraitAgility = new CharTrait { CharacterId = model.Character.CharacterId, TraitId = 2, CharTraitValue = abt.ElementAt(1).ToString() }; //add to hold in db context _context.Add(goblinTraitAgility); CharTrait goblinTraitIntellect = new CharTrait { CharacterId = model.Character.CharacterId, TraitId = 3, CharTraitValue = abt.ElementAt(2).ToString() }; //add to hold in db context _context.Add(goblinTraitIntellect); CharTrait goblinTraitWill = new CharTrait { CharacterId = model.Character.CharacterId, TraitId = 4, CharTraitValue = abt.ElementAt(3).ToString() }; //add to hold in db context and save context to db _context.Add(goblinTraitWill); await _context.SaveChangesAsync(); return(RedirectToAction("UserHome", "ApplicationUser")); } //end goblin //begin orc if (model.Character.AncestryId == 6) { var abt = (from ab in _context.AncestryBaseTraits join a in _context.Ancestry on ab.AncestryId equals a.AncestryId where ab.AncestryId == 6 select ab.BaseValue) .ToList(); CharTrait orcTraitStrength = new CharTrait { CharacterId = model.Character.CharacterId, TraitId = 1, CharTraitValue = abt.ElementAt(0).ToString() }; //add to hold in db context _context.Add(orcTraitStrength); CharTrait orcTraitAgility = new CharTrait { CharacterId = model.Character.CharacterId, TraitId = 2, CharTraitValue = abt.ElementAt(1).ToString() }; //add to hold in db context _context.Add(orcTraitAgility); CharTrait orcTraitIntellect = new CharTrait { CharacterId = model.Character.CharacterId, TraitId = 3, CharTraitValue = abt.ElementAt(2).ToString() }; //add to hold in db context _context.Add(orcTraitIntellect); CharTrait orcTraitWill = new CharTrait { CharacterId = model.Character.CharacterId, TraitId = 4, CharTraitValue = abt.ElementAt(3).ToString() }; //add to hold in db context and save context to db _context.Add(orcTraitWill); await _context.SaveChangesAsync(); return(RedirectToAction("UserHome", "ApplicationUser")); } //end orc return(View(character)); } return(View()); }