private void Btn_Simpan_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                if (Kegiatan.SelectedItem.GetType() != typeof(ActionType))
                {
                    MessageBox.Show("Kegiatan harus dipilih", "Warning", MessageBoxButton.OK, MessageBoxImage.Exclamation);
                    Kegiatan.Focus();
                    return;
                }

                if (JenisBarang.SelectedItem.GetType() != typeof(ItemType))
                {
                    MessageBox.Show("Jenis Barang harus dipilih", "Warning", MessageBoxButton.OK, MessageBoxImage.Exclamation);
                    JenisBarang.Focus();
                    return;
                }

                if (NamaBarang.SelectedItem.GetType() != typeof(MasterItemDto))
                {
                    MessageBox.Show("Nama Barang harus dipilih", "Warning", MessageBoxButton.OK, MessageBoxImage.Exclamation);
                    NamaBarang.Focus();
                    return;
                }

                if (string.IsNullOrEmpty(Kwantum.Text))
                {
                    MessageBox.Show("Kwantum (KG) tidak boleh kosong", "Warning", MessageBoxButton.OK, MessageBoxImage.Exclamation);
                    Kwantum.Focus();
                    return;
                }

                if (ListPekerja.Items.Count == 0)
                {
                    MessageBox.Show("Pekerja tidak boleh kosong", "Warning", MessageBoxButton.OK, MessageBoxImage.Exclamation);
                    NamaPetugas.Focus();
                    return;
                }

                if (NoPolisi.SelectedItem.GetType() != typeof(MasterTransportDto))
                {
                    MessageBox.Show("No Polisi harus dipilih", "Warning", MessageBoxButton.OK, MessageBoxImage.Exclamation);
                    NoPolisi.Focus();
                    return;
                }

                if (NamaPengirim.SelectedItem.GetType() != typeof(MasterSupplierDto))
                {
                    MessageBox.Show("Pengirim harus dipilih", "Warning", MessageBoxButton.OK, MessageBoxImage.Exclamation);
                    NamaPengirim.Focus();
                    return;
                }

                if (Berangkat.Value == new TimeSpan(0, 0, 0))
                {
                    MessageBox.Show("Waktu berangkat harus lebih dari jam 00:00:00", "Warning", MessageBoxButton.OK, MessageBoxImage.Exclamation);
                    Berangkat.Focus();
                    return;
                }

                if (Sampai.Value == new TimeSpan(0, 0, 0))
                {
                    MessageBox.Show("Waktu sampai harus lebih dari jam 00:00:00", "Warning", MessageBoxButton.OK, MessageBoxImage.Exclamation);
                    Sampai.Focus();
                    return;
                }

                if (Sampai.Value <= Berangkat.Value)
                {
                    MessageBox.Show("Waktu sampai harus lebih dari waktu Berangkat", "Warning", MessageBoxButton.OK, MessageBoxImage.Exclamation);
                    Sampai.Focus();
                    return;
                }

                var Dto = new TRNBongkarMuatDto();

                var Barang    = (MasterItemDto)NamaBarang.SelectedItem;
                var Transport = (MasterTransportDto)NoPolisi.SelectedItem;
                var Pengirim  = (MasterSupplierDto)NamaPengirim.SelectedItem;

                Dto.TANGGAL_KIRIM   = DateTime.Parse(TglKirim.Text);
                Dto.BERANGKAT       = new DateTime(Dto.TANGGAL_KIRIM.Year, Dto.TANGGAL_KIRIM.Month, Dto.TANGGAL_KIRIM.Day, Berangkat.Value.Hours, Berangkat.Value.Minutes, Berangkat.Value.Seconds);
                Dto.SAMPAI          = new DateTime(Dto.TANGGAL_KIRIM.Year, Dto.TANGGAL_KIRIM.Month, Dto.TANGGAL_KIRIM.Day, Sampai.Value.Hours, Sampai.Value.Minutes, Sampai.Value.Seconds);
                Dto.HARGA           = Barang.HARGA;
                Dto.HARGA_KONTAINER = Barang.ONGKOS_CONTAINER;
                Dto.ID_BARANG       = Barang.ID;
                Dto.ID_PENGIRIM     = Pengirim.ID;
                Dto.JENIS_BARANG    = (ItemType)JenisBarang.SelectedItem;
                Dto.JUMLAH_PEKERJA  = ListPekerja.Items.Count;
                Dto.KEGIATAN        = (ActionType)Kegiatan.SelectedItem;
                Dto.KWANTUM         = decimal.Parse(Kwantum.Text);

                var LamaWaktu = Dto.SAMPAI.Add(Dto.BERANGKAT.TimeOfDay);
                Dto.LAMA_WAKTU = new DateTime(Dto.TANGGAL_KIRIM.Year, Dto.TANGGAL_KIRIM.Month, Dto.TANGGAL_KIRIM.Day, LamaWaktu.Hour, LamaWaktu.Minute, LamaWaktu.Second);

                Dto.NAMA_BARANG = Barang.NAMA_BARANG;
                Dto.NOPOL       = Transport.NO_POLISI;
                Dto.PENGIRIM    = Pengirim.NAMA_SUPPLIER;
                Dto.TOTAL_HARGA = Dto.KWANTUM * Dto.HARGA;
                Dto.ONGKOS      = Dto.TOTAL_HARGA / ((decimal)ListPekerja.Items.Count);
                Dto.ID_NOPOL    = Transport.ID;

                //not mandatory
                if (!string.IsNullOrEmpty(UangMakan.Text))
                {
                    Dto.UANG_MAKAN = decimal.Parse(UangMakan.Text);
                }

                if (!string.IsNullOrEmpty(MuatContainer.Text))
                {
                    Dto.MUAT_KONTAINER  = decimal.Parse(MuatContainer.Text);
                    Dto.TOTAL_KONTAINER = Dto.MUAT_KONTAINER * Barang.ONGKOS_CONTAINER;
                }
                var ListPetugas = ListPekerja.Items.Cast <MasterPetugasDto>()
                                  .Select(item => item)
                                  .ToList();

                Dto.trn_bongkat_muat_details_pekerja = AutoMapper.Mapper.Map <List <TRNBongkarMuatDetailsPekerjaDto> >(ListPetugas.ToList());
                _trnServices.Save(Dto);

                MessageBox.Show("Save Data Sukses", "Sukses", MessageBoxButton.OK, MessageBoxImage.Information);
                CloseWin();
            }
            catch (Exception exp)
            {
                var a = exp.Message;
                MessageBox.Show("Save Data Error", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }
Esempio n. 2
0
        private void cmdSave_Click(object sender, EventArgs e)
        {
            if (Tools.isNull(NamaBarang.Text, "").ToString() == "")
            {
                MessageBox.Show("Nama Barang masih Kosong.");
                NamaBarang.Focus();
                return;
            }
            if (lookupGudang1.GudangID == "")
            {
                MessageBox.Show("Gudang Tujuan masih kosong.");
                lookupGudang1.Focus();
                return;
            }
            if (lookupExpedisi1.NamaExpedisi == "")
            {
                MessageBox.Show("Nama Ekspedisi masih kosong.");
                lookupExpedisi1.Focus();
                return;
            }

            depan = "ATK";
            lebar = 4;
            int       nomor    = 0;
            string    belakang = "";
            DataTable dtNum    = Tools.GetGeneralNumerator(depan);

            if (dtNum.Rows.Count > 0)
            {
                belakang = Tools.isNull(dtNum.Rows[0]["Belakang"], "").ToString();
                if (Tools.isNull(dtNum.Rows[0]["Depan"], "").ToString() != depan)
                {
                    nomor = 1;
                }
                else
                {
                    nomor = int.Parse(Tools.isNull(dtNum.Rows[0]["Nomor"], "0").ToString());
                    nomor = nomor + 1;
                }
            }
            else
            {
                nomor = 1;
            }
            string _Nomor = Tools.FormatNumerator(nomor, lebar, depan, belakang);

            using (Database db = new Database())
            {
                Cursor.Current = Cursors.WaitCursor;
                try
                {
                    db.Commands.Add(db.CreateCommand("usp_PengirimanXpdcDetail_INSERT"));
                    db.Commands[0].Parameters.Add(new Parameter("@RowID", SqlDbType.UniqueIdentifier, Guid.NewGuid()));
                    db.Commands[0].Parameters.Add(new Parameter("@HeaderID", SqlDbType.UniqueIdentifier, _rowID));
                    db.Commands[0].Parameters.Add(new Parameter("@NotaJualID", SqlDbType.UniqueIdentifier, Guid.Empty));
                    db.Commands[0].Parameters.Add(new Parameter("@TglSuratJalan", SqlDbType.DateTime, Tanggal.DateValue));
                    db.Commands[0].Parameters.Add(new Parameter("@NoSuratJalan", SqlDbType.VarChar, _Nomor));
                    db.Commands[0].Parameters.Add(new Parameter("@TransactionType", SqlDbType.VarChar, "ATK"));
                    db.Commands[0].Parameters.Add(new Parameter("@KodeToko", SqlDbType.VarChar, lookupGudang1.GudangID));
                    db.Commands[0].Parameters.Add(new Parameter("@Barcode", SqlDbType.VarChar, ""));
                    db.Commands[0].Parameters.Add(new Parameter("@JumlahKoli", SqlDbType.Int, int.Parse(Tools.isNull(JmlKoli.Text, "0").ToString())));
                    db.Commands[0].Parameters.Add(new Parameter("@JumlahPcs", SqlDbType.Int, int.Parse(Tools.isNull(JmlPcs.Text, "0").ToString())));
                    db.Commands[0].Parameters.Add(new Parameter("@KeteranganKoli", SqlDbType.VarChar, Tools.isNull(KetKoli.Text, string.Empty).ToString()));
                    db.Commands[0].Parameters.Add(new Parameter("@NoKoli", SqlDbType.VarChar, Tools.isNull(NoKoli.Text, string.Empty).ToString()));
                    db.Commands[0].Parameters.Add(new Parameter("@LastUpdatedBY", SqlDbType.VarChar, SecurityManager.UserID));
                    db.Commands[0].ExecuteNonQuery();
                    this.DialogResult = DialogResult.OK;
                    this.Close();
                }
                catch (Exception ex) { Error.LogError(ex); }
                finally { Cursor.Current = Cursors.Default; }
            }
        }