public void JadwalHariDal_ListData_Test()
        {
            //  arrange
            JadwalHariModel jadwal = new JadwalHariModel
            {
                Kode          = "A",
                KodeDokter    = "A1",
                KodeLayanan   = "B1",
                Hari          = 1,
                JamMulai      = "10:00",
                JamSelesai    = "12:00",
                JadwalPerJams = new List <JadwalHariPerJamModel>
                {
                    new JadwalHariPerJamModel {
                        Jam = "10:00", Max = 4, Booked = 1
                    },
                    new JadwalHariPerJamModel {
                        Jam = "11:00", Max = 4, Booked = 0
                    }
                }
            };

            _jadwalHariDal.Insert(jadwal);

            //  act
            var dummy = _jadwalHariDal.ListData(new LayananModel {
                Kode = "A1"
            });
        }
        public void JadwalHariDal_Update_Test()
        {
            //  arrange
            JadwalHariModel jadwal = new JadwalHariModel
            {
                Kode          = "A",
                KodeDokter    = "A1",
                KodeLayanan   = "B1",
                Hari          = 1,
                JamMulai      = "10:00",
                JamSelesai    = "12:00",
                JadwalPerJams = new List <JadwalHariPerJamModel>
                {
                    new JadwalHariPerJamModel {
                        Jam = "10:00", Max = 4, Booked = 1
                    },
                    new JadwalHariPerJamModel {
                        Jam = "11:00", Max = 4, Booked = 0
                    }
                }
            };

            //  act
            _jadwalHariDal.Update(jadwal);
        }
        public void JadwalHariDal_GetId_Test()
        {
            //  arrange
            JadwalHariModel jadwal = new JadwalHariModel
            {
                Kode          = "A",
                KodeDokter    = "A1",
                KodeLayanan   = "B1",
                Hari          = 1,
                JamMulai      = "10:00",
                JamSelesai    = "12:00",
                JadwalPerJams = new List <JadwalHariPerJamModel>
                {
                    new JadwalHariPerJamModel {
                        Jam = "10:00", Max = 4, Booked = 1
                    },
                    new JadwalHariPerJamModel {
                        Jam = "11:00", Max = 4, Booked = 0
                    }
                }
            };

            _jadwalHariDal.Insert(jadwal);

            //  act
            string id = _jadwalHariDal.GetId("A1", 1, "10:00");
        }
        public void JadwalHariBL_IsExist2_Succeed()
        {
            //  arrange
            var jadwal = new JadwalHariModel
            {
                Kode          = "A",
                KodeDokter    = "B",
                KodeLayanan   = "C",
                Hari          = 1,
                JadwalPerJams = new List <JadwalHariPerJamModel>
                {
                    new JadwalHariPerJamModel {
                        Jam = "08:00", Max = 4, Booked = 1
                    },
                    new JadwalHariPerJamModel {
                        Jam = "09:00", Max = 4, Booked = 0
                    }
                }
            };
            var jadwals = new List <JadwalHariModel>();

            jadwals.Add(jadwal);
            _jadwalHariDal.Stub(x => x.ListData(
                                    Arg <DokterModel> .Matches(y => y.Kode == "B")))
            .Return(jadwals);

            //  act
            var actual = _jadwalHariBL.IsExist("B", 1, "09:00");

            //  assert
            Assert.IsTrue(actual);
        }
        public void JadwalHariBL_Save_Edit_Succeed_Test()
        {
            //  arrange
            var jadwal = new JadwalHariModel
            {
                Kode          = "A",
                KodeDokter    = "A",
                KodeLayanan   = "A",
                Hari          = 2,
                JamMulai      = "08:00",
                JamSelesai    = "10:00",
                JadwalPerJams = new List <JadwalHariPerJamModel>
                {
                    new JadwalHariPerJamModel {
                        Jam = "08:00", Max = 4, Booked = 1
                    },
                    new JadwalHariPerJamModel {
                        Jam = "09:00", Max = 4, Booked = 0
                    }
                }
            };

            _layananBL.Stub(x => x.GetById("A")).Return(new LayananModel {
                Kode = "A", Nama = "Data2"
            });
            _dokterBL.Stub(x => x.GetById("A")).Return(new DokterModel {
                Kode = "A", Nama = "Data2"
            });

            //  act
            _jadwalHariBL.Save(jadwal);

            //  assert
            _jadwalHariDal.AssertWasCalled(x => x.Update(Arg <JadwalHariModel> .Is.Anything));
        }
        public void JadwalHariBL_IsExist2_Failed_Test()
        {
            //  arrange
            var jadwal = new JadwalHariModel
            {
                Kode          = "A",
                KodeDokter    = "B",
                KodeLayanan   = "C",
                Hari          = 1,
                JadwalPerJams = new List <JadwalHariPerJamModel>
                {
                    new JadwalHariPerJamModel {
                        Jam = "08:00", Max = 4, Booked = 1
                    },
                    new JadwalHariPerJamModel {
                        Jam = "10:00", Max = 4, Booked = 0
                    }
                }
            }; var jadwals = new List <JadwalHariModel>();

            jadwals.Add(jadwal);
            _jadwalHariDal.Stub(x => x.ListData(
                                    new DokterModel {
                Kode = "A"
            }))
            .Return(jadwals);

            //  act
            var actual = _jadwalHariBL.IsExist("A", 1, "09:00");

            //  assert
            Assert.IsFalse(actual);
        }
示例#7
0
        public void Insert(JadwalHariModel jadwal)
        {
            string             sSql    = @"
                INSERT INTO ta_jadwal_hari 
                    (
                        fs_kd_jadwal, fs_kd_dokter, fs_kd_layanan,
                        fn_hari, fs_jam_mulai, fs_jam_selesai 
                    )
                VALUES  
                    (
                        @KodeJadwal, @KodeDokter, @KodeLayanan,
                        @Hari, @JamMulai, @JamSelesai
                    ) ";
            TransactionOptions tranOpt = new TransactionOptions
            {
                IsolationLevel = IsolationLevel.ReadCommitted
            };

            using (TransactionScope tran = new TransactionScope(TransactionScopeOption.Required, tranOpt))
                using (SqlConnection conn = new SqlConnection(_connString))
                    using (SqlCommand cmd = new SqlCommand(sSql, conn))
                    {
                        cmd.Parameters.AddWithValue("@KodeJadwal", jadwal.Kode);
                        cmd.Parameters.AddWithValue("@KodeDokter", jadwal.KodeDokter);
                        cmd.Parameters.AddWithValue("@KodeLayanan", jadwal.KodeLayanan);
                        cmd.Parameters.AddWithValue("@Hari", jadwal.Hari);
                        cmd.Parameters.AddWithValue("@JamMulai", jadwal.JamMulai);
                        cmd.Parameters.AddWithValue("@JamSelesai", jadwal.JamSelesai);
                        conn.Open();
                        cmd.ExecuteNonQuery();

                        //  hapus detil-nya
                        sSql            = @"
                    DELETE      ta_jadwal_hari_jam 
                    WHERE       fs_kd_jadwal = @Kode";
                        cmd.CommandText = sSql;
                        cmd.Parameters.Clear();
                        cmd.Parameters.AddWithValue("@Kode", jadwal.Kode);
                        cmd.ExecuteNonQuery();

                        //  insert detil
                        foreach (JadwalHariPerJamModel item in jadwal.JadwalPerJams)
                        {
                            sSql            = @"
                        INSERT INTO ta_jadwal_hari_jam 
                                (fs_kd_jadwal, fs_jam, fn_durasi, fn_max, fn_booked)
                        VALUES  (@Kode, @Jam, @Durasi, @Max, @Booked) ";
                            cmd.CommandText = sSql;
                            cmd.Parameters.Clear();
                            cmd.Parameters.AddWithValue("@Kode", jadwal.Kode);
                            cmd.Parameters.AddWithValue("@Jam", item.Jam);
                            cmd.Parameters.AddWithValue("@Durasi", item.Durasi);
                            cmd.Parameters.AddWithValue("@Max", item.Max);
                            cmd.Parameters.AddWithValue("@Booked", item.Booked);
                            cmd.ExecuteNonQuery();
                        }
                        tran.Complete();
                    }
        }
        public void JadwalHariBL_Save_DuplicatedJamPraktek_Test()
        {
            //  arrange
            var jadwal = new JadwalHariModel
            {
                Kode          = "A",
                KodeDokter    = "A",
                KodeLayanan   = "A",
                Hari          = 2,
                JamMulai      = "09:00",
                JamSelesai    = "11:00",
                JadwalPerJams = new List <JadwalHariPerJamModel>
                {
                    new JadwalHariPerJamModel {
                        Jam = "09:00", Max = 4, Booked = 1
                    },
                    new JadwalHariPerJamModel {
                        Jam = "10:00", Max = 4, Booked = 0
                    },
                    new JadwalHariPerJamModel {
                        Jam = "11:00", Max = 4, Booked = 0
                    },
                    new JadwalHariPerJamModel {
                        Jam = "09:00", Max = 4, Booked = 0
                    }
                }
            };
            var jadwals = new List <JadwalHariModel>();

            jadwals.Add(jadwal);

            _layananBL.Stub(x => x.GetById("A")).Return(new LayananModel {
                Kode = "A", Nama = "Data1"
            });
            _dokterBL.Stub(x => x.GetById("A")).Return(new DokterModel {
                Kode = "A", Nama = "Data1"
            });

            //  act
            var errMsg = "";

            try
            {
                _jadwalHariBL.Save(jadwal);
                errMsg = "";
            }
            catch (ArgumentException ex)
            {
                errMsg = ex.Message;
            }

            //  assert
            Assert.IsTrue(errMsg == "Duplicated JAM PRAKTEK");
        }
示例#9
0
        public List <JadwalHariModel> ListData(int hari)
        {
            List <JadwalHariModel> retVal = null;

            string sSql = @"
                SELECT      aa.fs_kd_dokter, aa.fs_kd_layanan, aa.fn_hari, 
                            aa.fs_jam_mulai, aa.fs_jam_selesai,
                            ISNULL(bb.fs_nm_dokter, ' ') fs_nm_dokter,
                            ISNULL(cc.fs_nm_layanan, ' ') fs_nm_layanan
                FROM        ta_jadwal_hari aa
                LEFT JOIN   ta_dokter bb ON aa.fs_kd_dokter = bb.fs_kd_dokter 
                LEFT JOIN   ta_layanan cc ON aa.fs_kd_layanan = cc.fs_kd_layanan
                WHERE       aa.fn_hari = @Hari
                ORDER BY    cc.fs_nm_layanan, bb.fs_nm_dokter ";


            using (SqlConnection conn = new SqlConnection(_connString))
                using (SqlCommand cmd = new SqlCommand(sSql, conn))
                {
                    cmd.Parameters.AddWithValue("@KodeDokter", hari);
                    conn.Open();
                    SqlDataReader dr = cmd.ExecuteReader();
                    if (dr.HasRows)
                    {
                        retVal = new List <JadwalHariModel>();
                        while (dr.Read())
                        {
                            JadwalHariModel item = new JadwalHariModel();
                            item.KodeDokter  = dr["fs_kd_dokter"].ToString();
                            item.NamaDokter  = dr["fs_nm_dokter"].ToString();
                            item.KodeLayanan = dr["fs_kd_layanan"].ToString();
                            item.NamaLayanan = dr["fs_nm_layanan"].ToString();
                            item.Hari        = Convert.ToInt16(dr["fn_hari"].ToString());
                            item.JamMulai    = dr["fs_jam_mulai"].ToString();
                            item.JamSelesai  = dr["fs_jam_selesai"].ToString();
                            retVal.Add(item);
                        }
                    }
                }
            return(retVal);
        }
        public void Seed()
        {
            var jadwalHariBL = new JadwalHariBL();

            jadwalHariBL.Clear();

            var sesion0800_1100 = new List <JadwalHariPerJamModel>
            {
                new JadwalHariPerJamModel
                {
                    Jam    = "08:00",
                    Durasi = 60,
                    Max    = 4,
                    Booked = 0
                },
                new JadwalHariPerJamModel
                {
                    Jam    = "09:00",
                    Durasi = 60,
                    Max    = 4,
                    Booked = 0
                },
                new JadwalHariPerJamModel
                {
                    Jam    = "10:00",
                    Durasi = 60,
                    Max    = 4,
                    Booked = 0
                },
            };
            var sesion1200_1430 = new List <JadwalHariPerJamModel>
            {
                new JadwalHariPerJamModel
                {
                    Jam    = "12:00",
                    Durasi = 60,
                    Max    = 4,
                    Booked = 0
                },
                new JadwalHariPerJamModel
                {
                    Jam    = "13:00",
                    Durasi = 60,
                    Max    = 4,
                    Booked = 0
                },
                new JadwalHariPerJamModel
                {
                    Jam    = "14:00",
                    Durasi = 30,
                    Max    = 2,
                    Booked = 0
                },
            };
            var sesion1600_1800 = new List <JadwalHariPerJamModel>
            {
                new JadwalHariPerJamModel
                {
                    Jam    = "16:00",
                    Durasi = 60,
                    Max    = 4,
                    Booked = 0
                },
                new JadwalHariPerJamModel
                {
                    Jam    = "17:00",
                    Durasi = 60,
                    Max    = 4,
                    Booked = 0
                }
            };
            var sesion1900_2130 = new List <JadwalHariPerJamModel>
            {
                new JadwalHariPerJamModel
                {
                    Jam    = "19:00",
                    Durasi = 60,
                    Max    = 4,
                    Booked = 0
                },
                new JadwalHariPerJamModel
                {
                    Jam    = "20:00",
                    Durasi = 60,
                    Max    = 4,
                    Booked = 0
                },
                new JadwalHariPerJamModel
                {
                    Jam    = "21:00",
                    Durasi = 30,
                    Max    = 2,
                    Booked = 0
                }
            };

            //  AgusSumadi
            var jadwalHari = new JadwalHariModel
            {
                Kode          = "",
                KodeDokter    = "DK001",
                KodeLayanan   = "RJ001",
                Hari          = 1,
                JamMulai      = "08:00",
                JamSelesai    = "11:00",
                JadwalPerJams = sesion0800_1100
            };

            jadwalHariBL.Save(jadwalHari);

            jadwalHari.Kode = "";
            jadwalHari.Hari = 2;
            jadwalHariBL.Save(jadwalHari);

            jadwalHari.Kode          = "";
            jadwalHari.Hari          = 3;
            jadwalHari.JamMulai      = "16:00";
            jadwalHari.JamSelesai    = "18:00";
            jadwalHari.JadwalPerJams = sesion1600_1800;
            jadwalHariBL.Save(jadwalHari);

            // Budi SUkartono
            jadwalHari = new JadwalHariModel
            {
                Kode          = "",
                KodeDokter    = "DK002",
                KodeLayanan   = "RJ001",
                Hari          = 2,
                JamMulai      = "06:00",
                JamSelesai    = "18:00",
                JadwalPerJams = sesion1600_1800
            };
            jadwalHariBL.Save(jadwalHari);
            jadwalHari.Kode = "";
            jadwalHari.Hari = 3;
            jadwalHariBL.Save(jadwalHari);
            jadwalHari.Kode = "";
            jadwalHari.Hari = 6;
            jadwalHariBL.Save(jadwalHari);

            // Citra Rini Ghazali
            jadwalHari = new JadwalHariModel
            {
                Kode          = "",
                KodeDokter    = "DK003",
                KodeLayanan   = "RJ001",
                Hari          = 1,
                JamMulai      = "12:00",
                JamSelesai    = "14:30",
                JadwalPerJams = sesion1200_1430
            };
            jadwalHariBL.Save(jadwalHari);
            jadwalHari.Kode = "";
            jadwalHari.Hari = 2;
            jadwalHariBL.Save(jadwalHari);
            jadwalHari.Kode = "";
            jadwalHari.Hari = 5;
            jadwalHariBL.Save(jadwalHari);

            // Darwin Saswono
            jadwalHari = new JadwalHariModel
            {
                Kode          = "",
                KodeDokter    = "DK004",
                KodeLayanan   = "RJ002",
                Hari          = 3,
                JamMulai      = "08:00",
                JamSelesai    = "11:00",
                JadwalPerJams = sesion0800_1100
            };
            jadwalHariBL.Save(jadwalHari);
            jadwalHari.Kode = "";
            jadwalHari.Hari = 4;
            jadwalHariBL.Save(jadwalHari);
            jadwalHari.Kode = "";
            jadwalHari.Hari = 5;
            jadwalHariBL.Save(jadwalHari);
            jadwalHari.Kode = "";
            jadwalHari.Hari = 6;
            jadwalHariBL.Save(jadwalHari);

            // Etik Jazuli
            jadwalHari = new JadwalHariModel
            {
                Kode          = "",
                KodeDokter    = "DK005",
                KodeLayanan   = "RJ002",
                Hari          = 1,
                JamMulai      = "19:00",
                JamSelesai    = "21:30",
                JadwalPerJams = sesion1900_2130
            };
            jadwalHariBL.Save(jadwalHari);

            jadwalHari.Kode = "";
            jadwalHari.Hari = 2;
            jadwalHariBL.Save(jadwalHari);

            jadwalHari.Kode = "";
            jadwalHari.Hari = 4;
            jadwalHariBL.Save(jadwalHari);

            // Firdaus Allahudin
            jadwalHari = new JadwalHariModel
            {
                Kode          = "",
                KodeDokter    = "DK006",
                KodeLayanan   = "RJ002",
                Hari          = 2,
                JamMulai      = "08:00",
                JamSelesai    = "11:00",
                JadwalPerJams = sesion0800_1100
            };
            jadwalHariBL.Save(jadwalHari);

            jadwalHari.Kode = "";
            jadwalHari.Hari = 4;
            jadwalHariBL.Save(jadwalHari);

            jadwalHari.Kode          = "";
            jadwalHari.Hari          = 6;
            jadwalHari.JamMulai      = "19:00";
            jadwalHari.JamSelesai    = "21:30";
            jadwalHari.JadwalPerJams = sesion1900_2130;
            jadwalHariBL.Save(jadwalHari);

            // Gerick Schuldze
            jadwalHari = new JadwalHariModel
            {
                Kode          = "",
                KodeDokter    = "DK007",
                KodeLayanan   = "RJ002",
                Hari          = 1,
                JamMulai      = "08:00",
                JamSelesai    = "11:00",
                JadwalPerJams = sesion0800_1100
            };
            jadwalHariBL.Save(jadwalHari);

            jadwalHari.Kode          = "";
            jadwalHari.Hari          = 3;
            jadwalHari.JamMulai      = "12:00";
            jadwalHari.JamSelesai    = "14:30";
            jadwalHari.JadwalPerJams = sesion1200_1430;
            jadwalHariBL.Save(jadwalHari);

            jadwalHari.Kode          = "";
            jadwalHari.Hari          = 5;
            jadwalHari.JamMulai      = "19:00";
            jadwalHari.JamSelesai    = "21:30";
            jadwalHari.JadwalPerJams = sesion1900_2130;
            jadwalHariBL.Save(jadwalHari);

            // Husoro Getadiono
            jadwalHari = new JadwalHariModel
            {
                Kode          = "",
                KodeDokter    = "DK008",
                KodeLayanan   = "RJ003",
                Hari          = 1,
                JamMulai      = "08:00",
                JamSelesai    = "11:00",
                JadwalPerJams = sesion0800_1100
            };
            jadwalHariBL.Save(jadwalHari);

            // Indah Prisesa
            jadwalHari = new JadwalHariModel
            {
                Kode          = "",
                KodeDokter    = "DK009",
                KodeLayanan   = "RJ003",
                Hari          = 1,
                JamMulai      = "08:00",
                JamSelesai    = "11:00",
                JadwalPerJams = sesion0800_1100
            };
            jadwalHariBL.Save(jadwalHari);

            jadwalHari.Kode = "";
            jadwalHari.Hari = 2;
            jadwalHariBL.Save(jadwalHari);

            jadwalHari.Kode = "";
            jadwalHari.Hari = 3;
            jadwalHariBL.Save(jadwalHari);

            jadwalHari.Kode          = "";
            jadwalHari.Hari          = 4;
            jadwalHari.JamMulai      = "19:00";
            jadwalHari.JamSelesai    = "21:30";
            jadwalHari.JadwalPerJams = sesion1900_2130;
            jadwalHariBL.Save(jadwalHari);

            jadwalHari.Kode          = "";
            jadwalHari.Hari          = 5;
            jadwalHari.JamMulai      = "19:00";
            jadwalHari.JamSelesai    = "21:30";
            jadwalHari.JadwalPerJams = sesion1900_2130;
            jadwalHariBL.Save(jadwalHari);

            jadwalHari.Kode          = "";
            jadwalHari.Hari          = 6;
            jadwalHari.JamMulai      = "19:00";
            jadwalHari.JamSelesai    = "21:30";
            jadwalHari.JadwalPerJams = sesion1900_2130;
            jadwalHariBL.Save(jadwalHari);

            // Joko Putranto
            jadwalHari = new JadwalHariModel
            {
                Kode          = "",
                KodeDokter    = "DK010",
                KodeLayanan   = "RJ004",
                Hari          = 4,
                JamMulai      = "08:00",
                JamSelesai    = "11:00",
                JadwalPerJams = sesion0800_1100
            };
            jadwalHariBL.Save(jadwalHari);

            jadwalHari.Kode          = "";
            jadwalHari.Hari          = 6;
            jadwalHari.JamMulai      = "19:00";
            jadwalHari.JamSelesai    = "21:30";
            jadwalHari.JadwalPerJams = sesion1900_2130;
            jadwalHariBL.Save(jadwalHari);

            // Kumala Andriningsih
            jadwalHari = new JadwalHariModel
            {
                Kode          = "",
                KodeDokter    = "DK011",
                KodeLayanan   = "RJ004",
                Hari          = 1,
                JamMulai      = "08:00",
                JamSelesai    = "11:00",
                JadwalPerJams = sesion0800_1100
            };
            jadwalHariBL.Save(jadwalHari);

            jadwalHari.Kode          = "";
            jadwalHari.Hari          = 2;
            jadwalHari.JamMulai      = "12:00";
            jadwalHari.JamSelesai    = "14:30";
            jadwalHari.JadwalPerJams = sesion1200_1430;
            jadwalHariBL.Save(jadwalHari);

            jadwalHari.Kode          = "";
            jadwalHari.Hari          = 3;
            jadwalHari.JamMulai      = "16:00";
            jadwalHari.JamSelesai    = "18:00";
            jadwalHari.JadwalPerJams = sesion1600_1800;
            jadwalHariBL.Save(jadwalHari);

            jadwalHari.Kode          = "";
            jadwalHari.Hari          = 4;
            jadwalHari.JamMulai      = "19:00";
            jadwalHari.JamSelesai    = "21:30";
            jadwalHari.JadwalPerJams = sesion1900_2130;
            jadwalHariBL.Save(jadwalHari);

            // Lalu Kirmanto
            jadwalHari = new JadwalHariModel
            {
                Kode          = "",
                KodeDokter    = "DK012",
                KodeLayanan   = "RJ005",
                Hari          = 1,
                JamMulai      = "08:00",
                JamSelesai    = "11:00",
                JadwalPerJams = sesion0800_1100
            };
            jadwalHariBL.Save(jadwalHari);

            jadwalHari.Kode          = "";
            jadwalHari.Hari          = 4;
            jadwalHari.JamMulai      = "12:00";
            jadwalHari.JamSelesai    = "14:30";
            jadwalHari.JadwalPerJams = sesion1200_1430;
            jadwalHariBL.Save(jadwalHari);

            // Mima Florence
            jadwalHari = new JadwalHariModel
            {
                Kode          = "",
                KodeDokter    = "DK013",
                KodeLayanan   = "RJ005",
                Hari          = 3,
                JamMulai      = "08:00",
                JamSelesai    = "11:00",
                JadwalPerJams = sesion0800_1100
            };
            jadwalHariBL.Save(jadwalHari);

            jadwalHari.Kode          = "";
            jadwalHari.Hari          = 4;
            jadwalHari.JamMulai      = "08:00";
            jadwalHari.JamSelesai    = "11:00";
            jadwalHari.JadwalPerJams = sesion0800_1100;
            jadwalHariBL.Save(jadwalHari);

            jadwalHari.Kode          = "";
            jadwalHari.Hari          = 5;
            jadwalHari.JamMulai      = "12:00";
            jadwalHari.JamSelesai    = "14:30";
            jadwalHari.JadwalPerJams = sesion1200_1430;
            jadwalHariBL.Save(jadwalHari);

            // Nihaya Simanjuntak
            jadwalHari = new JadwalHariModel
            {
                Kode          = "",
                KodeDokter    = "DK014",
                KodeLayanan   = "RJ006",
                Hari          = 1,
                JamMulai      = "16:00",
                JamSelesai    = "18:00",
                JadwalPerJams = sesion1600_1800
            };
            jadwalHariBL.Save(jadwalHari);

            jadwalHari.Kode          = "";
            jadwalHari.Hari          = 6;
            jadwalHari.JamMulai      = "12:00";
            jadwalHari.JamSelesai    = "14:30";
            jadwalHari.JadwalPerJams = sesion1200_1430;
            jadwalHariBL.Save(jadwalHari);

            // Ogura Kagawa
            jadwalHari = new JadwalHariModel
            {
                Kode          = "",
                KodeDokter    = "DK015",
                KodeLayanan   = "RJ007",
                Hari          = 1,
                JamMulai      = "16:00",
                JamSelesai    = "18:00",
                JadwalPerJams = sesion1600_1800
            };
            jadwalHariBL.Save(jadwalHari);

            jadwalHari.Kode = "";
            jadwalHari.Hari = 2;
            jadwalHariBL.Save(jadwalHari);

            jadwalHari.Kode          = "";
            jadwalHari.Hari          = 3;
            jadwalHari.JamMulai      = "19:00";
            jadwalHari.JamSelesai    = "21:30";
            jadwalHari.JadwalPerJams = sesion1900_2130;
            jadwalHariBL.Save(jadwalHari);

            jadwalHari.Kode          = "";
            jadwalHari.Hari          = 4;
            jadwalHari.JamMulai      = "12:00";
            jadwalHari.JamSelesai    = "14:30";
            jadwalHari.JadwalPerJams = sesion1200_1430;
            jadwalHariBL.Save(jadwalHari);

            jadwalHari.Kode          = "";
            jadwalHari.Hari          = 5;
            jadwalHari.JamMulai      = "19:00";
            jadwalHari.JamSelesai    = "21:30";
            jadwalHari.JadwalPerJams = sesion1900_2130;
            jadwalHariBL.Save(jadwalHari);

            // Pangeran A. Peluu
            jadwalHari = new JadwalHariModel
            {
                Kode          = "",
                KodeDokter    = "DK016",
                KodeLayanan   = "RJ008",
                Hari          = 1,
                JamMulai      = "12:00",
                JamSelesai    = "14:30",
                JadwalPerJams = sesion1200_1430
            };
            jadwalHariBL.Save(jadwalHari);

            jadwalHari.Kode          = "";
            jadwalHari.Hari          = 2;
            jadwalHari.JamMulai      = "19:00";
            jadwalHari.JamSelesai    = "21:30";
            jadwalHari.JadwalPerJams = sesion1900_2130;
            jadwalHariBL.Save(jadwalHari);

            jadwalHari.Kode = "";
            jadwalHari.Hari = 3;
            jadwalHariBL.Save(jadwalHari);

            // Quraish Muchlis
            jadwalHari = new JadwalHariModel
            {
                Kode          = "",
                KodeDokter    = "DK017",
                KodeLayanan   = "RJ009",
                Hari          = 4,
                JamMulai      = "16:00",
                JamSelesai    = "18:00",
                JadwalPerJams = sesion1600_1800
            };
            jadwalHariBL.Save(jadwalHari);

            jadwalHari.Kode          = "";
            jadwalHari.Hari          = 6;
            jadwalHari.JamMulai      = "12:00";
            jadwalHari.JamSelesai    = "14:30";
            jadwalHari.JadwalPerJams = sesion1200_1430;
            jadwalHariBL.Save(jadwalHari);

            // Rahmat Bajang
            jadwalHari = new JadwalHariModel
            {
                Kode          = "",
                KodeDokter    = "DK018",
                KodeLayanan   = "RJ010",
                Hari          = 1,
                JamMulai      = "16:00",
                JamSelesai    = "18:00",
                JadwalPerJams = sesion1600_1800
            };
            jadwalHariBL.Save(jadwalHari);

            jadwalHari.Kode = "";
            jadwalHari.Hari = 2;
            jadwalHariBL.Save(jadwalHari);

            jadwalHari.Kode          = "";
            jadwalHari.Hari          = 3;
            jadwalHari.JamMulai      = "12:00";
            jadwalHari.JamSelesai    = "14:30";
            jadwalHari.JadwalPerJams = sesion1200_1430;
            jadwalHariBL.Save(jadwalHari);

            jadwalHari.Kode = "";
            jadwalHari.Hari = 4;
            jadwalHariBL.Save(jadwalHari);
        }
示例#11
0
        public JadwalHariModel GetById(string id)
        {
            JadwalHariModel retVal = null;

            string sSql = @" 
                SELECT      aa.fs_kd_dokter, aa.fs_kd_layanan, aa.fn_hari, 
                            aa.fs_jam_mulai, aa.fs_jam_selesai,
                            ISNULL(bb.fs_nm_dokter, ' ') fs_nm_dokter, 
                            ISNULL(cc.fs_nm_layanan, ' ') fs_nm_layanan
                FROM        ta_jadwal_hari aa
                LEFT JOIN   ta_dokter bb ON aa.fs_kd_dokter = bb.fs_kd_dokter 
                LEFT JOIN   ta_layanan cc ON aa.fs_kd_layanan = cc.fs_kd_layanan
                WHERE       fs_kd_jadwal = @Kode ";

            using (SqlConnection conn = new SqlConnection(_connString))
                using (SqlCommand cmd = new SqlCommand(sSql, conn))
                {
                    conn.Open();
                    cmd.Parameters.AddWithValue("@Kode", id);
                    SqlDataReader dr = cmd.ExecuteReader();
                    if (dr.HasRows)
                    {
                        dr.Read();
                        retVal             = new JadwalHariModel();
                        retVal.Kode        = id;
                        retVal.KodeDokter  = dr["fs_kd_dokter"].ToString();
                        retVal.NamaDokter  = dr["fs_nm_dokter"].ToString();
                        retVal.KodeLayanan = dr["fs_kd_layanan"].ToString();
                        retVal.NamaLayanan = dr["fs_nm_layanan"].ToString();
                        retVal.Hari        = Convert.ToInt16(dr["fn_hari"].ToString());
                        retVal.JamMulai    = dr["fs_jam_mulai"].ToString();
                        retVal.JamSelesai  = dr["fs_jam_selesai"].ToString();
                    }
                    dr.Close();

                    //  query detil
                    sSql            = @"
                    SELECT  fs_jam, fn_durasi, fn_max, fn_booked
                    FROM    ta_jadwal_hari_jam
                    WHERE   fs_kd_jadwal = @Kode ";
                    cmd.CommandText = sSql;
                    cmd.Parameters.Clear();
                    cmd.Parameters.AddWithValue("@Kode", id);
                    SqlDataReader dr2 = cmd.ExecuteReader();
                    if (dr2.HasRows)
                    {
                        retVal.JadwalPerJams = new List <JadwalHariPerJamModel>();
                        while (dr2.Read())
                        {
                            JadwalHariPerJamModel item = new JadwalHariPerJamModel();
                            item.Jam    = dr2["fs_jam"].ToString();
                            item.Durasi = Convert.ToInt16(dr2["fn_durasi"].ToString());
                            item.Max    = Convert.ToInt16(dr2["fn_max"].ToString());
                            item.Booked = Convert.ToInt16(dr2["fn_booked"].ToString());
                            retVal.JadwalPerJams.Add(item);
                        }
                    }
                }

            return(retVal);
        }
示例#12
0
        public void Save(JadwalHariModel jadwal)
        {
            //--validasi
            //  dokter
            if (_dokterBL.GetById(jadwal.KodeDokter).Nama.Trim() == "")
            {
                throw new ArgumentException("Invalid DOKTER");
            }

            //  layanan
            if (_layananBL.GetById(jadwal.KodeLayanan).Nama.Trim() == "")
            {
                throw new ArgumentException("Invalid LAYANAN");
            }

            //  hari
            if (jadwal.Hari < 1 || jadwal.Hari > 7)
            {
                throw new ArgumentException("Invalid HARI");
            }

            //  jam mulai
            TimeSpan jamMulai;

            if (!TimeSpan.TryParse(jadwal.JamMulai, out jamMulai))
            {
                throw new ArgumentException("Invalid JAM MULAI");
            }

            //  jam selesai
            TimeSpan jamSelesai;

            if (!TimeSpan.TryParse(jadwal.JamSelesai, out jamSelesai))
            {
                throw new ArgumentException("Invalid JAM SELESAI");
            }

            //  urutan jam mulai-jam selesai
            if (TimeSpan.Compare(jamMulai, jamSelesai) == 1)
            {
                throw new ArgumentException("Invalid JAM MULAI-SELESAI");
            }

            //--validasi detil per jam
            foreach (JadwalHariPerJamModel item in jadwal.JadwalPerJams)
            {
                //  format jam
                TimeSpan jamDetil;
                if (!TimeSpan.TryParse(item.Jam, out jamDetil))
                {
                    throw new ArgumentException("Invalid Format Detil JAM");
                }

                //  jam detil harus berada di range jam di header
                if (TimeSpan.Compare(jamMulai, jamDetil) == 1)
                {
                    throw new ArgumentException("Invalid Range Detil JAM");
                }
                if (TimeSpan.Compare(jamDetil, jamSelesai) == 1)
                {
                    throw new ArgumentException("Invalid Range Detil JAM");
                }

                //  booked tidak boleh melebihi max
                if (item.Booked > item.Max)
                {
                    throw new ArgumentException("Invalid BOOKED QTY");
                }
            }

            //  cek duplikasi dokter-hari-jam (case beda jadwal sama (ini)))
            //      ambil data header
            var result =
                from jadwalJam in jadwal.JadwalPerJams
                group jadwalJam by jadwalJam.Jam into jamGroup
                select new { Jam = jamGroup.Key, Count = jamGroup.Count() };

            if (result.ToList().Exists(x => x.Count > 1))
            {
                throw new ArgumentException("Duplicated JAM PRAKTEK");
            }


            TransactionOptions tranOption = new TransactionOptions
            {
                IsolationLevel = IsolationLevel.ReadCommitted
            };

            using (TransactionScope tran = new TransactionScope(TransactionScopeOption.Required, tranOption))
            {
                //  generate kode jadwal jika kosong
                if (jadwal.Kode.Trim() == "")
                {
                    ParamNoModel paramNo = _paramNoBL.GetById("JD");
                    jadwal.Kode = _paramNoBL.FormatKode(paramNo, 5, "");
                    _jadwalHariDal.Insert(jadwal);
                }
                else
                {
                    _jadwalHariDal.Update(jadwal);
                }
                tran.Complete();
            }
        }