public ActionResult EditUnit(int id)
        {
            if (id < 1)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            EditUnitViewModel viewModel = this.service.GetEditUnitViewModel(id);

            return(this.View(viewModel));
        }
        public ActionResult EditUnit([Bind(Include = "Id,Title,ContentUrl")] EditUnitBindingModel model)
        {
            if (this.ModelState.IsValid)
            {
                this.service.EditUnit(model);
                return(this.RedirectToAction("UnitPreview", new { id = model.Id }));
            }

            EditUnitViewModel viewModel = this.service.GetEditUnitViewModel(model.Id);

            return(this.View(viewModel));
        }
Пример #3
0
        public EditUnitViewModel GetEditUnitViewModel(int id)
        {
            Unit unit = this.Context.Units.Find(id);

            if (unit == null)
            {
                throw new ArgumentNullException(nameof(id), "There is no Unit with such Id.");
            }
            EditUnitViewModel viewModel = Mapper.Instance
                                          .Map <Unit, EditUnitViewModel>(unit);

            return(viewModel);
        }
        public IActionResult Unit(int UnitId)
        {
            UnitModel      editUnit    = context.Units.Single(c => c.ID == UnitId);
            List <Ability> AbilityList = context.Abilities.ToList();


            EditUnitViewModel ViewModel = new
                                          EditUnitViewModel
                                          (

                context.Abilities.ToList(),
                context.Weapons.ToList(),
                context.Spells.ToList()
                                          )


            {
                ARM       = editUnit.ARM,
                CMD       = editUnit.CMD,
                DEF       = editUnit.DEF,
                FA        = editUnit.FA,
                MAT       = editUnit.MAT,
                RAT       = editUnit.RAT,
                Name      = editUnit.Name,
                SPD       = editUnit.SPD,
                PointCost = editUnit.PointCost,
                STR       = editUnit.STR,
                soloID    = editUnit.ID,
                MaxUnit   = editUnit.MaxUnit,
                MinUnit   = editUnit.MinUnit,



                currenntAbilIDs   = context.UnitAbilities.Where(c => c.UnitID == UnitId).Select(x => x.AbilityID).ToList(),
                currenntSpellIDs  = context.UnitSpells.Where(c => c.UnitID == UnitId).Select(x => x.SpellID).ToList(),
                currenntWeaponIDs = context.UnitWeapons.Where(c => c.UnitID == UnitId).Select(x => x.WeaponId).ToList()
            };

            ViewModel.SelecCurrenttWeapons();
            ViewModel.SelectCurrenntSpells();
            ViewModel.SelectCurrentAbillities();


            return(View("EditUnit", ViewModel));
        }
Пример #5
0
        public async Task <IActionResult> Put(long id, [FromBody] EditUnitViewModel model)
        {
            if (model == null)
            {
                return(BadRequest());
            }

            if (id != model.Id)
            {
                return(BadRequest());
            }

            var unit = await _unitRepo.GetAsync(id);

            if (unit == null)
            {
                return(NotFound(Resources.Items.ItemResource.UnitNotFound));
            }

            if (await _unitRepo.IsExistNameAsync(unit.Id, model.Name))
            {
                ModelState.AddModelError("Name", Resources.Global.Common.ThisNameExist);
                return(BadRequest(ModelState.GetWithErrorsKey()));
            }

            unit.Name = model.Name;

            var affectedRows = await _unitRepo.EditAsync(unit);

            if (affectedRows > 0)
            {
                var viewModel = AutoMapper.Mapper.Map <UnitViewModel>(unit);

                return(Ok(viewModel));
            }
            return(BadRequest());
        }
        public IActionResult Unit(EditUnitViewModel editModel)
        {
            UnitModel editUnit = context.Units.Single(c => c.ID == editModel.soloID);



            editUnit.ARM         = editModel.ARM;
            editUnit.CMD         = editModel.CMD;
            editUnit.DEF         = editModel.DEF;
            editUnit.FA          = editModel.FA;
            editUnit.MAT         = editModel.MAT;
            editUnit.RAT         = editModel.RAT;
            editUnit.Name        = editModel.Name;
            editUnit.SPD         = editModel.SPD;
            editUnit.PointCost   = editModel.PointCost;
            editUnit.STR         = editModel.STR;
            editUnit.MaxUnit     = editModel.MaxUnit;
            editUnit.MinUnit     = editModel.MaxUnit;
            editUnit.factionName = editModel.Faction;
            context.SaveChanges();

            editModel.currenntAbilIDs   = context.UnitAbilities.Where(c => c.UnitID == editUnit.ID).Select(x => x.AbilityID).ToList();
            editModel.currenntSpellIDs  = context.UnitSpells.Where(c => c.UnitID == editUnit.ID).Select(x => x.SpellID).ToList();
            editModel.currenntWeaponIDs = context.UnitWeapons.Where(c => c.UnitID == editUnit.ID).Select(x => x.WeaponId).ToList();



            if (editModel.abilIDS != null)
            {
                foreach (var abil in editModel.abilIDS)
                {
                    if (!editModel.currenntAbilIDs.Contains(abil))
                    {
                        UnitAbiliity NewSoloAbility = new UnitAbiliity();
                        NewSoloAbility.AbilityID = abil;
                        NewSoloAbility.UnitID    = editModel.soloID;
                        context.UnitAbilities.Add(NewSoloAbility);
                        context.SaveChanges();
                    }



                    foreach (var currentAbil in editModel.currenntAbilIDs)
                    {
                        if (!editModel.abilIDS.Contains(currentAbil))
                        {
                            UnitAbiliity soloabil = (from s in context.UnitAbilities where s.AbilityID == currentAbil where s.UnitID == editModel.soloID select s).FirstOrDefault <UnitAbiliity>();
                            context.UnitAbilities.Remove(soloabil);
                            context.SaveChanges();
                        }
                    }
                }
            }

            else
            {
                // delete all solo abils
                var soloAbils = context.UnitAbilities.Where(c => c.UnitID == editModel.soloID).ToList();

                foreach (var Abil in soloAbils)
                {
                    context.UnitAbilities.Remove(Abil);
                    context.SaveChanges();
                }
            }



            if (editModel.weapIDS != null)
            {
                foreach (var weap in editModel.weapIDS)
                {
                    if (!editModel.currenntWeaponIDs.Contains(weap))
                    {
                        UnitWeapon NewSoloWeapon = new UnitWeapon();
                        NewSoloWeapon.WeaponId = weap;
                        NewSoloWeapon.UnitID   = editModel.soloID;
                        context.UnitWeapons.Add(NewSoloWeapon);
                        context.SaveChanges();
                    }



                    foreach (var weaps in editModel.currenntWeaponIDs)
                    {
                        if (!editModel.weapIDS.Contains(weaps))
                        {
                            UnitWeapon soloWeap = (from s in context.UnitWeapons where s.WeaponId == weap where s.UnitID == editModel.soloID select s).FirstOrDefault <UnitWeapon>();
                            context.UnitWeapons.Remove(soloWeap);
                            context.SaveChanges();
                        }
                    }
                }
            }


            else
            {
                // delete all solo abils
                var soloWeaps = context.UnitWeapons.Where(c => c.UnitID == editModel.soloID).ToList();

                foreach (var Weap in soloWeaps)
                {
                    context.UnitWeapons.Remove(Weap);
                    context.SaveChanges();
                }
            }



            if (editModel.spellIDS != null)
            {
                foreach (var spell in editModel.spellIDS)
                {
                    if (!editModel.currenntSpellIDs.Contains(spell))
                    {
                        UnitSpell NewSoloSpell = new UnitSpell();
                        NewSoloSpell.SpellID = spell;
                        NewSoloSpell.UnitID  = editModel.soloID;
                        context.UnitSpells.Add(NewSoloSpell);
                        context.SaveChanges();
                    }



                    foreach (var spells in editModel.currenntSpellIDs)
                    {
                        if (!editModel.spellIDS.Contains(spells))
                        {
                            UnitSpell soloSpell = (from s in context.UnitSpells where s.SpellID == spell where s.UnitID == editModel.soloID select s).FirstOrDefault <UnitSpell>();
                            context.UnitSpells.Remove(soloSpell);
                            context.SaveChanges();
                        }
                    }
                }
            }


            else
            {
                // delete all solo abils
                var soloSpells = context.UnitSpells.Where(c => c.UnitID == editModel.soloID).ToList();

                foreach (var Spell in soloSpells)
                {
                    context.UnitSpells.Remove(Spell);
                    context.SaveChanges();
                }
            }



            return(Redirect("/View/Unit/" + editModel.soloID));
        }
 public SelectorUnitWindow(UnitDetailed unit)
 {
     DataContext = new EditUnitViewModel(unit);
     InitializeComponent();
 }