Пример #1
0
    protected void ButtonSimpan_Click(object sender, EventArgs e)
    {
        PenggunaLogin Pengguna = (PenggunaLogin)Session["PenggunaLogin"];

        using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext())
        {
            bool StatusPerubahan = false;

            foreach (RepeaterItem item in RepeaterLaporan.Items)
            {
                Repeater RepeaterKombinasiProduk = (Repeater)item.FindControl("RepeaterKombinasiProduk");

                foreach (RepeaterItem item2 in RepeaterKombinasiProduk.Items)
                {
                    Label   LabelIDStokProduk  = (Label)item2.FindControl("LabelIDStokProduk");
                    TextBox TextBoxStokTerbaru = (TextBox)item2.FindControl("TextBoxStokTerbaru");

                    if (!string.IsNullOrWhiteSpace(TextBoxStokTerbaru.Text))
                    {
                        StatusPerubahan = true;
                        StokProduk_Class StokProduk_Class = new StokProduk_Class(db);

                        var StokProduk = StokProduk_Class.Cari(LabelIDStokProduk.Text.ToInt());

                        if (Request.QueryString["do"] == "opname")
                        {
                            StokProduk_Class.Penyesuaian(DropDownListTempat.SelectedValue.ToInt(), Pengguna.IDPengguna, StokProduk, TextBoxStokTerbaru.Text.ToDecimal().ToInt(), "");
                        }
                        else if (Request.QueryString["do"] == "waste")
                        {
                            StokProduk_Class.BertambahBerkurang(DropDownListTempat.SelectedValue.ToInt(), Pengguna.IDPengguna, StokProduk, TextBoxStokTerbaru.Text.ToDecimal().ToInt(), StokProduk.HargaBeli.Value, StokProduk.HargaJual.Value, EnumJenisPerpindahanStok.PembuanganBarangRusak, "");
                        }
                        else if (Request.QueryString["do"] == "restock")
                        {
                            StokProduk_Class.BertambahBerkurang(DropDownListTempat.SelectedValue.ToInt(), Pengguna.IDPengguna, StokProduk, TextBoxStokTerbaru.Text.ToDecimal().ToInt(), StokProduk.HargaBeli.Value, StokProduk.HargaJual.Value, EnumJenisPerpindahanStok.RestockBarang, "");
                        }
                        else if (Request.QueryString["do"] == "return")
                        {
                            StokProduk_Class.BertambahBerkurang(DropDownListTempat.SelectedValue.ToInt(), Pengguna.IDPengguna, StokProduk, TextBoxStokTerbaru.Text.ToDecimal().ToInt(), StokProduk.HargaBeli.Value, StokProduk.HargaJual.Value, EnumJenisPerpindahanStok.ReturKeTempatProduksi, "");
                        }
                        else
                        {
                            Response.Redirect("/WITWarehouse/Produk.aspx");
                        }
                    }

                    TextBoxStokTerbaru.Text = string.Empty;
                }
            }

            if (StatusPerubahan)
            {
                db.SubmitChanges();
            }
        }

        LoadData();
    }
Пример #2
0
    protected void Repeater_ItemCommand(object source, RepeaterCommandEventArgs e)
    {
        if (e.CommandName == "Batal")
        {
            PenggunaLogin Pengguna = (PenggunaLogin)Session["PenggunaLogin"];

            using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext())
            {
                var TransferProduk = db.TBTransferProduks.FirstOrDefault(item => item.IDTransferProduk == e.CommandArgument.ToString());

                if (TransferProduk != null)
                {
                    StokProduk_Class StokProduk_Class = new StokProduk_Class(db);

                    foreach (var item in TransferProduk.TBTransferProdukDetails.ToArray())
                    {
                        StokProduk_Class.BertambahBerkurang(Pengguna.IDTempat, Pengguna.IDPengguna, item.IDKombinasiProduk, item.Jumlah, item.HargaBeli, item.HargaJual, EnumJenisPerpindahanStok.TransferBatal, "Transfer Batal #" + TransferProduk.IDTransferProduk);
                    }

                    TransferProduk.EnumJenisTransfer = (int)PilihanJenisTransfer.TransferBatal;

                    db.SubmitChanges();
                }
            }

            LoadData();
        }
        else if (e.CommandName == "TransferUlang")
        {
            Response.Redirect("Pengaturan.aspx?id=" + e.CommandArgument);
        }
    }
Пример #3
0
    protected void RepeaterTransferKombinasiProduk_ItemCommand(object source, RepeaterCommandEventArgs e)
    {
        if (e.CommandName == "Hapus")
        {
            using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext())
            {
                PenggunaLogin Pengguna = (PenggunaLogin)Session["PenggunaLogin"];

                StokProduk_Class StokProduk_Class = new StokProduk_Class(db);

                var TransferProdukDetail = db.TBTransferProdukDetails.FirstOrDefault(item => item.IDTransferProdukDetail == e.CommandArgument.ToInt());

                if (TransferProdukDetail != null)
                {
                    StokProduk_Class.BertambahBerkurang(Pengguna.IDTempat, Pengguna.IDPengguna, TransferProdukDetail.IDKombinasiProduk, TransferProdukDetail.Jumlah, TransferProdukDetail.HargaBeli, TransferProdukDetail.HargaJual, EnumJenisPerpindahanStok.TransferBatal, "Transfer #" + TransferProdukDetail.IDTransferProduk);

                    db.TBTransferProdukDetails.DeleteOnSubmit(TransferProdukDetail);
                    db.SubmitChanges();

                    //UPDATE DATA TRANSFER PRODUK
                    var TransferProduk = db.TBTransferProduks.FirstOrDefault(item => item.IDTransferProduk == LabelIDTransferProduk.Text);

                    TransferProduk.TanggalUpdate       = DateTime.Now;
                    TransferProduk.TotalJumlah         = TransferProduk.TBTransferProdukDetails.Sum(item2 => item2.Jumlah);
                    TransferProduk.GrandTotalHargaBeli = TransferProduk.TBTransferProdukDetails.Sum(item2 => item2.Jumlah * item2.HargaBeli);
                    TransferProduk.GrandTotalHargaJual = TransferProduk.TBTransferProdukDetails.Sum(item2 => item2.Jumlah * item2.HargaJual);
                    db.SubmitChanges();

                    LoadDataTransferProduk();
                }
            }
        }
    }
Пример #4
0
    protected void ButtonTerima_Click(object sender, EventArgs e)
    {
        PenggunaLogin Pengguna = (PenggunaLogin)Session["PenggunaLogin"];

        try
        {
            using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext())
            {
                TransferProduk_Class TransferProduk_Class = new TransferProduk_Class();

                var TransferProduk = TransferProduk_Class.Cari(db, Request.QueryString["id"]);

                if (TransferProduk != null && TransferProduk.EnumJenisTransfer == (int)PilihanJenisTransfer.TransferProses)
                {
                    StokProduk_Class StokProduk_Class = new StokProduk_Class(db);

                    foreach (var item in TransferProduk.TBTransferProdukDetails.ToArray())
                    {
                        var StokProduk = StokProduk_Class.Cari(Pengguna.IDTempat, item.IDKombinasiProduk);

                        if (StokProduk == null)
                        {
                            StokProduk = StokProduk_Class.MembuatStok(0, Pengguna.IDTempat, Pengguna.IDPengguna, item.IDKombinasiProduk, item.HargaBeli, item.HargaJual, "");
                        }

                        StokProduk_Class.BertambahBerkurang(Pengguna.IDTempat, Pengguna.IDPengguna, StokProduk, item.Jumlah, item.HargaBeli, item.HargaJual, EnumJenisPerpindahanStok.TransferStokMasuk, "Transfer #" + TransferProduk.IDTransferProduk);
                    }

                    TransferProduk.IDPenerima        = Pengguna.IDPengguna;
                    TransferProduk.TanggalTerima     = DateTime.Now;
                    TransferProduk.TanggalUpdate     = DateTime.Now;
                    TransferProduk.EnumJenisTransfer = (int)PilihanJenisTransfer.TransferSelesai;

                    db.SubmitChanges();

                    Response.Redirect("/WITAdministrator/Produk/Transfer/Detail.aspx?id=" + TransferProduk.IDTransferProduk, false);
                }
                else
                {
                    Response.Redirect("Default.aspx", false);
                }
            }
        }
        catch (Exception ex)
        {
            LiteralWarning.Text = Alert_Class.Pesan(TipeAlert.Danger, ex.Message);
            LogError_Class LogError_Class = new LogError_Class(ex, Request.Url.PathAndQuery);
        }
    }
Пример #5
0
    protected void RepeaterData_ItemCommand(object source, RepeaterCommandEventArgs e)
    {
        if (e.CommandName == "Batal")
        {
            using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext())
            {
                PenggunaLogin           pengguna = (PenggunaLogin)Session["PenggunaLogin"];
                TBPOProduksiProdukRetur poProduksiProdukRetur = db.TBPOProduksiProdukReturs.FirstOrDefault(item => item.IDPOProduksiProdukRetur == e.CommandArgument.ToString());
                poProduksiProdukRetur.EnumStatusRetur = (int)EnumStatusPORetur.Batal;

                StokProduk_Class StokProduk_Class = new StokProduk_Class(db);

                foreach (var item in poProduksiProdukRetur.TBPOProduksiProdukReturDetails)
                {
                    StokProduk_Class.BertambahBerkurang(poProduksiProdukRetur.IDTempat.Value, pengguna.IDPengguna, item.TBStokProduk, item.Jumlah.Value, item.HargaBeli.Value, item.HargaJual.Value, EnumJenisPerpindahanStok.TransaksiBatal, "(" + item.TBStokProduk.TBKombinasiProduk.Nama + ") Pembatalan Retur PO #" + e.CommandArgument.ToString());
                }

                db.SubmitChanges();

                LoadData();
            }
        }
    }
Пример #6
0
    protected void ButtonSimpan_Click(object sender, EventArgs e)
    {
        if (Page.IsValid)
        {
            //DateTime tanggalretur = DateTime.Parse(TextBoxTanggalRetur.Text + " " + DateTime.Now.ToString("HH:mm:ss tt"));
            peringatan.Visible = false;
            PenggunaLogin pengguna = (PenggunaLogin)Session["PenggunaLogin"];

            List <StokProduk_Model> ViewStateListDetail = (List <StokProduk_Model>)ViewState["ViewStateListDetail"];

            if (ViewStateListDetail.Count > 0)
            {
                string IDPOProduksiProdukRetur        = string.Empty;
                TBPOProduksiProdukRetur POProdukRetur = null;
                bool statusBerhasil = false;

                try
                {
                    using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext())
                    {
                        db.Proc_InsertPOProduksiProdukRetur(ref IDPOProduksiProdukRetur, pengguna.IDTempat, DropDownListVendor.SelectedValue.ToInt(), pengguna.IDPengguna, TextBoxTanggal.Text.ToDateTime().AddHours(DateTime.Now.Hour).AddMinutes(DateTime.Now.Minute));
                        POProdukRetur = db.TBPOProduksiProdukReturs.FirstOrDefault(item => item.IDPOProduksiProdukRetur == IDPOProduksiProdukRetur);

                        POProdukRetur.IDPenerimaanPOProduksiProduk = DropDownListPenerimaan.SelectedValue != "0" ? DropDownListPenerimaan.SelectedValue : null;
                        POProdukRetur.TBPOProduksiProdukReturDetails.AddRange(ViewStateListDetail.OrderBy(item => item.Produk).ThenBy(item => item.IDAtribut).Select(item => new TBPOProduksiProdukReturDetail
                        {
                            TBStokProduk = db.TBStokProduks.FirstOrDefault(item2 => item2.IDStokProduk == item.IDStokProduk),
                            HargaBeli    = item.HargaBeli,
                            HargaRetur   = item.HargaVendor,
                            HargaJual    = item.HargaJual,
                            Jumlah       = item.Jumlah
                        }));
                        POProdukRetur.Grandtotal      = POProdukRetur.TBPOProduksiProdukReturDetails.Sum(item => item.Jumlah * item.HargaBeli);
                        POProdukRetur.EnumStatusRetur = (int)EnumStatusPORetur.Baru;
                        POProdukRetur.Keterangan      = TextBoxKeterangan.Text;

                        StokProduk_Class StokProduk_Class = new StokProduk_Class(db);

                        foreach (var item in POProdukRetur.TBPOProduksiProdukReturDetails)
                        {
                            StokProduk_Class.BertambahBerkurang(POProdukRetur.IDTempat.Value, pengguna.IDPengguna, item.TBStokProduk, item.Jumlah.Value, item.HargaBeli.Value, item.HargaJual.Value, EnumJenisPerpindahanStok.TransaksiBatal, "(" + item.TBStokProduk.TBKombinasiProduk.Nama + ") Retur PO #" + IDPOProduksiProdukRetur);
                        }

                        db.SubmitChanges();

                        statusBerhasil = true;
                    }
                }
                catch (Exception ex)
                {
                    if (statusBerhasil != true)
                    {
                        using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext())
                        {
                            POProdukRetur = db.TBPOProduksiProdukReturs.FirstOrDefault(item => item.IDPOProduksiProdukRetur == IDPOProduksiProdukRetur);
                            if (POProdukRetur != null)
                            {
                                db.TBPOProduksiProdukReturDetails.DeleteAllOnSubmit(POProdukRetur.TBPOProduksiProdukReturDetails);
                                db.TBPOProduksiProdukReturs.DeleteOnSubmit(POProdukRetur);
                                db.SubmitChanges();

                                IDPOProduksiProdukRetur = string.Empty;
                            }
                        }
                    }
                    LogError_Class LogError = new LogError_Class(ex, "Retur PO 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");
                    }
                }
            }
            else
            {
                LabelPeringatan.Text = "Tidak ada Produk yang dipilih";
                peringatan.Visible   = true;
            }
        }
    }
Пример #7
0
    protected void ButtonSimpan_Click(object sender, EventArgs e)
    {
        try
        {
            if (DropDownListTempatPenerima.Items.Count == 0)
            {
                LiteralWarning.Text = Alert_Class.Pesan(TipeAlert.Danger, "Anda harus membuat lokasi tujuan transfer. <a href='/WITAdministrator/Store/Tempat/Pengaturan.aspx'>Buat lokasi baru</a>");
                return;
            }

            bool   StokKurang       = false;
            string TransferBerhasil = string.Empty;

            using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext())
            {
                PenggunaLogin    Pengguna         = (PenggunaLogin)Session["PenggunaLogin"];
                StokProduk_Class StokProduk_Class = new StokProduk_Class(db);
                TBTransferProduk DataTransferProduk;

                if (string.IsNullOrWhiteSpace(LabelIDTransferProduk.Text))
                {
                    #region MEMBUAT TRANSFER PRODUK BARU
                    TransferProduk_Class TransferProduk = new TransferProduk_Class();
                    DataTransferProduk = TransferProduk.Tambah(db, Pengguna.IDPengguna, DropDownListTempatPengirim.SelectedValue.ToInt(), DropDownListTempatPenerima.SelectedValue.ToInt(), TextBoxKeterangan.Text);

                    LabelIDTransferProduk.Text = DataTransferProduk.IDTransferProduk;
                    #endregion
                }
                else
                {
                    DataTransferProduk = db.TBTransferProduks.FirstOrDefault(item2 => item2.IDTransferProduk == LabelIDTransferProduk.Text);
                }

                foreach (RepeaterItem item in RepeaterStokKombinasiProduk.Items)
                {
                    Label        LabelIDKombinasiProduk = (Label)item.FindControl("LabelIDKombinasiProduk");
                    Label        LabelJumlah            = (Label)item.FindControl("LabelJumlah");
                    TextBox      TextBoxJumlahTransfer  = (TextBox)item.FindControl("TextBoxJumlahTransfer");
                    HtmlTableRow panelStok = (HtmlTableRow)item.FindControl("panelStok");

                    if (TextBoxJumlahTransfer.Text.ToDecimal().ToInt() > 0)
                    {
                        //JIKA JUMLAH TRANSFER VALID TIDAK NULL DAN TIDAK 0
                        int JumlahTransfer = TextBoxJumlahTransfer.Text.ToDecimal().ToInt();

                        //PENCARIAN STOK PRODUK
                        var StokProduk = StokProduk_Class.Cari(DropDownListTempatPengirim.SelectedValue.ToInt(), LabelIDKombinasiProduk.Text.ToInt());

                        if (JumlahTransfer <= StokProduk.Jumlah)
                        {
                            //JIKA JUMLAH YANG AKAN DI TRANSFER LEBIH KECIL ATAU SAMA DENGAN JUMLAH STOK
                            StokProduk_Class.BertambahBerkurang(DropDownListTempatPengirim.SelectedValue.ToInt(), Pengguna.IDPengguna, StokProduk, JumlahTransfer, StokProduk.HargaBeli.Value, StokProduk.HargaJual.Value, EnumJenisPerpindahanStok.TransferStokKeluar, "Transfer #" + LabelIDTransferProduk.Text);

                            //PENGECEKAN APAKAH SUDAH ADA DI DETAIL
                            var TransferProdukDetail = DataTransferProduk.TBTransferProdukDetails
                                                       .FirstOrDefault(item2 => item2.IDKombinasiProduk == StokProduk.IDKombinasiProduk);

                            if (TransferProdukDetail == null) //DETAIL TRANSFER PRODUK TIDAK DITEMUKAN MEMBUAT BARU
                            {
                                DataTransferProduk.TBTransferProdukDetails.Add(new TBTransferProdukDetail
                                {
                                    IDKombinasiProduk = StokProduk.IDKombinasiProduk,
                                    HargaBeli         = StokProduk.HargaBeli.Value,
                                    HargaJual         = StokProduk.HargaJual.Value,
                                    Jumlah            = JumlahTransfer
                                });
                            }
                            else //JIKA SUDAH TERDAPAT DI DETAIL HANYA MENAMBAHKAN QTY
                            {
                                TransferProdukDetail.Jumlah += JumlahTransfer;
                            }

                            //MENGKOSONGKAN TEXTBOX - LABEL JUMLAH DIISI DENGAN JUMLAH STOK TERBARU
                            TextBoxJumlahTransfer.Text = string.Empty;
                            panelStok.Attributes.Add("class", "");
                            LabelJumlah.Text          = (LabelJumlah.Text.ToDecimal().ToInt() - JumlahTransfer).ToFormatHargaBulat();
                            LabelTotalJumlahStok.Text = (LabelTotalJumlahStok.Text.ToDecimal().ToInt() - JumlahTransfer).ToFormatHargaBulat();

                            TransferBerhasil += "<br/>" + JumlahTransfer.ToFormatHargaBulat() + " - " + StokProduk.TBKombinasiProduk.Nama; //MESSAGE TRANSFER YANG BERHASIL
                        }
                        else
                        {
                            //REFRESH LABEL JUMLAH STOK
                            LabelTotalJumlahStok.Text = (LabelTotalJumlahStok.Text.ToDecimal().ToInt() - (LabelJumlah.Text.ToDecimal().ToInt() - StokProduk.Jumlah.Value)).ToFormatHargaBulat();
                            LabelJumlah.Text          = StokProduk.Jumlah.ToFormatHargaBulat();
                            panelStok.Attributes.Add("class", "danger");

                            StokKurang = true;
                        }
                    }

                    //HANDLE POSTBACK FORMAT HARGA
                    TextBoxJumlahTransfer.Text = TextBoxJumlahTransfer.Text.ToDecimal().ToInt() == 0 ? "" : TextBoxJumlahTransfer.Text.ToDecimal().ToInt().ToString();
                }

                //UPDATE DATA TRANSFER PRODUK
                DataTransferProduk.TanggalUpdate       = DateTime.Now;
                DataTransferProduk.TotalJumlah         = DataTransferProduk.TBTransferProdukDetails.Sum(item2 => item2.Jumlah);
                DataTransferProduk.GrandTotalHargaBeli = DataTransferProduk.TBTransferProdukDetails.Sum(item2 => item2.Jumlah * item2.HargaBeli);
                DataTransferProduk.GrandTotalHargaJual = DataTransferProduk.TBTransferProdukDetails.Sum(item2 => item2.Jumlah * item2.HargaJual);

                db.SubmitChanges();
            }

            //MENAMPILKAN MESSAGE
            LiteralWarning.Text = string.Empty;

            if (!string.IsNullOrWhiteSpace(TransferBerhasil))
            {
                LiteralWarning.Text += Alert_Class.Pesan(TipeAlert.Success, "Produk berhasil disimpan" + TransferBerhasil);
            }

            if (StokKurang)
            {
                LiteralWarning.Text += Alert_Class.Pesan(TipeAlert.Danger, "Stok tidak cukup, silahkan cek kembali");
            }
        }
        catch (Exception ex)
        {
            LiteralWarning.Text = Alert_Class.Pesan(TipeAlert.Danger, ex.Message);
            LogError_Class LogError = new LogError_Class(ex, Request.Url.PathAndQuery);
        }
    }
Пример #8
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            PenggunaLogin Pengguna = (PenggunaLogin)Session["PenggunaLogin"];

            using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext())
            {
                Tempat_Class        ClassTempat        = new Tempat_Class(db);
                AtributProduk_Class ClassAtributProduk = new AtributProduk_Class(db);

                #region Default
                DropDownListJenisStok.Items.Insert(0, new ListItem {
                    Value = "0", Text = "Semua"
                });
                DropDownListJenisStok.Items.Insert(1, new ListItem {
                    Value = "1", Text = "Ada Stok", Selected = true
                });
                DropDownListJenisStok.Items.Insert(2, new ListItem {
                    Value = "2", Text = "Tidak Ada Stok"
                });
                DropDownListJenisStok.Items.Insert(3, new ListItem {
                    Value = "3", Text = "Minus"
                });

                DropDownListCariAtributProduk.DataSource     = ClassAtributProduk.Data();
                DropDownListCariAtributProduk.DataTextField  = "Nama";
                DropDownListCariAtributProduk.DataValueField = "IDAtributProduk";
                DropDownListCariAtributProduk.DataBind();
                DropDownListCariAtributProduk.Items.Insert(0, new ListItem {
                    Value = "0", Text = "- Semua -"
                });

                DropDownListCariKategori.DataSource     = db.TBKategoriProduks.ToArray();
                DropDownListCariKategori.DataTextField  = "Nama";
                DropDownListCariKategori.DataValueField = "IDKategoriProduk";
                DropDownListCariKategori.DataBind();
                DropDownListCariKategori.Items.Insert(0, new ListItem {
                    Value = "0", Text = "- Semua -"
                });

                var ListTempat = ClassTempat.Data();

                DropDownListTempatPengirim.DataSource     = ListTempat;
                DropDownListTempatPengirim.DataTextField  = "Nama";
                DropDownListTempatPengirim.DataValueField = "IDTempat";
                DropDownListTempatPengirim.DataBind();
                DropDownListTempatPengirim.Items.Insert(0, new ListItem {
                    Text = "- Lokasi -", Value = "0"
                });
                DropDownListTempatPengirim.SelectedValue = Pengguna.IDTempat.ToString();

                DropDownListTempatPenerima.DataSource     = ListTempat.Where(item => item.IDTempat != Pengguna.IDTempat);
                DropDownListTempatPenerima.DataTextField  = "Nama";
                DropDownListTempatPenerima.DataValueField = "IDTempat";
                DropDownListTempatPenerima.DataBind();

                TextBoxTanggalKirim.Text = DateTime.Now.ToString("d MMMM yyyy HH:mm");
                #endregion

                var DataTransferProduk = db.TBTransferProduks
                                         .FirstOrDefault(item => item.IDTransferProduk == Request.QueryString["id"]);

                if (DataTransferProduk != null)
                {
                    //DATA TRANSFER PRODUK DITEMUKAN

                    if (DataTransferProduk.EnumJenisTransfer == (int)PilihanJenisTransfer.TransferBatal ||
                        DataTransferProduk.EnumJenisTransfer == (int)PilihanJenisTransfer.TransferProses ||
                        DataTransferProduk.EnumJenisTransfer == (int)PilihanJenisTransfer.TransferSelesai)
                    {
                        //TRANSFER BATAL MAKA COPY TRANSFER PRODUK LAMA KE TRANSFER PRODUK BARU
                        TextBoxTanggalKirim.Text = DateTime.Now.ToString("d MMMM yyyy HH:mm");
                        DropDownListTempatPenerima.SelectedValue = DataTransferProduk.IDTempatPenerima.ToString();
                        TextBoxKeterangan.Text = "Referensi Transfer #" + DataTransferProduk.IDTransferProduk + " - " + DataTransferProduk.Keterangan;

                        #region MEMBUAT TRANSFER PRODUK BARU
                        TransferProduk_Class TransferProduk = new TransferProduk_Class();
                        var TransferProdukBaru = TransferProduk.Tambah(db, Pengguna.IDPengguna, DropDownListTempatPengirim.SelectedValue.ToInt(), DropDownListTempatPenerima.SelectedValue.ToInt(), TextBoxKeterangan.Text);

                        LabelIDTransferProduk.Text = TransferProdukBaru.IDTransferProduk;
                        #endregion

                        Dictionary <int, int> ListStokProdukHabis = new Dictionary <int, int>();
                        StokProduk_Class      StokProduk_Class    = new StokProduk_Class(db);

                        //COPY DETAIL TRANSFER LAMA KE DETAIL TRANSFER BARU
                        foreach (var item in DataTransferProduk.TBTransferProdukDetails.ToArray())
                        {
                            //PENCARIAN STOK PRODUK
                            var StokProduk = StokProduk_Class.Cari(DropDownListTempatPengirim.SelectedValue.ToInt(), item.IDKombinasiProduk);

                            if (item.Jumlah <= StokProduk.Jumlah)
                            {
                                //JIKA JUMLAH PERMINTAAN LEBIH KECIL ATAU SAMA DENGAN JUMLAH STOK
                                StokProduk_Class.BertambahBerkurang(DropDownListTempatPengirim.SelectedValue.ToInt(), Pengguna.IDPengguna, StokProduk, item.Jumlah, StokProduk.HargaBeli.Value, StokProduk.HargaJual.Value, EnumJenisPerpindahanStok.TransferStokKeluar, "Transfer #" + LabelIDTransferProduk.Text);

                                //MENAMBAHKAN DI DETAIL TRANSFER
                                TransferProdukBaru.TBTransferProdukDetails.Add(new TBTransferProdukDetail
                                {
                                    //IDTRANSFERPRODUKDETAIL
                                    //IDTRANSFERPRODUK
                                    IDKombinasiProduk = item.IDKombinasiProduk,
                                    HargaBeli         = StokProduk.HargaBeli.Value,
                                    HargaJual         = StokProduk.HargaJual.Value,
                                    Jumlah            = item.Jumlah
                                                        //SUBTOTALHARGABELI
                                                        //SUBTOTALHARGAJUAL
                                });
                            }
                            else //MENCATAT STOK PRODUK YANG HABIS
                            {
                                ListStokProdukHabis.Add(StokProduk.IDKombinasiProduk, item.Jumlah);
                            }
                        }

                        //UPDATE DATA TRANSFERPRODUK
                        TransferProdukBaru.TanggalUpdate       = DateTime.Now;
                        TransferProdukBaru.TotalJumlah         = TransferProdukBaru.TBTransferProdukDetails.Sum(item2 => item2.Jumlah);
                        TransferProdukBaru.GrandTotalHargaBeli = TransferProdukBaru.TBTransferProdukDetails.Sum(item2 => item2.Jumlah * item2.HargaBeli);
                        TransferProdukBaru.GrandTotalHargaJual = TransferProdukBaru.TBTransferProdukDetails.Sum(item2 => item2.Jumlah * item2.HargaJual);

                        db.SubmitChanges();

                        LoadDataTransferProduk();

                        //RESET LITERAL WARNING
                        LiteralWarning.Text = "";

                        if (ListStokProdukHabis.Count > 0)
                        {
                            #region LIST STOK HABIS ADA MAKA MENAMPILKAN STOK APA SAJA YANG HABIS
                            var DataStokProduk = db.TBStokProduks
                                                 .AsEnumerable()
                                                 .Where(item =>
                                                        item.IDTempat == Pengguna.IDTempat &&
                                                        ListStokProdukHabis.ContainsKey(item.IDKombinasiProduk))
                                                 .Select(item => new
                            {
                                IDStokProduk = item.IDStokProduk,
                                Kode         = item.TBKombinasiProduk.KodeKombinasiProduk,

                                IDAtribut = item.TBKombinasiProduk.IDAtributProduk,
                                Atribut   = item.TBKombinasiProduk.TBAtributProduk.Nama,

                                IDKategori = item.TBKombinasiProduk.TBProduk.TBRelasiProdukKategoriProduks.Count > 0 ? item.TBKombinasiProduk.TBProduk.TBRelasiProdukKategoriProduks.FirstOrDefault().IDKategoriProduk : 0,
                                Kategori   = item.TBKombinasiProduk.TBProduk.TBRelasiProdukKategoriProduks.Count > 0 ? item.TBKombinasiProduk.TBProduk.TBRelasiProdukKategoriProduks.FirstOrDefault().TBKategoriProduk.Nama : "",

                                IDPemilikProduk = item.TBKombinasiProduk.TBProduk.IDPemilikProduk,
                                PemilikProduk   = item.TBKombinasiProduk.TBProduk.TBPemilikProduk.Nama,

                                IDWarna = item.TBKombinasiProduk.TBProduk.IDWarna,
                                Warna   = item.TBKombinasiProduk.TBProduk.TBWarna.Nama,

                                IDKombinasiProduk = item.IDKombinasiProduk,
                                KombinasiProduk   = item.TBKombinasiProduk.Nama,

                                IDProduk = item.TBKombinasiProduk.IDProduk,
                                Produk   = item.TBKombinasiProduk.TBProduk.Nama,

                                Jumlah = item.Jumlah,

                                HargaBeli = item.HargaBeli,
                                HargaJual = item.HargaJual
                            }).ToArray();

                            RepeaterStokKombinasiProduk.DataSource = DataStokProduk;
                            RepeaterStokKombinasiProduk.DataBind();

                            if (DataStokProduk.Count() > 0)
                            {
                                LabelTotalJumlahStok.Text = DataStokProduk.Sum(item => item.Jumlah).ToFormatHargaBulat();
                            }
                            else
                            {
                                LabelTotalJumlahStok.Text = "0";
                            }
                            #endregion

                            #region MENGISI TEXTBOX DENGAN JUMLAH PERMINTAAN
                            foreach (RepeaterItem item in RepeaterStokKombinasiProduk.Items)
                            {
                                Label        LabelIDKombinasiProduk = (Label)item.FindControl("LabelIDKombinasiProduk");
                                TextBox      TextBoxJumlahTransfer  = (TextBox)item.FindControl("TextBoxJumlahTransfer");
                                HtmlTableRow panelStok = (HtmlTableRow)item.FindControl("panelStok");

                                if (ListStokProdukHabis.ContainsKey(LabelIDKombinasiProduk.Text.ToInt()))
                                {
                                    TextBoxJumlahTransfer.Text = ListStokProdukHabis[LabelIDKombinasiProduk.Text.ToInt()].ToFormatHargaBulat();
                                    panelStok.Attributes.Add("class", "danger");
                                }
                            }
                            #endregion

                            LiteralWarning.Text = Alert_Class.Pesan(TipeAlert.Danger, "Stok tidak cukup, silahkan cek kembali");

                            MultiViewTransferProduk.ActiveViewIndex = 0;
                        }
                        else
                        {
                            //JIKA STOK PRODUK TIDAK HABIS
                            LoadDataStokProduk();
                            MultiViewTransferProduk.ActiveViewIndex = 1;
                        }
                    }
                    else
                    {
                        //TRANSFER PRODUK : PENDING
                        LabelIDTransferProduk.Text = DataTransferProduk.IDTransferProduk;
                        LoadDataTransferProduk();
                        MultiViewTransferProduk.ActiveViewIndex = 1;
                    }
                }
                else
                {
                    //TRANSFER PRODUK TIDAK DITEMUKAN MEMBUAT TRANSFER BARU
                    MultiViewTransferProduk.ActiveViewIndex = 0;
                    LoadDataStokProduk();
                }
            }
        }
        else
        {
            LiteralWarning.Text = "";
        }
    }