示例#1
0
        private void FillSkillsCB()
        {
            using (var ctx = new Shadowrun3Context())
            {
                DataSet skillDS = new DataSet();

                DataTable  skillDT = new DataTable("sdt");
                DataColumn skillDC = new DataColumn("Skill", typeof(Skill));
                skillDT.Columns.Add(skillDC);
                DataColumn skillIdDC = new DataColumn("SkillId", typeof(string));
                skillDT.Columns.Add(skillIdDC);

                foreach (Skill skill in ctx.Skills.Where(a => a.SkillGroup.SkillGroupId == "Close Combat" || a.SkillId == "Exotic Melee Weapon"))
                {
                    DataRow skillDR = skillDT.NewRow();
                    skillDR["Skill"]   = skill;
                    skillDR["SkillId"] = skill.SkillId;
                    skillDT.Rows.Add(skillDR);
                }

                skillDS.Tables.Add(skillDT);

                mwSkillCB.DataSource     = skillDS.Tables["sdt"].DefaultView;
                mwSkillCB.DisplayMember  = "SkillId";
                mwSkillCB.BindingContext = this.BindingContext;
            }
        }
示例#2
0
        private void DisplayS(string et)
        {
            using (var ctx = new Shadowrun3Context())
            {
                DataSet esDS = new DataSet();

                DataTable  esDT = new DataTable("esDT");
                DataColumn esDC = new DataColumn("Skill", typeof(string));
                esDT.Columns.Add(esDC);
                DataColumn rankDC = new DataColumn("Rank", typeof(int));
                esDT.Columns.Add(rankDC);

                foreach (EnemySkill etS in ctx.EnemySkills.Where(a => a.EnemyType.EnemyTypeId == et))
                {
                    DataRow esDR = esDT.NewRow();
                    esDR["Skill"] = etS.Skill.SkillId;
                    esDR["Rank"]  = etS.EnemySkillRank;
                    esDT.Rows.Add(esDR);
                }

                esDS.Tables.Add(esDT);

                sDGV.DataSource     = esDS.Tables["esDT"].DefaultView;
                sDGV.BindingContext = this.BindingContext;
            }
        }
示例#3
0
        private void DisplayEnemies(string enc)
        {
            using (var ctx = new Shadowrun3Context())
            {
                DataSet eDS = new DataSet();

                DataTable  eDT = new DataTable("eDT");
                DataColumn eDC = new DataColumn("Enemy", typeof(string));
                eDT.Columns.Add(eDC);
                DataColumn deadDC = new DataColumn("Dead?", typeof(bool));
                eDT.Columns.Add(deadDC);

                foreach (NamedEnemy neE in ctx.NamedEnemys.Where(a => a.Encounter.EncounterId == enc))
                {
                    DataRow eDR = eDT.NewRow();
                    eDR["Enemy"] = neE.NamedEnemyId;
                    eDR["Dead?"] = neE.DeadOrAlive;
                    eDT.Rows.Add(eDR);
                }

                eDS.Tables.Add(eDT);

                enemyDGV.DataSource     = eDS.Tables["eDT"].DefaultView;
                enemyDGV.BindingContext = this.BindingContext;
            }
        }
示例#4
0
        private void rwSubmitButton_Click(object sender, EventArgs e)
        {
            using (var ctx = new Shadowrun3Context())
            {
                RangedWeapon rw = new RangedWeapon();

                rw.RangedWeaponId = nameTB.Text;
                rw = SetVar(rw);

                Skill newSkill = ctx.Skills.FirstOrDefault(i => i.SkillId == skillString);
                rw.skill = newSkill;

                try
                {
                    ctx.RangedWeapons.Add(rw);
                    ctx.SaveChanges();

                    ResetForm();
                }
                catch
                {
                    MessageBox.Show("That weapon already exists");
                }
            }
        }
示例#5
0
        private void button2_Click(object sender, EventArgs e)
        {
            using (var ctx = new Shadowrun3Context())
            {
                ctx.MatrixPrograms.Remove(ctx.MatrixPrograms.Single(a => a.MatrixProgramId == programNameTB.Text));
                ctx.SaveChanges();

                ResetForm();
            }
        }
示例#6
0
 private void updateButton_Click(object sender, EventArgs e)
 {
     using (var ctx = new Shadowrun3Context())
     {
         EnemyType et = ctx.EnemyTypes.First(a => a.EnemyTypeId == nameTB.Text);
         et = SetVar(et);
         ctx.SaveChanges();
         ResetForm();
     }
 }
示例#7
0
        private void deleteButton_Click(object sender, EventArgs e)
        {
            using (var ctx = new Shadowrun3Context())
            {
                ctx.EnemyTypes.Remove(ctx.EnemyTypes.Single(a => a.EnemyTypeId == nameTB.Text));
                ctx.SaveChanges();

                ResetForm();
            }
        }
示例#8
0
        private void updateButton_Click(object sender, EventArgs e)
        {
            using (var ctx = new Shadowrun3Context())
            {
                Spell sp = ctx.Spells.First(a => a.SpellId == nameTB.Text);
                sp = SetVar(sp);
                ctx.SaveChanges();

                ResetForm();
            }
        }
示例#9
0
        private void button1_Click(object sender, EventArgs e)
        {
            DataGridViewRow enemy       = enemyDGV.CurrentRow;
            string          enemyString = enemy.Cells[0].Value.ToString();

            using (var ctx = new Shadowrun3Context())
            {
                NamedEnemy enemy1 = ctx.NamedEnemys.FirstOrDefault(i => i.NamedEnemyId == enemyString);
                FormEnemy  fe     = new FormEnemy(enemy1);
                fe.Show();
            }
        }
示例#10
0
        private void updateButton_Click(object sender, EventArgs e)
        {
            using (var ctx = new Shadowrun3Context())
            {
                string skillString = skillCB.SelectedValue?.ToString();
                Skill  newSkill    = ctx.Skills.FirstOrDefault(i => i.SkillId == skillString);

                MatrixProgram updatedProg = ctx.MatrixPrograms.First(a => a.MatrixProgramId == programNameTB.Text);
                updatedProg.skill = newSkill;
                ctx.SaveChanges();

                ResetForm();
            }
        }
示例#11
0
        private void DisplayNamedEnemies(string enc)
        {
            List <string> neList = new List <string>();

            using (var ctx = new Shadowrun3Context())
            {
                foreach (NamedEnemy eachNE in ctx.NamedEnemys.Where(a => a.Encounter.EncounterId == enc))
                {
                    neList.Add(eachNE.NamedEnemyId);
                }
            }

            neLB.DataSource = neList;
        }
示例#12
0
        private void updateButton_Click(object sender, EventArgs e)
        {
            using (var ctx = new Shadowrun3Context())
            {
                MeleeWeapon mw = ctx.MeleeWeapons.First(a => a.MeleeWeaponId == nameTB.Text);
                mw = SetVar(mw);

                Skill newSkill = ctx.Skills.FirstOrDefault(i => i.SkillId == skillString);
                mw.skill = newSkill;

                ctx.SaveChanges();

                ResetForm();
            }
        }
示例#13
0
        private void remMeleeButton_Click(object sender, EventArgs e)
        {
            string mwString = mwLB.SelectedItem.ToString();

            using (var ctx = new Shadowrun3Context())
            {
                MeleeWeapon remMW     = ctx.MeleeWeapons.FirstOrDefault(i => i.MeleeWeaponId == mwString);
                EnemyType   updatedET = ctx.EnemyTypes.First(a => a.EnemyTypeId == nameTB.Text);
                updatedET.MeleeWeapons.Remove(remMW);

                ctx.SaveChanges();

                ResetForm();
            }
        }
示例#14
0
        private void remSpellButton_Click(object sender, EventArgs e)
        {
            string spellString = spellLB.SelectedItem.ToString();

            using (var ctx = new Shadowrun3Context())
            {
                Spell     remSpell  = ctx.Spells.FirstOrDefault(i => i.SpellId == spellString);
                EnemyType updatedET = ctx.EnemyTypes.First(a => a.EnemyTypeId == nameTB.Text);
                updatedET.Spells.Remove(remSpell);

                ctx.SaveChanges();

                ResetForm();
            }
        }
示例#15
0
        private void removeSButton_Click(object sender, EventArgs e)
        {
            using (var ctx = new Shadowrun3Context())
            {
                DataGridViewRow s       = sDGV.CurrentRow;
                string          sString = s.Cells[0].Value.ToString();

                EnemySkill es = ctx.EnemySkills.FirstOrDefault(i => i.Skill.SkillId == sString);

                ctx.EnemySkills.Remove(es);

                ctx.SaveChanges();

                ResetForm();
            }
        }
示例#16
0
        private void addRangedButton_Click(object sender, EventArgs e)
        {
            string rwString = rwAddCB.SelectedValue.ToString();

            using (var ctx = new Shadowrun3Context())
            {
                RangedWeapon newRW = ctx.RangedWeapons.FirstOrDefault(i => i.RangedWeaponId == rwString);

                EnemyType updatedET = ctx.EnemyTypes.First(a => a.EnemyTypeId == nameTB.Text);
                updatedET.RangedWeapons.Add(newRW);

                ctx.SaveChanges();

                ResetForm();
            }
        }
示例#17
0
        private void updateSGButton_Click(object sender, EventArgs e)
        {
            using (var ctx = new Shadowrun3Context())
            {
                DataGridViewRow sg       = sgDGV.CurrentRow;
                string          sgString = sg.Cells[0].Value.ToString();

                EnemySkillGroup esg = ctx.EnemySkillGroups.FirstOrDefault(i => i.SkillGroup.SkillGroupId == sgString);

                esg.Rank = (int)skillGroupRankNB.Value;

                ctx.SaveChanges();

                ResetForm();
            }
        }
示例#18
0
        private void DisplayMW(string et)
        {
            using (var ctx = new Shadowrun3Context())
            {
                List <string> mwList = new List <string>();

                foreach (EnemyType etMW in ctx.EnemyTypes.Where(a => a.EnemyTypeId == et))
                {
                    foreach (MeleeWeapon mw in etMW.MeleeWeapons)
                    {
                        mwList.Add(mw.MeleeWeaponId);
                    }
                }

                mwLB.DataSource = mwList;
            }
        }
示例#19
0
        private void DisplayRW(string et)
        {
            using (var ctx = new Shadowrun3Context())
            {
                List <string> rwList = new List <string>();

                foreach (EnemyType etRW in ctx.EnemyTypes.Where(a => a.EnemyTypeId == et))
                {
                    foreach (RangedWeapon rw in etRW.RangedWeapons)
                    {
                        rwList.Add(rw.RangedWeaponId);
                    }
                }

                rwLB.DataSource = rwList;
            }
        }
示例#20
0
        private void updateButton_Click(object sender, EventArgs e)
        {
            using (var ctx = new Shadowrun3Context())
            {
                NamedEnemy ne = ctx.NamedEnemys.First(a => a.NamedEnemyId == nameTB.Text);
                ne.CurrentHP     = (int)HPNB.Value;
                ne.CurrentStun   = (int)StunNB.Value;
                ne.CurrentMatrix = (int)MatrixNB.Value;
                ne.CurrentEdge   = (int)EdgeNB.Value;
                ne.CurrentAmmo   = (int)AmmoNB.Value;
                ne.CommRating    = (int)SysRatingNB.Value;

                ctx.SaveChanges();

                ResetForm();
            }
        }
示例#21
0
        private void DisplaySpells(string et)
        {
            using (var ctx = new Shadowrun3Context())
            {
                List <string> spellList = new List <string>();

                foreach (EnemyType etSpell in ctx.EnemyTypes.Where(a => a.EnemyTypeId == et))
                {
                    foreach (Spell spell in etSpell.Spells)
                    {
                        spellList.Add(spell.SpellId);
                    }
                }

                spellLB.DataSource = spellList;
            }
        }
示例#22
0
        private void updateButton_Click(object sender, EventArgs e)
        {
            using (var ctx = new Shadowrun3Context())
            {
                DataGridViewRow enc       = dataGridView1.CurrentRow;
                string          encString = enc.Cells[0].Value.ToString();
                Encounter       encounter = ctx.Encounters.FirstOrDefault(i => i.EncounterId == encString);

                string     neString = neCB.SelectedValue.ToString();
                NamedEnemy ne       = ctx.NamedEnemys.FirstOrDefault(i => i.NamedEnemyId == neString);

                ne.Encounter = encounter;

                ctx.SaveChanges();

                ResetForm();
            }
        }
示例#23
0
        private void submitButton_Click(object sender, EventArgs e)
        {
            using (var ctx = new Shadowrun3Context())
            {
                try
                {
                    Encounter enc = new Encounter();
                    enc.EncounterId = nameTB.Text;
                    ctx.Encounters.Add(enc);
                    ctx.SaveChanges();

                    ResetForm();
                }
                catch
                {
                    MessageBox.Show("That encounter already exists");
                }
            }
        }
示例#24
0
        private void programSubmitButton_Click(object sender, EventArgs e)
        {
            using (var ctx = new Shadowrun3Context())
            {
                Skill newSkill = ctx.Skills.FirstOrDefault(i => i.SkillId == skillString);
                newProgram.skill = newSkill;

                try
                {
                    ctx.MatrixPrograms.Add(newProgram);
                    ctx.SaveChanges();

                    ResetForm();
                }
                catch
                {
                    MessageBox.Show("That program already exists");
                }
            }
        }
示例#25
0
        private void rwSubmitButton_Click(object sender, EventArgs e)
        {
            using (var ctx = new Shadowrun3Context())
            {
                try
                {
                    EnemyType et = new EnemyType();
                    et.EnemyTypeId = nameTB.Text;
                    et             = SetVar(et);

                    ctx.EnemyTypes.Add(et);
                    ctx.SaveChanges();

                    ResetForm();
                }
                catch
                {
                    MessageBox.Show("That enemy type already exists");
                }
            }
        }
示例#26
0
        private void submitSpell_Click(object sender, EventArgs e)
        {
            using (var ctx = new Shadowrun3Context())
            {
                try
                {
                    Spell sp = new Spell();
                    sp.SpellId = nameTB.Text;
                    sp         = SetVar(sp);

                    ctx.Spells.Add(sp);
                    ctx.SaveChanges();

                    ResetForm();
                }
                catch
                {
                    MessageBox.Show("That spell already exists");
                }
            }
        }
示例#27
0
        private void addSButton_Click(object sender, EventArgs e)
        {
            string sString = skillCB.SelectedValue.ToString();

            using (var ctx = new Shadowrun3Context())
            {
                Skill      s    = ctx.Skills.FirstOrDefault(i => i.SkillId == sString);
                EnemyType  et   = ctx.EnemyTypes.First(a => a.EnemyTypeId == nameTB.Text);
                int        rank = (int)skillRankNB.Value;
                EnemySkill es   = new EnemySkill();

                es.Skill          = s;
                es.EnemyType      = et;
                es.EnemySkillRank = rank;

                ctx.EnemySkills.Add(es);

                ctx.SaveChanges();

                ResetForm();
            }
        }
示例#28
0
        private void addSGButton_Click(object sender, EventArgs e)
        {
            string sgString = skillGroupCB.SelectedValue.ToString();

            using (var ctx = new Shadowrun3Context())
            {
                SkillGroup      sg   = ctx.SkillGroups.FirstOrDefault(i => i.SkillGroupId == sgString);
                EnemyType       et   = ctx.EnemyTypes.First(a => a.EnemyTypeId == nameTB.Text);
                int             rank = (int)skillGroupRankNB.Value;
                EnemySkillGroup esg  = new EnemySkillGroup();

                esg.SkillGroup = sg;
                esg.EnemyType  = et;
                esg.Rank       = rank;

                ctx.EnemySkillGroups.Add(esg);

                ctx.SaveChanges();

                ResetForm();
            }
        }
示例#29
0
        private void submitSpell_Click(object sender, EventArgs e)
        {
            using (var ctx = new Shadowrun3Context())
            {
                try
                {
                    //Create new named enemy
                    NamedEnemy ne = new NamedEnemy();
                    ne.NamedEnemyId = nameTB.Text;

                    //Find out the enemy type for the enemy to be based on
                    string    etString = enemyTypeCB.Text;
                    EnemyType et       = ctx.EnemyTypes.FirstOrDefault(i => i.EnemyTypeId == etString);
                    ne.EnemyType = et;

                    //Work out the starting HP (8 + body/2 rounded up)
                    int body = 0;
                    if (et.Body % 2 == 0)
                    {
                        body = et.Body / 2;
                    }
                    else
                    {
                        body = (et.Body / 2) + 1;
                    }

                    ne.CurrentHP = 8 + body;

                    //Work out the starting stun (8 + will/2 rounded up)
                    int will = 0;
                    if (et.Willpower % 2 == 0)
                    {
                        will = et.Willpower / 2;
                    }
                    else
                    {
                        will = (et.Willpower / 2) + 1;
                    }

                    ne.CurrentStun = 8 + will;

                    //Work out the starting matrix (8 + sys/2 rounded up)
                    int sys = 0;
                    if (et.SystemRating % 2 == 0)
                    {
                        sys = et.SystemRating / 2;
                    }
                    else
                    {
                        sys = (et.SystemRating / 2) + 1;
                    }

                    ne.CurrentMatrix = 8 + sys;

                    //Get the starting edge and comm rating from enemy type
                    ne.CurrentEdge = et.Edge;
                    ne.CommRating  = et.SystemRating;

                    //Add the current ammo from user input
                    ne.CurrentAmmo = (int)AmmoNB.Value;

                    //Start the named enemy as alive
                    ne.DeadOrAlive = false;

                    ctx.NamedEnemys.Add(ne);
                    ctx.SaveChanges();

                    ResetForm();
                }
                catch
                {
                    MessageBox.Show("That named enemy already exists");
                }
            }
        }