public TBJurnal Tambah(DataClassesDatabaseDataContext db, DateTime tanggal, string keterangan, int idPengguna, string referensi, List <TBJurnalDetail> Detail) { TBJurnal Jurnal = new TBJurnal { Tanggal = tanggal, Keterangan = keterangan, IDPengguna = idPengguna, Referensi = referensi }; Jurnal.TBJurnalDetails.AddRange(Detail); db.TBJurnals.InsertOnSubmit(Jurnal); return(Jurnal); ////1 - KAS //Jurnal.TBJurnalDetails.Add(new TBJurnalDetail //{ // IDAkun = 1, // Debit = GrandTotal, // Kredit = 0 //}); ////7 - PENJUALAN //Jurnal.TBJurnalDetails.Add(new TBJurnalDetail //{ // IDAkun = 7, // Debit = 0, // Kredit = GrandTotal //}); }
private bool TambahJurnal(DataClassesDatabaseDataContext db, PenggunaLogin Pengguna) { decimal debit1 = (TextBoxNominalDebit.Text).ToDecimal(); decimal debit2 = (TextBoxNominalDebit2.Text).ToDecimal(); decimal debit3 = (TextBoxNominalDebit3.Text).ToDecimal(); decimal debit4 = (TextBoxNominalDebit4.Text).ToDecimal(); decimal kredit1 = (TextBoxNominalKredit.Text).ToDecimal(); decimal kredit2 = (TextBoxNominalKredit2.Text).ToDecimal(); decimal kredit3 = (TextBoxNominalKredit3.Text).ToDecimal(); decimal kredit4 = (TextBoxNominalKredit4.Text).ToDecimal(); if ((debit1 + debit2 + debit3 + debit4) != (kredit1 + kredit2 + kredit3 + kredit4)) { LiteralWarning.Text = "Harap periksa kembali pengisian kolom nominal Anda, karena tidak balance"; panelLiteralError.Visible = true; return(false); } else { TBJurnal Jurnal = NewJurnal(Pengguna); List <TBJurnalDetail> JurnalDetail = new List <TBJurnalDetail>(); //DEBIT if (DropDownListDebit.SelectedIndex != 0) { JurnalDetail.Add(new TBJurnalDetail { IDAkun = (DropDownListDebit.SelectedValue).ToInt(), Debit = (TextBoxNominalDebit.Text).ToDecimal(), Kredit = 0 }); } if (DropDownListDebit2.SelectedIndex != 0) { JurnalDetail.Add(new TBJurnalDetail { IDAkun = (DropDownListDebit2.SelectedValue).ToInt(), Debit = (TextBoxNominalDebit2.Text).ToDecimal(), Kredit = 0 }); } if (DropDownListDebit3.SelectedIndex != 0) { JurnalDetail.Add(new TBJurnalDetail { IDAkun = (DropDownListDebit3.SelectedValue).ToInt(), Debit = (TextBoxNominalDebit3.Text).ToDecimal(), Kredit = 0 }); } if (DropDownListDebit4.SelectedIndex != 0) { JurnalDetail.Add(new TBJurnalDetail { IDAkun = (DropDownListDebit4.SelectedValue).ToInt(), Debit = (TextBoxNominalDebit4.Text).ToDecimal(), Kredit = 0 }); } //KREDIT if (DropDownListKredit.SelectedIndex != 0) { Jurnal.TBJurnalDetails.Add(new TBJurnalDetail { IDAkun = (DropDownListKredit.SelectedValue).ToInt(), Debit = 0, Kredit = (TextBoxNominalKredit.Text).ToDecimal(), }); } if (DropDownListKredit2.SelectedIndex != 0) { Jurnal.TBJurnalDetails.Add(new TBJurnalDetail { IDAkun = (DropDownListKredit2.SelectedValue).ToInt(), Debit = 0, Kredit = (TextBoxNominalKredit2.Text).ToDecimal(), }); } if (DropDownListKredit3.SelectedIndex != 0) { Jurnal.TBJurnalDetails.Add(new TBJurnalDetail { IDAkun = (DropDownListKredit3.SelectedValue).ToInt(), Debit = 0, Kredit = (TextBoxNominalKredit3.Text).ToDecimal(), }); } if (DropDownListKredit4.SelectedIndex != 0) { Jurnal.TBJurnalDetails.Add(new TBJurnalDetail { IDAkun = (DropDownListKredit4.SelectedValue).ToInt(), Debit = 0, Kredit = (TextBoxNominalKredit4.Text).ToDecimal(), }); } //if (FileUploadDokumen.HasFile) // Jurnal.TBJurnalDokumens.Add(new TBJurnalDokumen // { // Format = (FileUploadDokumen.HasFile) ? FileUploadDokumen.FileName.Substring(FileUploadDokumen.FileName.LastIndexOf(".")) : "" // }); Jurnal.TBJurnalDetails.AddRange(JurnalDetail); db.TBJurnals.InsertOnSubmit(Jurnal); db.SubmitChanges(); //if (FileUploadDokumen.HasFile) // FileUploadDokumen.SaveAs(Server.MapPath("~/files/Akuntansi/") + Jurnal.TBJurnalDokumens.FirstOrDefault().IDJurnalDokumen + Jurnal.TBJurnalDokumens.FirstOrDefault().Format); panelLiteralError.Visible = false; return(true); } }
protected void RepeaterJurnal_ItemCommand(object source, RepeaterCommandEventArgs e) { if (e.CommandName == "JurnalPembalik") { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { PenggunaLogin Pengguna = (PenggunaLogin)Session["PenggunaLogin"]; Jurnal_Class Jurnal_Class = new Jurnal_Class(); List <int> DaftarJurnalSerupa = new List <int>(); var Jurnal = Jurnal_Class.Cari(db, e.CommandArgument.ToInt()); TBJurnal JurnalPembalik = new TBJurnal(); for (int i = 0; i < Jurnal.TBJurnalDetails.Count; i++) { //kalo doi KREDIT, masukin nya DEBIT sebesar KREDIT nya if (Jurnal.TBJurnalDetails[i].Debit == 0) { JurnalPembalik.Tanggal = Jurnal.Tanggal; JurnalPembalik.Keterangan = "JURNAL PEMBALIK " + "#" + Jurnal.IDJurnal; JurnalPembalik.IDPengguna = Pengguna.IDPengguna; JurnalPembalik.Referensi = Jurnal.Referensi; JurnalPembalik.TBJurnalDetails.Add(new TBJurnalDetail { IDAkun = Jurnal.TBJurnalDetails[i].IDAkun, Debit = Jurnal.TBJurnalDetails[i].Kredit, Kredit = 0 }); } else { JurnalPembalik.Tanggal = Jurnal.Tanggal; JurnalPembalik.Keterangan = "JURNAL PEMBALIK " + "#" + Jurnal.IDJurnal; JurnalPembalik.IDPengguna = Pengguna.IDPengguna; JurnalPembalik.Referensi = Jurnal.Referensi; JurnalPembalik.TBJurnalDetails.Add(new TBJurnalDetail { IDAkun = Jurnal.TBJurnalDetails[i].IDAkun, Debit = 0, Kredit = Jurnal.TBJurnalDetails[i].Debit }); } } db.TBJurnals.InsertOnSubmit(JurnalPembalik); db.SubmitChanges(); } LoadData(); } else if (e.CommandName == "CashIn") { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { var Jurnal = db.TBJurnals.FirstOrDefault(item => item.IDJurnal == int.Parse(e.CommandArgument.ToString())); Response.Redirect("Cetak.aspx?do=CashIn" + "&date=" + Jurnal.Tanggal.Value.ToString("d MMMM yyyy") + "&amount=" + Jurnal.TBJurnalDetails.FirstOrDefault(item => item.Debit > 0).Debit.ToFormatHarga() + "&description=" + Jurnal.Keterangan); } } else if (e.CommandName == "CashOut") { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { var Jurnal = db.TBJurnals.FirstOrDefault(item => item.IDJurnal == int.Parse(e.CommandArgument.ToString())); Response.Redirect("Cetak.aspx?do=CashOut" + "&date=" + Jurnal.Tanggal.Value.ToString("d MMMM yyyy") + "&amount=" + Jurnal.TBJurnalDetails.FirstOrDefault(item => item.Kredit > 0).Kredit.ToFormatHarga() + "&description=" + Jurnal.Keterangan); } } }
protected void ButtonSubmit_Click(object sender, EventArgs e) { PenggunaLogin Pengguna = (PenggunaLogin)Session["PenggunaLogin"]; List <TBJurnal> ListJurnal = new List <TBJurnal>(); List <TBAkunSaldoAwal> ListAkunSaldoAwal = new List <TBAkunSaldoAwal>(); List <string> ListSaldoAwalSudahAda = new List <string>(); using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { var DataAkun = db.TBAkuns.ToArray(); var DataSaldoAwal = db.TBAkunSaldoAwals.Where(item => item.TanggalSaldoAwal.Value.Date == (DropDownListBulan.SelectedItem.Value.ToInt() + "/" + "01" + "/" + DropDownListTahun.Text).ToDateTime() && item.IDTempat == Pengguna.IDTempat); LiteralWarning.Text = ""; peringatan.Visible = false; foreach (RepeaterItem item in RepeaterLaporan.Items) { TextBox SaldoAwalAktiva = (TextBox)item.FindControl("TextBoxNominalSaldoAwalAktiva"); HiddenField IDAkun = (HiddenField)item.FindControl("HiddenFieldIDAkun"); if (DataSaldoAwal.FirstOrDefault(data => data.IDAkun == IDAkun.Value.ToInt()) != null && SaldoAwalAktiva.Text.ToDecimal() != 0) { peringatan.Visible = true; ListSaldoAwalSudahAda.Add("Saldo Awal " + DataAkun.FirstOrDefault(item2 => item2.IDAkun == IDAkun.Value.ToInt()).Nama + " sudah ada pada system"); } else { if ((SaldoAwalAktiva.Text).ToDecimal() > 0) { TBJurnal Jurnal = NewJurnal(Pengguna); TBAkunSaldoAwal AkunSaldoAwal = NewAkunSaldoAwal(IDAkun.Value.ToInt(), Pengguna.IDPengguna, ((DropDownListBulan.SelectedItem.Value).ToInt() + "/" + "01" + "/" + DropDownListTahun.Text).ToDateTime(), Pengguna.IDTempat); var Data = db.TBAkuns.FirstOrDefault(item2 => item2.IDAkun == (IDAkun.Value).ToInt()); if (Data.TBAkunGrup.EnumSaldoNormal == (int)PilihanDebitKredit.Debit && Data.TBAkunGrup.EnumJenisAkunGrup == (int)PilihanJenisAkunGrup.Aktiva) { Jurnal.TBJurnalDetails.Add(new TBJurnalDetail { IDAkun = (IDAkun.Value).ToInt(), Debit = (SaldoAwalAktiva.Text).ToDecimal(), Kredit = 0 }); ListJurnal.Add(Jurnal); ListAkunSaldoAwal.Add(AkunSaldoAwal); } else if (Data.TBAkunGrup.EnumSaldoNormal == (int)PilihanDebitKredit.Kredit && Data.TBAkunGrup.EnumJenisAkunGrup == (int)PilihanJenisAkunGrup.Pasiva) { Jurnal.TBJurnalDetails.Add(new TBJurnalDetail { IDAkun = (IDAkun.Value).ToInt(), Debit = 0, Kredit = (SaldoAwalAktiva.Text).ToDecimal() }); ListJurnal.Add(Jurnal); ListAkunSaldoAwal.Add(AkunSaldoAwal); } else if (Data.TBAkunGrup.EnumSaldoNormal == (int)PilihanDebitKredit.Kredit && Data.TBAkunGrup.EnumJenisAkunGrup == (int)PilihanJenisAkunGrup.Aktiva) { Jurnal.TBJurnalDetails.Add(new TBJurnalDetail { IDAkun = (IDAkun.Value).ToInt(), Debit = 0, Kredit = (SaldoAwalAktiva.Text).ToDecimal() }); ListJurnal.Add(Jurnal); ListAkunSaldoAwal.Add(AkunSaldoAwal); } } } } for (int i = 0; i < ListSaldoAwalSudahAda.Count; i++) { LiteralWarning.Text += ListSaldoAwalSudahAda.ElementAt(i).ToString() + "<br/>"; } db.TBAkunSaldoAwals.InsertAllOnSubmit(ListAkunSaldoAwal); db.TBJurnals.InsertAllOnSubmit(ListJurnal); db.SubmitChanges(); } Response.Redirect("SaldoAwal.aspx"); }
protected void ButtonTerima_Click(object sender, EventArgs e) { peringatan.Visible = false; bool statusBerhasil = false; PenggunaLogin Pengguna = (PenggunaLogin)Session["PenggunaLogin"]; string IDPenerimaanPOProduksiProduk = string.Empty; string IDTransferProduk = string.Empty; TBPenerimaanPOProduksiProduk penerimaan = null; try { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { TBPOProduksiProduk poProduksiProduk = db.TBPOProduksiProduks.FirstOrDefault(item => item.IDPOProduksiProduk == DropDownListIDPOProduksi.SelectedValue); bool penerimaanSesuai = true; EntitySet <TBPenerimaanPOProduksiProdukDetail> daftarDetail = new EntitySet <TBPenerimaanPOProduksiProdukDetail>(); int baris = 0; foreach (RepeaterItem item in RepeaterDetail.Items) { baris++; Label LabelIDKombinasiProduk = (Label)item.FindControl("LabelIDKombinasiProduk"); TextBox TextBoxSisaPesanan = (TextBox)item.FindControl("TextBoxSisaPesanan"); TextBox TextBoxJumlahDatang = (TextBox)item.FindControl("TextBoxJumlahDatang"); TextBox TextBoxJumlahTerima = (TextBox)item.FindControl("TextBoxJumlahTerima"); TextBox TextBoxJumlahTolakKeVendor = (TextBox)item.FindControl("TextBoxJumlahTolakKeVendor"); if (TextBoxJumlahDatang.Text.ToDecimal().ToInt() > 0) { if (TextBoxJumlahDatang.Text.ToDecimal().ToInt() >= TextBoxJumlahTerima.Text.ToDecimal().ToInt()) { TBPOProduksiProdukDetail poProduksiProdukDetail = poProduksiProduk.TBPOProduksiProdukDetails.FirstOrDefault(data => data.IDKombinasiProduk == LabelIDKombinasiProduk.Text.ToInt()); daftarDetail.Add(new TBPenerimaanPOProduksiProdukDetail() { IDKombinasiProduk = poProduksiProdukDetail.IDKombinasiProduk, BiayaTambahan = poProduksiProdukDetail.BiayaTambahan, HargaPokokKomposisi = poProduksiProdukDetail.HargaPokokKomposisi, TotalHPP = poProduksiProdukDetail.TotalHPP, HargaVendor = poProduksiProdukDetail.HargaVendor, PotonganHargaVendor = poProduksiProdukDetail.PotonganHargaVendor, TotalHargaVendor = poProduksiProdukDetail.TotalHargaVendor, Datang = TextBoxJumlahDatang.Text.ToDecimal().ToInt(), Diterima = TextBoxJumlahTerima.Text.ToDecimal().ToInt(), TolakKeVendor = TextBoxJumlahTolakKeVendor.Text.ToDecimal().ToInt(), Sisa = TextBoxJumlahTerima.Text.ToDecimal().ToInt() <= TextBoxSisaPesanan.Text.ToDecimal().ToInt() ? TextBoxSisaPesanan.Text.ToDecimal().ToInt() - TextBoxJumlahTerima.Text.ToDecimal().ToInt() : 0 }); } else { LabelPeringatan.Text = "Jumlah diterima lebih besar dari jumlah datang, baris ke-" + baris.ToString(); peringatan.Visible = true; penerimaanSesuai = false; break; } } } if (penerimaanSesuai == true) { StokProduk_Class StokProduk_Class = new StokProduk_Class(db); TBStokProduk[] daftarStokProduk = db.TBStokProduks.Where(item => item.IDTempat == Pengguna.IDTempat).ToArray(); db.Proc_InsertPenerimaanPOProduksiProduk(ref IDPenerimaanPOProduksiProduk, poProduksiProduk.IDPOProduksiProduk, poProduksiProduk.IDVendor, Pengguna.IDTempat, Pengguna.IDPengguna, TextBoxTanggalPenerimaan.Text.ToDateTime().AddHours(DateTime.Now.Hour).AddMinutes(DateTime.Now.Minute)); penerimaan = db.TBPenerimaanPOProduksiProduks.FirstOrDefault(item => item.IDPenerimaanPOProduksiProduk == IDPenerimaanPOProduksiProduk); penerimaan.IDPenggunaTerima = penerimaan.IDPenggunaDatang; penerimaan.TanggalTerima = penerimaan.TanggalDatang; penerimaan.TBPenerimaanPOProduksiProdukDetails = daftarDetail; penerimaan.TotalDatang = penerimaan.TBPenerimaanPOProduksiProdukDetails.Sum(item => item.Datang); penerimaan.TotalDiterima = penerimaan.TBPenerimaanPOProduksiProdukDetails.Sum(item => item.Diterima); penerimaan.TotalTolakKeVendor = penerimaan.TBPenerimaanPOProduksiProdukDetails.Sum(item => item.TolakKeVendor); penerimaan.TotalSisa = penerimaan.TBPenerimaanPOProduksiProdukDetails.Sum(item => item.Sisa); penerimaan.SubtotalBiayaTambahan = penerimaan.TBPenerimaanPOProduksiProdukDetails.Sum(item => item.BiayaTambahan * item.Diterima); penerimaan.SubtotalTotalHPP = penerimaan.TBPenerimaanPOProduksiProdukDetails.Sum(item => item.TotalHPP * item.Diterima); penerimaan.SubtotalTotalHargaVendor = penerimaan.TBPenerimaanPOProduksiProdukDetails.Sum(item => item.TotalHargaVendor * item.Diterima); penerimaan.Grandtotal = penerimaan.SubtotalTotalHPP + penerimaan.SubtotalTotalHargaVendor; penerimaan.EnumStatusPenerimaan = (int)PilihanEnumStatusPenerimaanPO.Terima; penerimaan.Keterangan = TextBoxKeterangan.Text; foreach (var item in penerimaan.TBPenerimaanPOProduksiProdukDetails) { var POProduksiProdukDetail = poProduksiProduk.TBPOProduksiProdukDetails.FirstOrDefault(data => data.IDKombinasiProduk == item.IDKombinasiProduk); POProduksiProdukDetail.Sisa = item.Sisa; TBStokProduk StokProduk = daftarStokProduk.FirstOrDefault(data => data.IDTempat == Pengguna.IDTempat && data.IDKombinasiProduk == item.IDKombinasiProduk); StokProduk_Class.PengaturanJumlahStokPenerimaanPOProduk(penerimaan.TanggalTerima.Value, Pengguna.IDPengguna, Pengguna.IDTempat, StokProduk, item.TotalHargaVendor, item.Datang, item.TolakKeVendor, item.TBPenerimaanPOProduksiProduk.TBPOProduksiProduk.IDPOProduksiProduk + " - #" + item.TBPenerimaanPOProduksiProduk.IDPenerimaanPOProduksiProduk); } poProduksiProduk.TBPenerimaanPOProduksiProduks.Add(penerimaan); #region arie - INPUT JURNAL var KonfigurasiAkun = db.TBKonfigurasiAkuns.Where(item => item.IDTempat == 1); if (KonfigurasiAkun != null) { #region Pembuatan Jurnal Penerimaan PO YG Belum Bayar TBJurnal Jurnal = new TBJurnal { IDTempat = Pengguna.IDTempat, Tanggal = penerimaan.TanggalTerima, Keterangan = penerimaan.Keterangan, IDPengguna = penerimaan.IDPenggunaTerima, Referensi = penerimaan.IDPenerimaanPOProduksiProduk }; #region JOURNAL ENTRY //DEBIT : PERSEDIAAN //KREDIT : HUTANG DAGANG //PERSEDIAAN Jurnal.TBJurnalDetails.Add(new TBJurnalDetail { IDAkun = KonfigurasiAkun.FirstOrDefault(item => item.Nama == "PERSEDIAAN").IDAkun, Debit = penerimaan.Grandtotal, Kredit = 0 }); //HUTANG DAGANG Jurnal.TBJurnalDetails.Add(new TBJurnalDetail { IDAkun = KonfigurasiAkun.FirstOrDefault(item => item.Nama == "HUTANG DAGANG").IDAkun, Debit = 0, Kredit = penerimaan.Grandtotal }); #endregion db.TBJurnals.InsertOnSubmit(Jurnal); #endregion } #endregion db.SubmitChanges(); statusBerhasil = true; } else { peringatan.Visible = true; } } } catch (Exception ex) { if (statusBerhasil != true) { using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext()) { penerimaan = db.TBPenerimaanPOProduksiProduks.FirstOrDefault(item => item.IDPenerimaanPOProduksiProduk == IDPenerimaanPOProduksiProduk); if (penerimaan != null) { db.TBPenerimaanPOProduksiProdukDetails.DeleteAllOnSubmit(penerimaan.TBPenerimaanPOProduksiProdukDetails); db.TBPenerimaanPOProduksiProduks.DeleteOnSubmit(penerimaan); db.SubmitChanges(); IDPenerimaanPOProduksiProduk = string.Empty; } } } LogError_Class LogError = new LogError_Class(ex, "Penerimaan Produksi Ke Supplier (ButtonSimpan_Click by : " + Pengguna.NamaLengkap + ")"); LabelPeringatan.Text = "Terjadi kesalahan, silahkan cek kembali data yang diinputkan"; peringatan.Visible = true; } finally { if (statusBerhasil == true) { Response.Redirect("Default.aspx"); } } }