public void DokterBL_IsExist_Test()
        {
            //  arrange
            _dokterDal.Stub(x => x.GetById("A")).Return(new DokterModel());

            //  act
            var dummy = _dokterBL.IsExist("A");

            //  assert
            Assert.IsTrue(dummy);
        }
        public void Save(JadwalTglModel jadwalTgl)
        {
            //  validasi dokter
            if (_layananBL.IsExist(jadwalTgl.KodeLayanan))
            {
                throw new ArgumentException("KODE LAYANAN invalid");
            }

            //  validasi layanan
            if (_dokterBL.IsExist(jadwalTgl.KodeDokter))
            {
                throw new ArgumentException("KODE DOKTER invalid");
            }

            //  validasi tgl
            if (!DateTimeHelpers.IsValidTgl(jadwalTgl.TglJadwal, "dd-MM-yyyy"))
            {
                throw new ArgumentException("TGL JADWAL invalid");
            }

            //  validasi jam
            if (!DateTimeHelpers.IsValidJam(jadwalTgl.Jam, "HH:mm"))
            {
                throw new ArgumentException("JAM JADWAL invalid");
            }

            //  validasi booked
            if (jadwalTgl.Booked > jadwalTgl.Max)
            {
                throw new ArgumentException("BOOKED invalid");
            }

            //  simpan data
            if (_jadwalTglDal.IsExist(jadwalTgl.KodeDokter,
                                      jadwalTgl.TglJadwal, jadwalTgl.Jam))
            {
                _jadwalTglDal.Insert(jadwalTgl);
            }
            else
            {
                _jadwalTglDal.Update(jadwalTgl);
            }
        }