Exemplo n.º 1
0
        public void SaveTest()
        {
            var obj = new GajiKaryawan
            {
                karyawan_id = "72f28a4f-f364-423a-a09b-2b9571543fde",
                pengguna_id = "00b5acfa-b533-454b-8dfd-e7881edd180f",
                tanggal     = DateTime.Today,
                nota        = _bll.GetLastNota(),
                bulan       = 3,
                tahun       = 2017,
                kehadiran   = 24,
                absen       = 1,
                gaji_pokok  = 3000000,
                lembur      = 0,
                bonus       = 0,
                potongan    = 0,
                jam         = 1,
                keterangan  = "tesss",
                jumlah_hari = 6,
                tunjangan   = 0
            };

            // item pembayaran kasbon
            var listOfPembayaranKasbon = new List <PembayaranKasbon>();

            var pembayaranKasbon1 = new PembayaranKasbon
            {
                kasbon_id = "d6ba5c9e-b0ba-40ba-9dc8-f631fc499aab",
                Kasbon    = new Kasbon {
                    kasbon_id = "d6ba5c9e-b0ba-40ba-9dc8-f631fc499aab"
                },
                nominal    = 600000,
                keterangan = "Pembayaran dari gaji"
            };

            var pembayaranKasbon2 = new PembayaranKasbon
            {
                kasbon_id = "89a3fbb2-441c-4043-b858-755e112cd997",
                Kasbon    = new Kasbon {
                    kasbon_id = "89a3fbb2-441c-4043-b858-755e112cd997"
                },
                nominal    = 100000,
                keterangan = "Pembayaran dari gaji"
            };

            listOfPembayaranKasbon.Add(pembayaranKasbon1);
            listOfPembayaranKasbon.Add(pembayaranKasbon2);
            obj.item_pembayaran_kasbon = listOfPembayaranKasbon;

            var validationError = new ValidationError();

            var result = _bll.Save(obj, ref validationError);

            Console.WriteLine("Error : " + validationError.Message);

            Assert.IsTrue(result != 0);

            var newObj = _bll.GetByID(obj.gaji_karyawan_id);

            Assert.IsNotNull(newObj);
            Assert.AreEqual(obj.gaji_karyawan_id, newObj.gaji_karyawan_id);
            Assert.AreEqual(obj.karyawan_id, newObj.karyawan_id);
            Assert.AreEqual(obj.pengguna_id, newObj.pengguna_id);
            Assert.AreEqual(obj.tanggal, newObj.tanggal);
            Assert.AreEqual(obj.nota, newObj.nota);
            Assert.AreEqual(obj.bulan, newObj.bulan);
            Assert.AreEqual(obj.tahun, newObj.tahun);
            Assert.AreEqual(obj.kehadiran, newObj.kehadiran);
            Assert.AreEqual(obj.absen, newObj.absen);
            Assert.AreEqual(obj.gaji_pokok, newObj.gaji_pokok);
            Assert.AreEqual(obj.lembur, newObj.lembur);
            Assert.AreEqual(obj.bonus, newObj.bonus);
            Assert.AreEqual(obj.potongan, newObj.potongan);
            Assert.AreEqual(obj.jam, newObj.jam);
            Assert.AreEqual(obj.lainnya, newObj.lainnya);
            Assert.AreEqual(obj.keterangan, newObj.keterangan);
            Assert.AreEqual(obj.jumlah_hari, newObj.jumlah_hari);
            Assert.AreEqual(obj.tunjangan, newObj.tunjangan);
        }
        protected override void Simpan()
        {
            if (_isNewData)
            {
                _gaji = new GajiKaryawan();

                if (this._karyawan == null)
                {
                    MsgHelper.MsgWarning("Karyawan belum dipilih");
                    return;
                }

                _gaji.karyawan_id = _karyawan.karyawan_id;
                _gaji.Karyawan    = _karyawan;

                _gaji.bulan = DayMonthHelper.GetBulanAngka(cmbBulan.Text);
                _gaji.tahun = int.Parse(cmbTahun.Text);
            }

            _gaji.pengguna_id = this._pengguna.pengguna_id;
            _gaji.Pengguna    = this._pengguna;
            _gaji.nota        = txtNota.Text;

            _gaji.tanggal   = dtpTanggal.Value;
            _gaji.kehadiran = int.Parse(txtKehadiran.Text);
            _gaji.absen     = int.Parse(txtAbsen.Text);

            _gaji.jumlah_hari = int.Parse(txtJumlahHari.Text);
            _gaji.gaji_pokok  = NumberHelper.StringToDouble(txtGaji.Text);
            _gaji.tunjangan   = NumberHelper.StringToDouble(txtTunjangan.Text);
            _gaji.bonus       = NumberHelper.StringToDouble(txtBonus.Text);
            _gaji.jam         = int.Parse(txtJam.Text);
            _gaji.lembur      = NumberHelper.StringToDouble(txtLembur.Text);
            _gaji.potongan    = NumberHelper.StringToDouble(txtPotongan.Text);

            var result          = 0;
            var validationError = new ValidationError();

            if (_isNewData)
            {
                result = _bll.Save(_gaji, ref validationError);
            }
            else
            {
                result = _bll.Update(_gaji, ref validationError);
            }

            if (result > 0)
            {
                Listener.Ok(this, _isNewData, _gaji);

                if (_isNewData)
                {
                    cmbKaryawan.SelectedIndex = 0;
                    cmbKaryawan.Focus();

                    txtNota.Text = _bll.GetLastNota();
                }
                else
                {
                    this.Close();
                }
            }
            else
            {
                if (validationError.Message != null && validationError.Message.Length > 0)
                {
                    MsgHelper.MsgWarning(validationError.Message);
                    base.SetFocusObject(validationError.PropertyName, this);
                }
                else
                {
                    var pesan = string.Format("Maaf, Data yang Anda masukkan gagal disimpan !\nCek apakah data gaji '{0}' sudah diinputkan.", _gaji.Karyawan.nama_karyawan);
                    MsgHelper.MsgWarning(pesan);
                }
            }
        }