예제 #1
0
        public static string HapusData(Karyawan pKaryawan)
        {
            string sql = "DELETE FROM Karyawan WHERE idPegawai = '" + pKaryawan.IdKaryawan + "'";

            try
            {
                Koneksi.JalankanPerintahDML(sql);

                string namaServer    = Koneksi.GetNamaServer();
                string hasilDropUser = Karyawan.HapusUser(pKaryawan, namaServer);

                if (hasilDropUser != "1")
                {
                    return("Gagal menghapus akun user. Pesan kesalahan: " + hasilDropUser);
                }
                else
                {
                    return("1");
                }
            }
            catch (MySqlException ex)
            {
                return(ex.Message + ". Perintah sql: " + sql);
            }
        }
예제 #2
0
        public static string UbahData(Karyawan pKaryawan)
        {
            string sql = "UPDATE Karyawan SET Nama = '" + pKaryawan.Nama + "', gender='" + pKaryawan.Gender + "', alamat='" + pKaryawan.Alamat + "', noTelepon=" + pKaryawan.NoTelepon + ", gaji='" + pKaryawan.Gaji + "' WHERE idPegawai ='" + pKaryawan.IdKaryawan + "'";

            try
            {
                Koneksi.JalankanPerintahDML(sql);

                string namaServer    = Koneksi.GetNamaServer();
                string hasilUbahUser = Karyawan.UbahPasswordUser(pKaryawan, namaServer);

                if (hasilUbahUser != "1")
                {
                    return("Gagal merubah password baru. Pesan kesalahan: " + hasilUbahUser);
                }
                else
                {
                    return("1");
                }
            }
            catch (MySqlException ex)
            {
                return(ex.Message + ". Perintah sql: " + sql);
            }
        }
예제 #3
0
        public static string BeriHakAkses(Karyawan pKaryawan, string pNamaServer, string pNamaDatabase)
        {
            string sql = "GRANT ALL PRIVILEGES ON " + pNamaDatabase + ".* TO '" + pKaryawan.Nama + "'@'" + pNamaServer + "'" + " WITH GRANT OPTION";

            try
            {
                Koneksi.JalankanPerintahDML(sql);
                return("1");
            }
            catch (MySqlException ex)
            {
                return(ex.Message + ". Perintah sql : " + sql);
            }
        }
예제 #4
0
        public static string HapusUser(Karyawan pKaryawan, string pNamaServer)
        {
            string sql = "DROP USER '" + pKaryawan.Nama + "'@'" + pNamaServer + "'";

            try
            {
                Koneksi.JalankanPerintahDML(sql);
                return("1");
            }
            catch (MySqlException ex)
            {
                return(ex.Message + ". Perintah sql : " + sql);
            }
        }
예제 #5
0
        public static string BuatUserBaru(Karyawan pKaryawan, string pNamaServer)
        {
            string sql = "CREATE USER '" + pKaryawan.Nama + "'@'" + pNamaServer + "' IDENTIFIED BY 's4'";

            try
            {
                Koneksi.JalankanPerintahDML(sql);
                return("1");
            }
            catch (MySqlException ex)
            {
                return(ex.Message + ". Perintah sql : " + sql);
            }
        }
예제 #6
0
        public static string UbahPasswordUser(Karyawan pKaryawan, string pNamaServer)
        {
            string sql = "UPDATE mysql.user SET Password = PASSWORD('s4') WHERE USER = '******' AND Host = '" + pNamaServer + "'";


            try
            {
                Koneksi.JalankanPerintahDML(sql);
                return("1");
            }
            catch (MySqlException ex)
            {
                return(ex.Message + ". Perintah sql : " + sql);
            }
        }
예제 #7
0
        public static string BacaData(string kriteria, string nilaiKriteria, List <Karyawan> listHasilData)
        {
            string sql = "";

            if (kriteria == "")
            {
                sql = "SELECT * from karyawan";
            }
            else
            {
                sql = "SELECT * from karyawan WHERE " + kriteria + " LIKE '%" + nilaiKriteria + "%'";
            }
            try
            {
                MySqlDataReader hasilData = Koneksi.JalankanPerintahQuery(sql);

                listHasilData.Clear();

                while (hasilData.Read() == true)
                {
                    Karyawan kr = new Karyawan();
                    kr.IdKaryawan = hasilData.GetValue(0).ToString();
                    kr.Nama       = hasilData.GetValue(1).ToString();
                    kr.Gender     = hasilData.GetValue(2).ToString();
                    kr.Alamat     = hasilData.GetValue(3).ToString();
                    kr.NoTelepon  = hasilData.GetValue(4).ToString();
                    kr.Gaji       = int.Parse(hasilData.GetValue(5).ToString());

                    listHasilData.Add(kr);
                }
                return("1");
            }
            catch (MySqlException ex)
            {
                return(ex.Message + ". Perintah sql : " + sql);
            }
        }
예제 #8
0
        public static string TambahData(Karyawan pKaryawan)
        {
            string sql = "INSERT INTO Karyawan (idKaryawan, nama, gender, alamat, noTelepon, gaji) VALUES ('" + pKaryawan.IdKaryawan + "', '" + pKaryawan.Nama.Replace("'", "\\") + "', '" + pKaryawan.Gender + "', '" + pKaryawan.Alamat + "', " + pKaryawan.NoTelepon + ", '" + pKaryawan.Gaji + "')";

            try
            {
                Koneksi.JalankanPerintahDML(sql);

                string namaServer   = Koneksi.GetNamaServer();
                string namaDatabase = Koneksi.GetNamaDatabase();

                string hasilBuatUser = Karyawan.BuatUserBaru(pKaryawan, namaServer);

                if (hasilBuatUser != "1")
                {
                    return("Gagal membuat user baru. Pesan kesalahan: " + hasilBuatUser);
                }
                else
                {
                    string hasilHakAkses = Karyawan.BeriHakAkses(pKaryawan, namaServer, namaDatabase);

                    if (hasilHakAkses != "1")
                    {
                        return("Gagal memberikan hak akses user baru. Pesan kesalahan: " + hasilHakAkses);
                    }
                    else
                    {
                        return("1");
                    }
                }
            }
            catch (MySqlException ex)
            {
                return(ex.Message + ". Perintah sql : " + sql);
            }
        }
예제 #9
0
        public static string BacaData(string kriteria, string nilaiKriteria, List <JobOrder> listJobOrder)
        {
            string sql1 = "";

            if (kriteria == "")
            {
                //tuliskan perintah sql1 = untuk menampilkan semua data  ditabel JobOrder
                sql1 = "SELECT J.kodeJobOrder, B.kodeBarang, B.nama as Item, B.hargaBeliTerbaru, J.quantity, B.satuan, J.directMaterial, J.directLabor, " +
                       " J.overheadProduksi, J.tglMulai, J.tglSelesai, J.noNotaPenjualan, J.status FROM notapenjualan NP inner join " +
                       " joborder J on NP.noNotaPenjualan = J.noNotaPenjualan inner join barang B on B.kodeBarang = J.kodebarang order by kodejoborder DESC ";
            }
            else
            {
                sql1 = "SELECT J.kodeJobOrder, B.kodeBarang, B.nama as Item, B.hargaBeliTerbaru, J.quantity, B.satuan, J.directMaterial, J.directLabor, " +
                       " J.overheadProduksi, J.tglMulai, J.tglSelesai, J.noNotaPenjualan, J.status FROM notapenjualan NP inner join " +
                       " joborder J on NP.noNotaPenjualan = J.noNotaPenjualan inner join barang B on B.kodeBarang = J.kodebarang  where " +
                       kriteria + " LIKE '%" + nilaiKriteria + "%' order by kodejoborder DESC";
            }

            try
            {
                //data reader 1 = memperoleh semua data di tabel job order
                MySqlDataReader hasilData1 = Koneksi.JalankanPerintahQuery(sql1);
                listJobOrder.Clear();//kosongi isi list terlebih dahulu
                while (hasilData1.Read())
                {
                    //mendapatkan  kodeJobOrder, quantity , satuan, dll
                    string   kodeJob   = hasilData1.GetValue(0).ToString();
                    int      pQuantity = int.Parse(hasilData1.GetValue(4).ToString());
                    int      pMaterial = int.Parse(hasilData1.GetValue(6).ToString());
                    int      pLabor    = int.Parse(hasilData1.GetValue(7).ToString());
                    int      pOver     = int.Parse(hasilData1.GetValue(8).ToString());
                    DateTime pMulai    = DateTime.Parse(hasilData1.GetValue(9).ToString());
                    DateTime pSelesai  = DateTime.Parse(hasilData1.GetValue(10).ToString());
                    string   pStatus   = hasilData1.GetValue(12).ToString();

                    //tambahkan no nota
                    string        noNota = hasilData1.GetValue(11).ToString();
                    NotaPenjualan nota   = new NotaPenjualan();
                    nota.NoNotaPenjualan = noNota;

                    //barang  yang akan dibuat
                    //mendapatkan kode barang, nama, harga
                    string kodeBrng = hasilData1.GetValue(1).ToString();
                    string namaBrng = hasilData1.GetValue(2).ToString();
                    int    harga    = int.Parse(hasilData1.GetValue(3).ToString());
                    string pSatuan  = hasilData1.GetValue(5).ToString();

                    //buat object bertipe barang
                    Barang barang = new Barang();
                    //tambahkan 4 data dibawah
                    barang.KodeBarang       = kodeBrng;
                    barang.Nama             = namaBrng;
                    barang.HargaBeliTerbaru = harga;
                    barang.Satuan           = pSatuan;

                    //job order
                    //buat object joborder dan tambahkan data
                    JobOrder job = new JobOrder(kodeJob, pQuantity, pLabor, pMaterial, pOver, pMulai, pSelesai, pStatus, barang, nota);

                    //DETAIL Job Order
                    //query utk detail Job Order
                    //sql2 untuk menghitung directlabor
                    string sql2 = "SELECT K.idkaryawan, K.Nama, K.gender, K.notelepon, DJO.satuan, DJO.gajiPerSatuan FROM joborder JO INNER JOIN " +
                                  "detilJobOrder DJO ON JO.kodejoborder = DJO.kodejoborder INNER JOIN karyawan K ON " +
                                  "DJO.idkaryawan = K.idkaryawan WHERE JO.kodejobOrder = '" + kodeJob + "'";

                    //memperoleh semua data
                    MySqlDataReader hasilData2 = Koneksi.JalankanPerintahQuery(sql2);

                    while (hasilData2.Read())
                    {
                        //mendapatkan  id dan nama karyawan yang bekerja
                        string idKary   = hasilData2.GetValue(0).ToString();
                        string namaKary = hasilData2.GetValue(1).ToString();
                        string pGender  = hasilData2.GetValue(2).ToString();
                        string noTelp   = hasilData2.GetValue(3).ToString();

                        //buat object Karyawan dan tambahkan
                        Karyawan K = new Karyawan();
                        K.IdKaryawan = idKary;
                        K.Nama       = namaKary;
                        K.Gender     = pGender;
                        K.NoTelepon  = noTelp;

                        //mendapatkan satuan dan Gaji persatuan transaksi
                        string pSat       = hasilData2.GetValue(4).ToString();
                        int    gajiSatuan = int.Parse(hasilData2.GetValue(5).ToString());

                        //buat object bertipe detilJoborder dan tambahkan
                        //ingat baik baik agar fk tidak duplicate
                        DetilJobOrder detilJob = new DetilJobOrder(K, pSat, gajiSatuan);

                        //simpan
                        job.TambahDetilJobOrder(K, pSat, gajiSatuan);
                    }
                    //simpan ke list
                    listJobOrder.Add(job);
                }
                return("1");
            }
            catch (MySqlException ex)
            {
                return(ex.Message);
            }
        }
예제 #10
0
        public void TambahDetilJobOrder(Karyawan pKaryawan, string pSatuan, int pGajiPerSatuan)
        {
            DetilJobOrder djo = new DetilJobOrder(pKaryawan, pSatuan, pGajiPerSatuan);

            ListDetilJobOrder.Add(djo);
        }
예제 #11
0
 public DetilJobOrder(Karyawan karyawan, string satuan, int gajiPerSatuan)
 {
     this.karyawan      = karyawan;
     this.satuan        = satuan;
     this.gajiPerSatuan = gajiPerSatuan;
 }