Esempio n. 1
0
    protected void RepeaterPenerimaan_ItemCommand(object source, RepeaterCommandEventArgs e)
    {
        if (e.CommandName == "Detail")
        {
            using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext())
            {
                LabelIDPenerimaan.Text = e.CommandArgument.ToString();

                TBPenerimaanPOProduksiProduk penerimaan = db.TBPenerimaanPOProduksiProduks.FirstOrDefault(item => item.IDPenerimaanPOProduksiProduk == e.CommandArgument.ToString());

                RepeaterPenerimaanDetail.DataSource = penerimaan.TBPenerimaanPOProduksiProdukDetails.Select(item => new
                {
                    Produk        = item.TBKombinasiProduk.TBProduk.Nama,
                    AtributProduk = item.TBKombinasiProduk.TBAtributProduk.Nama,
                    item.Datang,
                    item.Diterima,
                    item.TolakKeVendor,
                    item.TolakKeGudang
                }).ToArray();
                RepeaterPenerimaanDetail.DataBind();

                TextBoxKeteranganPenerimaan.Text = penerimaan.Keterangan;
            }
        }
    }
Esempio n. 2
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext())
            {
                PenggunaLogin pengguna = (PenggunaLogin)Session["PenggunaLogin"];

                TBStore store = db.TBStores.FirstOrDefault();

                LabelNamaStore.Text   = store.Nama;
                LabelAlamatStore.Text = store.Alamat;

                TBPenerimaanPOProduksiProduk penerimaanPOProduksiProduk = db.TBPenerimaanPOProduksiProduks.FirstOrDefault(item => item.IDPenerimaanPOProduksiProduk == Request.QueryString["id"]);

                LabelJudul.Text = "(PRODUCT)";
                LabelIDPenerimaanPOProduksiProduk.Text = penerimaanPOProduksiProduk.IDPenerimaanPOProduksiProduk;

                LabelNamaVendor.Text   = penerimaanPOProduksiProduk.TBPOProduksiProduk.IDVendor != null ? penerimaanPOProduksiProduk.TBPOProduksiProduk.TBVendor.Nama : string.Empty;
                LabelAlamatVendor.Text = penerimaanPOProduksiProduk.TBPOProduksiProduk.IDVendor != null ? penerimaanPOProduksiProduk.TBPOProduksiProduk.TBVendor.Alamat : string.Empty;

                LabelIDProduksi.Text   = penerimaanPOProduksiProduk.IDPOProduksiProduk;
                LabelIDPenerimaan.Text = penerimaanPOProduksiProduk.IDPenerimaanPOProduksiProduk;
                LabelTanggal.Text      = penerimaanPOProduksiProduk.TanggalDatang.ToFormatTanggal();
                LabelPenerima.Text     = penerimaanPOProduksiProduk.TBPengguna.NamaLengkap;

                RepeaterDetail.DataSource = penerimaanPOProduksiProduk.TBPenerimaanPOProduksiProdukDetails.ToArray();
                RepeaterDetail.DataBind();
            }
        }
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext())
            {
                TBPenerimaanPOProduksiProduk penerimaan = db.TBPenerimaanPOProduksiProduks.FirstOrDefault(item => item.IDPenerimaanPOProduksiProduk == Request.QueryString["id"]);

                TextBoxIDProyeksi.Text                  = penerimaan.TBPOProduksiProduk.IDProyeksi != null ? penerimaan.TBPOProduksiProduk.IDProyeksi : "-Tidak Ada Proyeksi-";
                TextBoxIDPOProduksiProduk.Text          = penerimaan.IDPOProduksiProduk;
                TextBoxPegawai.Text                     = penerimaan.TBPengguna1.NamaLengkap;
                TextBoxTanggal.Text                     = penerimaan.TanggalTerima.ToFormatTanggal();
                TextBoxStatus.Text                      = penerimaan.TBPOProduksiProdukPenagihan != null ? penerimaan.TBPOProduksiProdukPenagihan.StatusPembayaran == false ? "Kontra" : "Lunas" : "Baru";
                TextBoxIDPOProduksiProdukPenagihan.Text = penerimaan.TBPOProduksiProdukPenagihan == null ? string.Empty : penerimaan.IDPOProduksiProdukPenagihan;

                TextBoxVendor.Text   = penerimaan.TBPOProduksiProduk.TBVendor.Nama;
                TextBoxEmail.Text    = penerimaan.TBPOProduksiProduk.TBVendor.Email;
                TextBoxAlamat.Text   = penerimaan.TBPOProduksiProduk.TBVendor.Alamat;
                TextBoxTelepon1.Text = penerimaan.TBPOProduksiProduk.TBVendor.Telepon1;
                TextBoxTelepon2.Text = penerimaan.TBPOProduksiProduk.TBVendor.Telepon2;

                RepeaterDetail.DataSource = penerimaan.TBPenerimaanPOProduksiProdukDetails.ToArray();
                RepeaterDetail.DataBind();

                TextBoxKeterangan.Text = penerimaan.Keterangan;
            }
        }
    }
Esempio n. 4
0
    protected void CheckBoxPilihPenerimaan_CheckedChanged(object sender, EventArgs e)
    {
        using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext())
        {
            List <TBPOProduksiProduk> Produksi = new List <TBPOProduksiProduk>();
            decimal TotalPenerimaan            = 0;

            foreach (RepeaterItem item in RepeaterDetailPenerimaan.Items)
            {
                CheckBox CheckBoxPilihPenerimaan           = (CheckBox)item.FindControl("CheckBoxPilihPenerimaan");
                Label    LabelIDPenerimaanPOProduksiProduk = (Label)item.FindControl("LabelIDPenerimaanPOProduksiProduk");

                if (CheckBoxPilihPenerimaan.Checked == true)
                {
                    TBPenerimaanPOProduksiProduk penerimaanPOProduksiProduk = db.TBPenerimaanPOProduksiProduks.FirstOrDefault(item2 => item2.IDPenerimaanPOProduksiProduk == LabelIDPenerimaanPOProduksiProduk.Text);

                    if (Produksi.FirstOrDefault(item2 => item2.IDPOProduksiProduk == penerimaanPOProduksiProduk.IDPOProduksiProduk) == null)
                    {
                        Produksi.Add(penerimaanPOProduksiProduk.TBPOProduksiProduk);
                    }

                    TotalPenerimaan += penerimaanPOProduksiProduk.Grandtotal.Value;
                }
            }
            LabelTotalPenerimaan.Text = TotalPenerimaan.ToFormatHarga();

            var DownPayment = Produksi.Select(item => new
            {
                item.IDPOProduksiProduk,
                item.TanggalDownPayment,
                item.DownPayment
            }).Distinct();
            RepeaterDownPayment.DataSource = DownPayment;
            RepeaterDownPayment.DataBind();
            LabelTotalDownPayment.Text = DownPayment.Sum(item => item.DownPayment).ToFormatHarga();
            TextBoxTotalPenagihan.Text = (LabelTotalPenerimaan.Text.ToDecimal() - LabelTotalRetur.Text.ToDecimal() - LabelTotalDownPayment.Text.ToDecimal()).ToFormatHarga();
        }
    }
Esempio n. 5
0
    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");
            }
        }
    }
Esempio n. 6
0
    protected void ButtonSimpan_Click(object sender, EventArgs e)
    {
        if (Page.IsValid)
        {
            peringatan.Visible = false;
            PenggunaLogin pengguna = (PenggunaLogin)Session["PenggunaLogin"];

            string IDPOProduksiProdukPenagihan = string.Empty;
            TBPOProduksiProdukPenagihan produksiProdukPenagihan = null;
            bool statusBerhasil = false;

            try
            {
                using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext())
                {
                    db.Proc_InsertPOProduksiProdukPenagihan(ref IDPOProduksiProdukPenagihan, DropDownListVendor.SelectedValue.ToInt(), pengguna.IDTempat, pengguna.IDPengguna, TextBoxTanggal.Text.ToDateTime().AddHours(DateTime.Now.Hour).AddMinutes(DateTime.Now.Minute));

                    produksiProdukPenagihan = db.TBPOProduksiProdukPenagihans.FirstOrDefault(item => item.IDPOProduksiProdukPenagihan == IDPOProduksiProdukPenagihan);

                    foreach (RepeaterItem item in RepeaterDetailPenerimaan.Items)
                    {
                        CheckBox CheckBoxPilihPenerimaan           = (CheckBox)item.FindControl("CheckBoxPilihPenerimaan");
                        Label    LabelIDPenerimaanPOProduksiProduk = (Label)item.FindControl("LabelIDPenerimaanPOProduksiProduk");

                        if (CheckBoxPilihPenerimaan.Checked == true)
                        {
                            TBPenerimaanPOProduksiProduk penerimaanPOProduksiProduk = db.TBPenerimaanPOProduksiProduks.FirstOrDefault(item2 => item2.IDPenerimaanPOProduksiProduk == LabelIDPenerimaanPOProduksiProduk.Text);
                            penerimaanPOProduksiProduk.TBPOProduksiProdukPenagihan = produksiProdukPenagihan;
                        }
                    }

                    foreach (RepeaterItem item in RepeaterRetur.Items)
                    {
                        CheckBox CheckBoxPilihRetur           = (CheckBox)item.FindControl("CheckBoxPilihRetur");
                        Label    LabelIDPOProduksiProdukRetur = (Label)item.FindControl("LabelIDPOProduksiProdukRetur");

                        if (CheckBoxPilihRetur.Checked == true)
                        {
                            TBPOProduksiProdukRetur POProduksiProdukRetur = db.TBPOProduksiProdukReturs.FirstOrDefault(item2 => item2.IDPOProduksiProdukRetur == LabelIDPOProduksiProdukRetur.Text);
                            POProduksiProdukRetur.TBPOProduksiProdukPenagihan = produksiProdukPenagihan;
                            POProduksiProdukRetur.EnumStatusRetur             = (int)EnumStatusPORetur.Proses;
                        }
                    }

                    produksiProdukPenagihan.TotalPenerimaan  = LabelTotalPenerimaan.Text.ToDecimal();
                    produksiProdukPenagihan.TotalRetur       = LabelTotalRetur.Text.ToDecimal();
                    produksiProdukPenagihan.TotalDownPayment = LabelTotalDownPayment.Text.ToDecimal();
                    produksiProdukPenagihan.TotalBayar       = 0;
                    produksiProdukPenagihan.StatusPembayaran = false;
                    produksiProdukPenagihan.Keterangan       = TextBoxKeterangan.Text;

                    if (TextBoxTotalPenagihan.Text.ToDecimal() > 0)
                    {
                        db.SubmitChanges();
                        statusBerhasil = true;
                    }
                    else
                    {
                        db.TBPOProduksiProdukPenagihans.DeleteOnSubmit(produksiProdukPenagihan);

                        LabelPeringatan.Text = "Total tagihan dibawah 0";
                        peringatan.Visible   = true;
                    }
                }
            }
            catch (Exception ex)
            {
                if (statusBerhasil != true)
                {
                    using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext())
                    {
                        produksiProdukPenagihan = db.TBPOProduksiProdukPenagihans.FirstOrDefault(item => item.IDPOProduksiProdukPenagihan == IDPOProduksiProdukPenagihan);
                        if (produksiProdukPenagihan != null)
                        {
                            produksiProdukPenagihan.TBPenerimaanPOProduksiProduks.ToList().ForEach(item => item.IDPOProduksiProdukPenagihan = null);
                            db.TBPOProduksiProdukPenagihans.DeleteOnSubmit(produksiProdukPenagihan);
                            db.SubmitChanges();

                            IDPOProduksiProdukPenagihan = string.Empty;
                        }
                    }
                }
                LogError_Class LogError = new LogError_Class(ex, "Invoice Purchase Order Produk (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");
                }
            }
        }
    }