private void cmdSimpan_Click(object sender, EventArgs e)
        {
            if (!ValidateBeforeSimpan())
            {
                return;
            }

            Soal soal = new Soal();

            soal.Soal_Jenis = rbEssay.Checked ? "ESSAY" : "MULTIPLE";
            soal.Soal_Tanya = txtPertanyaan.Text.Trim();
            soal.Soal_Jawab = rbEssay.Checked ? txtJawabanEssay.Text.Trim() : "";

            if (!SoalId.HasValue)
            {
                //Insert mode
                Program.factory.GetSoal().Insert(soal);

                SoalId = Program.factory.GetBase().GetLastSeq("SOAL").Value;
            }
            else
            {
                //Update mode
                soal.Soal_Id = SoalId.Value;
                Program.factory.GetSoal().Update(soal);
            }

            //delete pilihan multi by soalid
            Program.factory.GetSoalPilihanMultiple().DeleteBySoalId(SoalId.Value);
            //insert pilihan multi by soalid
            foreach (var item in Pilihans)
            {
                item.soal_id = SoalId.Value;
                Program.factory.GetSoalPilihanMultiple().Insert(item);
            }

            //delete tag group by soalid
            Program.factory.GetSoalTagGroup().DeleteBySoalId(SoalId.Value);
            //insert tag group by soalid
            foreach (var item in GroupTerpilih)
            {
                Soal_Tag_Group stg = new Soal_Tag_Group()
                {
                    soal_id = SoalId.Value,
                    gs_id   = item.gs_id
                };
                Program.factory.GetSoalTagGroup().Insert(stg);
            }

            Close();
        }
Beispiel #2
0
        public int Insert(Soal_Tag_Group stg)
        {
            int           result = 0;
            StringBuilder sb     = new StringBuilder();

            sb.Append(" insert into soal_tag_group (soal_id, gs_id) ");
            sb.Append(" values ( @soal_id,  @gs_id ) ");
            _conn.Open();
            using (_conn)
            {
                result = _conn.Execute(sb.ToString(), new { soal_id = stg.soal_id, gs_id = stg.gs_id });
            }
            return(result);
        }