Esempio n. 1
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext())
            {
                Tempat_Class         ClassTempat         = new Tempat_Class(db);
                AtributPilihan_Class ClassAtributPilihan = new AtributPilihan_Class(db);
                Atribut_Class        ClassAtribut        = new Atribut_Class(db);

                var Tempat = ClassTempat.Cari(Request.QueryString["id"].ToInt());

                if (Tempat != null)
                {
                    LiteralJavascript.Text = ClassAtribut.DropdownListSelect2(GrupAtribut.Tempat);

                    LabelJudul.Text = Tempat.Nama;

                    ClassAtributPilihan.TempatData(Tempat, RepeaterAtribut);
                }
                else
                {
                    Response.Redirect("/WITAdministrator/Tempat/");
                }
            }
        }
    }
Esempio n. 2
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext())
            {
                DropDownListKategoriTempat.DataSource     = db.TBKategoriTempats.ToArray();
                DropDownListKategoriTempat.DataTextField  = "Nama";
                DropDownListKategoriTempat.DataValueField = "IDKategoriTempat";
                DropDownListKategoriTempat.DataBind();

                Tempat_Class ClassTempat = new Tempat_Class(db);

                var Tempat = ClassTempat.Cari(Request.QueryString["id"].ToInt());

                if (Tempat != null)
                {
                    DropDownListKategoriTempat.SelectedValue = Tempat.IDKategoriTempat.ToString();
                    TextBoxKode.Text     = Tempat.Kode;
                    TextBoxNama.Text     = Tempat.Nama;
                    TextBoxAlamat.Text   = Tempat.Alamat;
                    TextBoxEmail.Text    = Tempat.Email;
                    TextBoxTelepon1.Text = Tempat.Telepon1;
                    TextBoxTelepon2.Text = Tempat.Telepon2;

                    TextBoxKeteranganBiayaTambahan1.Text = Tempat.KeteranganBiayaTambahan1;
                    TextBoxBiayaTambahan1.Text           = Tempat.BiayaTambahan1.ToString();

                    TextBoxKeteranganBiayaTambahan2.Text = Tempat.KeteranganBiayaTambahan2;
                    TextBoxBiayaTambahan2.Text           = Tempat.BiayaTambahan2.ToString();

                    TextBoxKeteranganBiayaTambahan3.Text = Tempat.KeteranganBiayaTambahan3;
                    TextBoxBiayaTambahan3.Text           = Tempat.BiayaTambahan3.ToString();

                    TextBoxKeteranganBiayaTambahan4.Text = Tempat.KeteranganBiayaTambahan4;
                    TextBoxBiayaTambahan4.Text           = Tempat.BiayaTambahan4.ToString();

                    TextBoxLatitude.Text  = Tempat.Latitude;
                    TextBoxLongitude.Text = Tempat.Longitude;

                    TextBoxFooterPrint.Text = Tempat.FooterPrint;

                    LabelKeterangan.Text = "Ubah";
                    ButtonSimpan.Text    = "Ubah";
                }
                else
                {
                    LabelKeterangan.Text = "Tambah";
                    ButtonSimpan.Text    = "Tambah";
                }
            }
        }
    }
Esempio n. 3
0
    private void LoadData()
    {
        using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext())
        {
            Tempat_Class ClassTempat = new Tempat_Class(db);
            TBTempat     Tempat      = new TBTempat();

            #region Default
            TextBoxTanggalAwal.Text  = ((DateTime)ViewState["TanggalAwal"]).ToString("d MMMM yyyy");
            TextBoxTanggalAkhir.Text = ((DateTime)ViewState["TanggalAkhir"]).ToString("d MMMM yyyy");

            if (ViewState["TanggalAwal"].ToString() == ViewState["TanggalAkhir"].ToString())
            {
                LabelPeriode.Text = ViewState["TanggalAwal"].ToFormatTanggal();
            }
            else
            {
                LabelPeriode.Text = ViewState["TanggalAwal"].ToFormatTanggal() + " - " + ViewState["TanggalAkhir"].ToFormatTanggal();
            }
            #endregion

            RepeaterPenjualanItem.DataSource = null;
            RepeaterPenjualanItem.DataBind();

            RepeaterJenisPembayaran.DataSource = null;
            RepeaterJenisPembayaran.DataBind();

            #region QUERY DATA
            var ListTransaksi = db.TBTransaksis
                                .Where(item =>
                                       item.TanggalOperasional.Value.Date >= (DateTime)ViewState["TanggalAwal"] &&
                                       item.TanggalOperasional.Value.Date <= (DateTime)ViewState["TanggalAkhir"])
                                .ToArray();

            var ListTransaksiDetail = db.TBTransaksiDetails
                                      .Where(item =>
                                             item.TBTransaksi.TanggalOperasional.Value.Date >= (DateTime)ViewState["TanggalAwal"] &&
                                             item.TBTransaksi.TanggalOperasional.Value.Date <= (DateTime)ViewState["TanggalAkhir"])
                                      .ToArray();

            var ListTransaksiJenisPembayaran = db.TBTransaksiJenisPembayarans
                                               .Where(item =>
                                                      item.TBTransaksi.TanggalOperasional.Value.Date >= (DateTime)ViewState["TanggalAwal"] &&
                                                      item.TBTransaksi.TanggalOperasional.Value.Date <= (DateTime)ViewState["TanggalAkhir"])
                                               .ToArray();
            #endregion

            #region FILTER TEMPAT
            if (DropDownListTempat.SelectedValue != "0")
            {
                ListTransaksi = ListTransaksi
                                .Where(item => item.IDTempat == DropDownListTempat.SelectedValue.ToInt())
                                .ToArray();

                ListTransaksiDetail = ListTransaksiDetail
                                      .Where(item => item.TBTransaksi.IDTempat == DropDownListTempat.SelectedValue.ToInt())
                                      .ToArray();

                ListTransaksiJenisPembayaran = ListTransaksiJenisPembayaran
                                               .Where(item => item.TBTransaksi.IDTempat == DropDownListTempat.SelectedValue.ToInt())
                                               .ToArray();

                Tempat = ClassTempat.Cari(DropDownListTempat.SelectedValue.ToInt());
            }
            else
            {
                PenggunaLogin Pengguna = (PenggunaLogin)Session["PenggunaLogin"];
                Tempat = ClassTempat.Cari(Pengguna.IDTempat);
            }

            LabelKeteranganBiayaTambahan1.Text = Tempat.KeteranganBiayaTambahan1;
            LabelKeteranganBiayaTambahan2.Text = Tempat.KeteranganBiayaTambahan2;
            #endregion

            #region FILTER STATUS TRANSAKSI
            if (DropDownListStatusTransaksi.SelectedValue != "0")
            {
                ListTransaksi = ListTransaksi
                                .Where(item => item.IDStatusTransaksi == DropDownListStatusTransaksi.SelectedValue.ToInt())
                                .ToArray();

                ListTransaksiDetail = ListTransaksiDetail
                                      .Where(item => item.TBTransaksi.IDStatusTransaksi == DropDownListStatusTransaksi.SelectedValue.ToInt())
                                      .ToArray();

                ListTransaksiJenisPembayaran = ListTransaksiJenisPembayaran
                                               .Where(item => item.TBTransaksi.IDStatusTransaksi == DropDownListStatusTransaksi.SelectedValue.ToInt())
                                               .ToArray();
            }
            #endregion

            decimal TotalTransaksi       = 0;
            decimal RataRataTransaksi    = 0;
            decimal TotalPenjualanItem   = 0;
            decimal TotalQuantityItem    = 0;
            decimal RataRataItem         = 0;
            decimal DiscountItemCustomer = 0;
            decimal DiscountCustomer     = 0;
            decimal DiscountItemMember   = 0;
            decimal DiscountMember       = 0;
            decimal Pembulatan           = 0;
            decimal BiayaPengiriman      = 0;
            decimal TotalCash            = 0;
            decimal TotalNonCash         = 0;
            decimal TotalPembayaran      = 0;
            decimal BiayaTambahan1       = 0;
            decimal BiayaTambahan2       = 0;
            decimal TotalPenjualan       = 0;
            decimal GrandTotal           = 0;

            if (ListTransaksi.Count() > 0)
            {
                var ListPenjualanItem = ListTransaksiDetail
                                        .GroupBy(item => item.TBKombinasiProduk.TBProduk.TBRelasiProdukKategoriProduks.Count > 0 ? item.TBKombinasiProduk.TBProduk.TBRelasiProdukKategoriProduks.FirstOrDefault().TBKategoriProduk.Nama : "")
                                        .Select(item => new
                {
                    Nama      = item.Key,
                    Quantity  = item.Sum(item2 => item2.Quantity),
                    Penjualan = item.Sum(item2 => item2.Quantity * item2.HargaJual)
                })
                                        .OrderBy(item => item.Nama);

                RepeaterPenjualanItem.DataSource = ListPenjualanItem;
                RepeaterPenjualanItem.DataBind();

                TotalTransaksi    = ListTransaksi.Count();
                RataRataTransaksi = ListTransaksi.Average(item => item.GrandTotal.Value);

                TotalPenjualanItem = ListPenjualanItem.Sum(item => item.Penjualan);
                TotalQuantityItem  = ListPenjualanItem.Sum(item => item.Quantity);
                RataRataItem       = ListTransaksiDetail.Average(item => item.Subtotal.Value);

                #region DISCOUNT CUSTOMER
                //TRANSAKSI
                var ListDiscountCustomer = ListTransaksi
                                           .Where(item => item.TBPelanggan.IDGrupPelanggan == 1);

                if (ListDiscountCustomer.Count() > 0)
                {
                    DiscountCustomer = ListDiscountCustomer.Sum(item => item.PotonganTransaksi.Value);
                }

                //TRANSAKSI DETAIL
                var ListDiscountItemCustomer = ListTransaksiDetail
                                               .Where(item => item.TBTransaksi.TBPelanggan.IDGrupPelanggan == 1);

                if (ListDiscountItemCustomer.Count() > 0)
                {
                    DiscountItemCustomer = ListDiscountItemCustomer.Sum(item => item.Discount.Value * item.Quantity);
                }
                #endregion

                #region DISCOUNT MEMBER
                //TRANSAKSI
                var ListDiscountMember = ListTransaksi
                                         .Where(item => item.TBPelanggan.IDGrupPelanggan != 1);

                if (ListDiscountMember.Count() > 0)
                {
                    DiscountMember = ListDiscountMember.Sum(item => item.PotonganTransaksi.Value);
                }

                //TRANSAKSI DETAIL
                var ListDiscountItemMember = ListTransaksiDetail
                                             .Where(item => item.TBTransaksi.TBPelanggan.IDGrupPelanggan != 1);

                if (ListDiscountItemMember.Count() > 0)
                {
                    DiscountItemMember = ListDiscountItemMember.Sum(item => item.Discount.Value * item.Quantity);
                }
                #endregion

                Pembulatan      = ListTransaksi.Sum(item => item.Pembulatan.Value);
                BiayaPengiriman = ListTransaksi.Sum(item => item.BiayaPengiriman.Value);

                #region JENIS PEMBAYARAN
                var ListPembayaran = ListTransaksiJenisPembayaran
                                     .GroupBy(item => new
                {
                    item.IDJenisPembayaran,
                    item.TBJenisPembayaran.Nama
                })
                                     .Select(item => new
                {
                    IDJenisPembayaran = item.Key.IDJenisPembayaran,
                    Nama  = item.Key.Nama,
                    Total = item.Sum(item2 => item2.Total)
                });

                //CASH
                var ListPembayaranCash = ListPembayaran.FirstOrDefault(item => item.IDJenisPembayaran == 1);

                if (ListPembayaranCash != null)
                {
                    TotalCash = ListPembayaranCash.Total.Value;
                }

                //NON CASH
                var ListPembayaranNonCash = ListPembayaran.Where(item => item.IDJenisPembayaran != 1);

                if (ListPembayaranNonCash.Count() > 0)
                {
                    TotalNonCash = ListPembayaranNonCash.Sum(item => item.Total.Value);
                }

                RepeaterJenisPembayaran.DataSource = ListPembayaranNonCash;
                RepeaterJenisPembayaran.DataBind();

                //TOTAL PEMBAYARAN
                TotalPembayaran = TotalCash + TotalNonCash;
                #endregion

                BiayaTambahan1 = ListTransaksi.Sum(item => item.BiayaTambahan1.Value);
                BiayaTambahan2 = ListTransaksi.Sum(item => item.BiayaTambahan2.Value);

                TotalPenjualan = TotalPenjualanItem - DiscountItemCustomer - DiscountItemMember - DiscountCustomer - DiscountMember;
                GrandTotal     = TotalPenjualan + Pembulatan + BiayaTambahan1 + BiayaTambahan2 + BiayaPengiriman;
            }

            LabelTotalTransaksi.Text    = TotalTransaksi.ToFormatHargaBulat();
            LabelRataRataTransaksi.Text = RataRataTransaksi.ToFormatHarga();

            LabelTotalPenjualanItem.Text  = TotalPenjualanItem.ToFormatHarga();
            LabelTotalPenjualanItem1.Text = LabelTotalPenjualanItem.Text;

            LabelTotalQuantity.Text  = TotalQuantityItem.ToFormatHargaBulat();
            LabelTotalQuantity1.Text = LabelTotalQuantity.Text;

            LabelRataRataItem.Text = RataRataItem.ToFormatHarga();

            LabelDiscountCustomer.Text     = DiscountCustomer.ToFormatHarga();
            LabelDiscountItemCustomer.Text = DiscountItemCustomer.ToFormatHarga();

            LabelDiscountMember.Text     = DiscountMember.ToFormatHarga();
            LabelDiscountItemMember.Text = DiscountItemMember.ToFormatHarga();

            LabelPembulatan.Text      = Pembulatan.ToFormatHarga();
            LabelBiayaPengiriman.Text = BiayaPengiriman.ToFormatHarga();

            LabelTotalCash.Text       = TotalCash.ToFormatHarga();
            LabelTotalNonCash.Text    = TotalNonCash.ToFormatHarga();
            LabelTotalPembayaran.Text = TotalPembayaran.ToFormatHarga();

            LabelTotalPenjualan.Text = TotalPenjualan.ToFormatHarga();
            LabelGrandTotal.Text     = GrandTotal.ToFormatHarga();

            LabelBiayaTambahan1.Text = BiayaTambahan1.ToFormatHarga();
            LabelBiayaTambahan2.Text = BiayaTambahan2.ToFormatHarga();
        }
    }
Esempio n. 4
0
    protected void ButtonUpload_Click(object sender, EventArgs e)
    {
        string NamaFile    = Path.GetFileNameWithoutExtension(FileUploadTransferProduk.FileName);
        string ExtensiFile = Path.GetExtension(FileUploadTransferProduk.FileName);

        #region Format import harus .zip
        if (ExtensiFile != ".zip")
        {
            LiteralWarning.Text = Alert_Class.Pesan(TipeAlert.Danger, "Format import harus .zip");
            return;
        }
        #endregion

        if (FileUploadTransferProduk.HasFile)
        {
            string Folder = Server.MapPath("~/Files/Transfer Produk/Penerimaan/");

            if (!Directory.Exists(Folder))
            {
                Directory.CreateDirectory(Folder);
            }

            string LokasiFile = Folder + NamaFile + ExtensiFile;
            string Output     = Folder + NamaFile + "_dec" + ExtensiFile;

            FileUploadTransferProduk.SaveAs(LokasiFile);

            EncryptDecrypt.Decrypt(LokasiFile, Output);

            string file = File.ReadAllText(Output);

            File.Delete(Output);

            var FileTransferProduk = JsonConvert.DeserializeObject <FileTransferProduk>(file);

            using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext())
            {
                #region Transfer transfer sudah terdaftar
                if (db.TBTransferProduks.FirstOrDefault(item => item.IDTransferProduk == FileTransferProduk.IDTransferProduk) != null)
                {
                    LiteralWarning.Text = Alert_Class.Pesan(TipeAlert.Danger, "Data Transfer sudah terdaftar");
                    return;
                }
                #endregion

                Tempat_Class          ClassTempat           = new Tempat_Class(db);
                Produk_Class          ClassProduk           = new Produk_Class(db);
                KategoriProduk_Class  KategoriProduk_Class  = new KategoriProduk_Class();
                KombinasiProduk_Class KombinasiProduk_Class = new KombinasiProduk_Class();
                StokProduk_Class      StokProduk_Class      = new StokProduk_Class(db);

                PenggunaLogin Pengguna = (PenggunaLogin)Session["PenggunaLogin"];

                #region TEMPAT PENERIMA
                var TempatPenerima = ClassTempat.Cari(FileTransferProduk.FileTempatPenerima.IDWMS);

                if (TempatPenerima == null)
                {
                    TempatPenerima = new TBTempat
                    {
                        Alamat                   = FileTransferProduk.FileTempatPenerima.Alamat,
                        BiayaTambahan1           = FileTransferProduk.FileTempatPenerima.BiayaTambahan1,
                        BiayaTambahan2           = FileTransferProduk.FileTempatPenerima.BiayaTambahan2,
                        BiayaTambahan3           = FileTransferProduk.FileTempatPenerima.BiayaTambahan3,
                        BiayaTambahan4           = FileTransferProduk.FileTempatPenerima.BiayaTambahan4,
                        Email                    = FileTransferProduk.FileTempatPenerima.Email,
                        EnumBiayaTambahan1       = FileTransferProduk.FileTempatPenerima.EnumBiayaTambahan1,
                        EnumBiayaTambahan2       = FileTransferProduk.FileTempatPenerima.EnumBiayaTambahan2,
                        EnumBiayaTambahan3       = FileTransferProduk.FileTempatPenerima.EnumBiayaTambahan3,
                        EnumBiayaTambahan4       = FileTransferProduk.FileTempatPenerima.EnumBiayaTambahan4,
                        FooterPrint              = FileTransferProduk.FileTempatPenerima.FooterPrint,
                        IDKategoriTempat         = FileTransferProduk.FileTempatPenerima.IDKategoriTempat,
                        IDStore                  = FileTransferProduk.FileTempatPenerima.IDStore,
                        _IDWMS                   = FileTransferProduk.FileTempatPenerima.IDWMS,
                        KeteranganBiayaTambahan1 = FileTransferProduk.FileTempatPenerima.KeteranganBiayaTambahan1,
                        KeteranganBiayaTambahan2 = FileTransferProduk.FileTempatPenerima.KeteranganBiayaTambahan2,
                        KeteranganBiayaTambahan3 = FileTransferProduk.FileTempatPenerima.KeteranganBiayaTambahan3,
                        KeteranganBiayaTambahan4 = FileTransferProduk.FileTempatPenerima.KeteranganBiayaTambahan4,
                        Kode           = FileTransferProduk.FileTempatPenerima.Kode,
                        Latitude       = FileTransferProduk.FileTempatPenerima.Latitude,
                        Longitude      = FileTransferProduk.FileTempatPenerima.Longitude,
                        Nama           = FileTransferProduk.FileTempatPenerima.Nama,
                        _TanggalInsert = FileTransferProduk.FileTempatPenerima.TanggalDaftar,
                        _TanggalUpdate = FileTransferProduk.FileTempatPenerima.TanggalUpdate,
                        Telepon1       = FileTransferProduk.FileTempatPenerima.Telepon1,
                        Telepon2       = FileTransferProduk.FileTempatPenerima.Telepon2
                    };

                    db.TBTempats.InsertOnSubmit(TempatPenerima);
                    db.SubmitChanges();
                }
                #endregion

                //MASTER DATA
                foreach (var item in FileTransferProduk.TransferProdukDetails)
                {
                    #region PRODUK
                    var Produk = ClassProduk.Cari(item.Produk);

                    if (Produk == null)
                    {
                        Produk = ClassProduk.Tambah(item.Kategori, item.Warna, item.PemilikProduk, item.Produk);
                    }
                    else
                    {
                        Produk = ClassProduk.Ubah(Produk, item.Warna, item.PemilikProduk);
                    }
                    #endregion

                    #region KATEGORI
                    KategoriProduk_Class.KategoriProduk(db, Produk, item.Kategori);
                    #endregion

                    #region KOMBINASI PRODUK
                    var KombinasiProduk = KombinasiProduk_Class.Cari(db, item.KombinasiProduk);

                    if (KombinasiProduk == null)
                    {
                        AtributProduk_Class ClassAtributProduk = new AtributProduk_Class(db);

                        KombinasiProduk = KombinasiProduk_Class.Tambah(db, Produk, ClassAtributProduk.CariTambah("", item.Atribut), item.TanggalDaftar, item.TanggalUpdate, item.Kode, item.Berat, item.Keterangan);
                    }
                    else
                    {
                        KombinasiProduk = KombinasiProduk_Class.Ubah(db, TempatPenerima.IDTempat, KombinasiProduk, Produk, "", item.Atribut, item.Kode, item.Berat, item.Keterangan);
                    }
                    #endregion

                    #region STOK PRODUK
                    var StokProduk = StokProduk_Class.Cari(TempatPenerima.IDTempat, KombinasiProduk.IDKombinasiProduk);

                    if (StokProduk == null)
                    {
                        if (item.PersentaseKonsinyasi > 0)
                        {
                            StokProduk_Class.MembuatStokKonsinyasi(0, TempatPenerima.IDTempat, Pengguna.IDPengguna, KombinasiProduk, item.PersentaseKonsinyasi, item.HargaJual, "");
                        }
                        else
                        {
                            StokProduk_Class.MembuatStok(0, TempatPenerima.IDTempat, Pengguna.IDPengguna, KombinasiProduk, item.HargaBeli, item.HargaJual, "");
                        }
                    }
                    else
                    {
                        StokProduk.HargaBeli            = item.HargaBeli;
                        StokProduk.HargaJual            = item.HargaJual;
                        StokProduk.PersentaseKonsinyasi = item.PersentaseKonsinyasi;
                    }
                    #endregion

                    db.SubmitChanges();
                }

                #region TEMPAT PENGIRIM
                var TempatPengirim = ClassTempat.Cari(FileTransferProduk.FileTempatPengirim.IDWMS);

                if (TempatPengirim == null)
                {
                    TempatPengirim = new TBTempat
                    {
                        Alamat                   = FileTransferProduk.FileTempatPengirim.Alamat,
                        BiayaTambahan1           = FileTransferProduk.FileTempatPengirim.BiayaTambahan1,
                        BiayaTambahan2           = FileTransferProduk.FileTempatPengirim.BiayaTambahan2,
                        BiayaTambahan3           = FileTransferProduk.FileTempatPengirim.BiayaTambahan3,
                        BiayaTambahan4           = FileTransferProduk.FileTempatPengirim.BiayaTambahan4,
                        Email                    = FileTransferProduk.FileTempatPengirim.Email,
                        EnumBiayaTambahan1       = FileTransferProduk.FileTempatPengirim.EnumBiayaTambahan1,
                        EnumBiayaTambahan2       = FileTransferProduk.FileTempatPengirim.EnumBiayaTambahan2,
                        EnumBiayaTambahan3       = FileTransferProduk.FileTempatPengirim.EnumBiayaTambahan3,
                        EnumBiayaTambahan4       = FileTransferProduk.FileTempatPengirim.EnumBiayaTambahan4,
                        FooterPrint              = FileTransferProduk.FileTempatPengirim.FooterPrint,
                        IDKategoriTempat         = FileTransferProduk.FileTempatPengirim.IDKategoriTempat,
                        IDStore                  = FileTransferProduk.FileTempatPengirim.IDStore,
                        _IDWMS                   = FileTransferProduk.FileTempatPengirim.IDWMS,
                        KeteranganBiayaTambahan1 = FileTransferProduk.FileTempatPengirim.KeteranganBiayaTambahan1,
                        KeteranganBiayaTambahan2 = FileTransferProduk.FileTempatPengirim.KeteranganBiayaTambahan2,
                        KeteranganBiayaTambahan3 = FileTransferProduk.FileTempatPengirim.KeteranganBiayaTambahan3,
                        KeteranganBiayaTambahan4 = FileTransferProduk.FileTempatPengirim.KeteranganBiayaTambahan4,
                        Kode           = FileTransferProduk.FileTempatPengirim.Kode,
                        Latitude       = FileTransferProduk.FileTempatPengirim.Latitude,
                        Longitude      = FileTransferProduk.FileTempatPengirim.Longitude,
                        Nama           = FileTransferProduk.FileTempatPengirim.Nama,
                        _TanggalInsert = FileTransferProduk.FileTempatPengirim.TanggalDaftar,
                        _TanggalUpdate = FileTransferProduk.FileTempatPengirim.TanggalUpdate,
                        Telepon1       = FileTransferProduk.FileTempatPengirim.Telepon1,
                        Telepon2       = FileTransferProduk.FileTempatPengirim.Telepon2
                    };
                }
                #endregion

                #region PENGGUNA PENGIRIM
                var PenggunaPengirim = db.TBPenggunas
                                       .FirstOrDefault(item => item.Username.ToLower() == FileTransferProduk.FilePenggunaPengirim.Username.ToLower());

                if (PenggunaPengirim == null)
                {
                    //PENGGUNA PENGIRIM
                    PenggunaPengirim = new TBPengguna
                    {
                        IDGrupPengguna    = FileTransferProduk.FilePenggunaPengirim.IDGrupPengguna,
                        NamaLengkap       = FileTransferProduk.FilePenggunaPengirim.NamaLengkap,
                        Username          = FileTransferProduk.FilePenggunaPengirim.Username,
                        Password          = FileTransferProduk.FilePenggunaPengirim.Password,
                        PIN               = FileTransferProduk.FilePenggunaPengirim.PIN,
                        _IsActive         = FileTransferProduk.FilePenggunaPengirim.Status,
                        TBTempat          = TempatPengirim,
                        TanggalLahir      = DateTime.Now,
                        _IDWMS            = Guid.NewGuid(),
                        TanggalBekerja    = DateTime.Now,
                        _TanggalInsert    = DateTime.Now,
                        _IDTempatInsert   = TempatPenerima.IDTempat,
                        _IDPenggunaInsert = Pengguna.IDTempat,
                        _TanggalUpdate    = DateTime.Now,
                        _IDTempatUpdate   = TempatPenerima.IDTempat,
                        _IDPenggunaUpdate = Pengguna.IDTempat
                    };
                }
                #endregion

                #region TRANSFER PRODUK
                TBTransferProduk TransferProduk = new TBTransferProduk
                {
                    IDTransferProduk = FileTransferProduk.IDTransferProduk,
                    //Nomor
                    TBPengguna = PenggunaPengirim,
                    //IDPenerima
                    TBTempat          = TempatPengirim,
                    IDTempatPenerima  = TempatPenerima.IDTempat,
                    TanggalDaftar     = FileTransferProduk.TanggalDaftar,
                    TanggalUpdate     = FileTransferProduk.TanggalUpdate,
                    EnumJenisTransfer = FileTransferProduk.EnumJenisTransfer,
                    TanggalKirim      = FileTransferProduk.TanggalKirim,
                    //TanggalTerima
                    TotalJumlah         = FileTransferProduk.TotalJumlah,
                    GrandTotalHargaBeli = FileTransferProduk.GrandTotalHargaBeli,
                    GrandTotalHargaJual = FileTransferProduk.GrandTotalHargaJual,
                    Keterangan          = FileTransferProduk.Keterangan
                };
                #endregion

                #region DETAIL TRANSFER PRODUK
                foreach (var item in FileTransferProduk.TransferProdukDetails)
                {
                    var KombinasiProduk = KombinasiProduk_Class.Cari(db, item.KombinasiProduk);

                    TransferProduk.TBTransferProdukDetails.Add(new TBTransferProdukDetail
                    {
                        //IDTransferProdukDetail
                        //IDTransferProduk
                        TBKombinasiProduk = KombinasiProduk,
                        HargaBeli         = item.HargaBeli,
                        HargaJual         = item.HargaJual,
                        Jumlah            = item.Jumlah
                                            //SubtotalHargaBeli
                                            //SubtotalHargaJual
                    });
                }
                #endregion

                db.TBTransferProduks.InsertOnSubmit(TransferProduk);
                db.SubmitChanges();

                if (TransferProduk.IDTempatPenerima == Pengguna.IDTempat)
                {
                    Response.Redirect("Pengaturan.aspx?id=" + TransferProduk.IDTransferProduk);
                }
                else
                {
                    Response.Redirect("Default.aspx");
                }
            }
        }
    }
Esempio n. 5
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext();

            PenggunaLogin Pengguna = (PenggunaLogin)Session["PenggunaLogin"];

            Tempat_Class ClassTempat = new Tempat_Class(db);
            Store_Class  ClassStore  = new Store_Class(db);

            TBStore  Store  = ClassStore.Data();
            TBTempat Tempat = new TBTempat();

            if (!string.IsNullOrWhiteSpace(Request.QueryString["IDTempat"]))
            {
                Tempat = ClassTempat.Cari(Request.QueryString["IDTempat"].ToInt());
            }
            else
            {
                Tempat = ClassTempat.Cari(Pengguna.IDTempat);
            }

            LabelTempatStok.Text       = Tempat.Nama;
            LabelNamaStore.Text        = Store.Nama + " - " + Tempat.Nama;
            LabelAlamatStore.Text      = Tempat.Alamat;
            LabelTeleponStore.Text     = Tempat.Telepon1;
            LabelWebsite.Text          = Store.Website;
            HyperLinkEmail.Text        = Tempat.Email;
            HyperLinkEmail.NavigateUrl = Tempat.Email;

            LabelTanggalPrint.Text   = DateTime.Now.ToString("d MMMM yyyy HH:mm");
            LabelNamaPengguna.Text   = Pengguna.NamaLengkap;
            LabelNamaPengguna1.Text  = Pengguna.NamaLengkap;
            LabelTempatPengguna.Text = Pengguna.Tempat;

            #region TEMPAT
            var _stokProduk = db.TBStokProduks
                              .Where(item =>
                                     item.IDTempat == Tempat.IDTempat &&
                                     item.TBKombinasiProduk.TBProduk._IsActive);
            #endregion

            #region STATUS STOK
            if (Request.QueryString["IDJenisStok"] == "1")
            {
                _stokProduk = _stokProduk.Where(item => item.Jumlah > 0);
            }
            else if (Request.QueryString["IDJenisStok"] == "2")
            {
                _stokProduk = _stokProduk.Where(item => item.Jumlah == 0);
            }
            else if (Request.QueryString["IDJenisStok"] == "3")
            {
                _stokProduk = _stokProduk.Where(item => item.Jumlah < 0);
            }
            #endregion

            //KODE
            if (!string.IsNullOrWhiteSpace(Request.QueryString["Kode"]))
            {
                _stokProduk = _stokProduk.Where(item => item.TBKombinasiProduk.KodeKombinasiProduk.Contains(Request.QueryString["Kode"]));
            }

            //PRODUK
            if (!string.IsNullOrWhiteSpace(Request.QueryString["Produk"]))
            {
                _stokProduk = _stokProduk.Where(item => item.TBKombinasiProduk.TBProduk.Nama.Contains(Request.QueryString["Produk"]));
            }

            //WARNA
            if (Request.QueryString["IDWarna"] != "-1" && !string.IsNullOrWhiteSpace(Request.QueryString["IDWarna"]))
            {
                _stokProduk = _stokProduk.Where(item => item.TBKombinasiProduk.TBProduk.IDWarna == Request.QueryString["IDWarna"].ToInt());
            }

            #region HARGA JUAL
            if (!string.IsNullOrWhiteSpace(Request.QueryString["HargaJual"]))
            {
                if (Request.QueryString["HargaJual"].Contains("-"))
                {
                    string[] _angka = Request.QueryString["HargaJual"].Split('-');
                    _stokProduk = _stokProduk.Where(item => item.HargaJual >= _angka[0].ToDecimal() && item.HargaJual <= _angka[1].ToDecimal()).OrderBy(item => item.HargaJual);
                }
                else
                {
                    _stokProduk = _stokProduk.Where(item => item.HargaJual == Request.QueryString["HargaJual"].ToDecimal());
                }
            }
            #endregion

            //STOK PRODUK
            if (!string.IsNullOrWhiteSpace(Request.QueryString["Stok"]))
            {
                if (Request.QueryString["Stok"].Contains("-"))
                {
                    string[] _angka = Request.QueryString["Stok"].Split('-');
                    _stokProduk = _stokProduk.Where(item => item.Jumlah >= _angka[0].ToInt() && item.Jumlah <= _angka[1].ToInt()).OrderBy(item => item.Jumlah);
                }
                else
                {
                    _stokProduk = _stokProduk.Where(item => item.Jumlah == Request.QueryString["Stok"].ToInt());
                }
            }

            //PEMILIK PRODUK
            if (Request.QueryString["IDPemilikProduk"] != "-1" && !string.IsNullOrWhiteSpace(Request.QueryString["IDPemilikProduk"]))
            {
                _stokProduk = _stokProduk.Where(item => item.TBKombinasiProduk.TBProduk.IDPemilikProduk == Request.QueryString["IDPemilikProduk"].ToInt());
            }

            //ATRIBUT
            if (Request.QueryString["IDAtribut"] != "-1" && !string.IsNullOrWhiteSpace(Request.QueryString["IDAtribut"]))
            {
                _stokProduk = _stokProduk.Where(item => item.TBKombinasiProduk.IDAtributProduk == Request.QueryString["IDAtribut"].ToInt());
            }

            //KATEGORI
            if (Request.QueryString["IDKategori"] != "-1" && !string.IsNullOrWhiteSpace(Request.QueryString["IDKategori"]))
            {
                if (Request.QueryString["IDKategori"] == "0")
                {
                    _stokProduk = _stokProduk.Where(item => item.TBKombinasiProduk.TBProduk.TBRelasiProdukKategoriProduks.Count == 0);
                }
                else
                {
                    _stokProduk = _stokProduk.Where(item =>
                                                    item.TBKombinasiProduk.TBProduk.TBRelasiProdukKategoriProduks.Count > 0 &&
                                                    item.TBKombinasiProduk.TBProduk.TBRelasiProdukKategoriProduks.FirstOrDefault().IDKategoriProduk == int.Parse(Request.QueryString["IDKategori"]));
                }
            }

            var _dataStok = _stokProduk.Select(item => new StokProduk_Model
            {
                IDProduk          = item.TBKombinasiProduk.TBProduk.IDProduk,
                IDKombinasiProduk = item.IDKombinasiProduk,
                Kode      = item.TBKombinasiProduk.KodeKombinasiProduk,
                Atribut   = item.TBKombinasiProduk.TBAtributProduk.Nama,
                HargaJual = item.HargaJual.Value,
                Jumlah    = item.Jumlah.Value
            });

            if (_dataStok.Count() > 0)
            {
                var _dataProduk = _dataStok.Select(item => item.IDProduk).Distinct();

                var _produk = db.TBProduks
                              .Where(item => _dataProduk.Any(item2 => item2 == item.IDProduk))
                              .Select(item => new
                {
                    Produk        = item.Nama,
                    Kategori      = (item.TBRelasiProdukKategoriProduks.Count > 0) ? item.TBRelasiProdukKategoriProduks.FirstOrDefault().TBKategoriProduk.Nama : "",
                    PemilikProduk = item.TBPemilikProduk.Nama,
                    Warna         = item.TBWarna.Nama,
                    Stok          = _dataStok.Where(item2 => item2.IDProduk == item.IDProduk)
                }).OrderBy(item => item.Produk).ToList();

                LiteralLaporan.Text = string.Empty;
                int index       = 1;
                int indexVarian = 1;

                foreach (var item in _produk)
                {
                    indexVarian = 1;

                    LiteralLaporan.Text += "<tr>";

                    string rowspan = item.Stok.Count() >= 2 ? "rowspan='" + item.Stok.Count() + "'" : "";

                    LiteralLaporan.Text += "<td " + rowspan + " class='fitSize'>" + index++ + "</td>";
                    LiteralLaporan.Text += "<td " + rowspan + " class='fitSize'>" + item.Produk + "</td>";
                    LiteralLaporan.Text += "<td " + rowspan + " class='fitSize'>" + item.Warna + "</td>";
                    LiteralLaporan.Text += "<td " + rowspan + " class='fitSize'>" + item.PemilikProduk + "</td>";
                    LiteralLaporan.Text += "<td " + rowspan + " class='fitSize'>" + item.Kategori + "</td>";

                    foreach (var item2 in item.Stok)
                    {
                        if (indexVarian > 1)
                        {
                            LiteralLaporan.Text += "<tr>";
                        }

                        LiteralLaporan.Text += "<td class='fitSize'>" + item2.Kode + "</td>";
                        LiteralLaporan.Text += "<td class='fitSize'>" + item2.Atribut + "</td>";
                        LiteralLaporan.Text += "<td class='text-right'>" + item2.HargaJual.ToFormatHarga() + "</td>";
                        LiteralLaporan.Text += "<td class='text-right'>" + item2.Jumlah.ToFormatHargaBulat() + "</td>";
                        LiteralLaporan.Text += "<td class='text-right'>" + item2.Subtotal.ToFormatHarga() + "</td>";

                        LiteralLaporan.Text += "</tr>";

                        indexVarian++;
                    }
                }
            }

            LabelTotalQuantity.Text     = _dataStok.Sum(item => item.Jumlah).ToFormatHargaBulat();
            LabelRataRataHargaJual.Text = _dataStok.Average(item => item.HargaJual).ToFormatHarga();
            LabelGrandTotal.Text        = _dataStok.ToList().Sum(item => item.Subtotal).ToFormatHarga();

            LabelTotalQuantity1.Text     = LabelTotalQuantity.Text;
            LabelRataRataHargaJual1.Text = LabelRataRataHargaJual.Text;
            LabelGrandTotal1.Text        = LabelGrandTotal.Text;
        }
    }
Esempio n. 6
0
    private void LoadData()
    {
        using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext())
        {
            Laporan_Class Laporan_Class = new Laporan_Class(db, (PenggunaLogin)Session["PenggunaLogin"], DateTime.Now, DateTime.Now, false);

            Dictionary <string, dynamic> Result = new Dictionary <string, dynamic>();

            string tempPencarian     = string.Empty;
            var    ListStokBahanBaku = db.TBStokBahanBakus.Where(item => item.IDTempat == DropDownListTempat.SelectedValue.ToInt()).Select(item => new
            {
                item.IDBahanBaku,
                Kode           = item.TBBahanBaku.KodeBahanBaku,
                BahanBaku      = item.TBBahanBaku.Nama,
                Satuan         = item.TBBahanBaku.TBSatuan1.Nama,
                RelasiKategori = item.TBBahanBaku.TBRelasiBahanBakuKategoriBahanBakus.ToArray(),
                Kategori       = StokBahanBaku_Class.GabungkanSemuaKategoriBahanBaku(db, item, null),
                Jumlah         = item.Jumlah / item.TBBahanBaku.Konversi,
                item.TBBahanBaku.IDSatuanKonversi,
                DropDownSatuan = CariSatuan(item.TBBahanBaku)
            }).OrderBy(item => item.BahanBaku).ToArray();

            switch (DropDownListJenisStok.Text.ToInt())
            {
            case 1: ListStokBahanBaku = ListStokBahanBaku.Where(item => item.Jumlah > 0).ToArray(); break;

            case 2: ListStokBahanBaku = ListStokBahanBaku.Where(item => item.Jumlah == 0).ToArray(); break;

            case 3: ListStokBahanBaku = ListStokBahanBaku.Where(item => item.Jumlah < 0).ToArray(); break;
            }

            tempPencarian += "?IDTempat=" + DropDownListTempat.SelectedValue.ToInt();
            tempPencarian += "&JenisStokProduk=" + DropDownListJenisStok.Text.ToInt();

            if (!string.IsNullOrWhiteSpace(TextBoxBahanBaku.Text))
            {
                ListStokBahanBaku = ListStokBahanBaku.Where(item => item.BahanBaku.ToLower().Contains(TextBoxBahanBaku.Text.ToLower())).ToArray();
            }

            tempPencarian += "&BahanBaku=" + TextBoxBahanBaku.Text;

            if (DropDownListSatuan.SelectedValue.ToInt() != 0)
            {
                ListStokBahanBaku = ListStokBahanBaku.Where(item => item.IDSatuanKonversi == DropDownListSatuan.SelectedValue.ToInt()).ToArray();
            }

            tempPencarian += "&IDSatuan=" + DropDownListSatuan.SelectedValue.ToInt();
            tempPencarian += "&SatuanBesar=true";

            if (DropDownListKategori.SelectedValue.ToInt() != 0)
            {
                ListStokBahanBaku = ListStokBahanBaku.Where(item => item.RelasiKategori.FirstOrDefault(data => data.IDKategoriBahanBaku == DropDownListKategori.SelectedValue.ToInt()) != null).ToArray();
            }

            tempPencarian += "&IDKategori=" + DropDownListKategori.SelectedValue.ToInt();

            if (!string.IsNullOrWhiteSpace(TextBoxKodeBahanBaku.Text))
            {
                ListStokBahanBaku = ListStokBahanBaku.Where(item => item.Kode.ToLower().Contains(TextBoxKodeBahanBaku.Text.ToLower())).ToArray();
            }

            tempPencarian += "&Kode=" + TextBoxKodeBahanBaku.Text;

            if (!string.IsNullOrWhiteSpace(TextBoxQuantity.Text))
            {
                if (TextBoxQuantity.Text.Contains("-"))
                {
                    string[] Range = TextBoxQuantity.Text.Split('-');
                    ListStokBahanBaku = ListStokBahanBaku.Where(item => item.Jumlah >= Range[0].ToDecimal() && item.Jumlah <= Range[1].ToDecimal()).OrderBy(item => item.Jumlah).ToArray();
                }
                else
                {
                    ListStokBahanBaku = ListStokBahanBaku.Where(item => item.Jumlah == TextBoxQuantity.Text.ToDecimal()).ToArray();
                }
            }

            tempPencarian += "&Quantity=" + TextBoxQuantity.Text;

            if (Request.QueryString["do"] == "opname")
            {
                Result.Add("Judul", "Stock Opname");
            }
            else if (Request.QueryString["do"] == "waste")
            {
                Result.Add("Judul", "Pembuangan Bahan Baku Rusak");
            }
            else if (Request.QueryString["do"] == "restock")
            {
                Result.Add("Judul", "Restock Bahan Baku");
            }
            else if (Request.QueryString["do"] == "return")
            {
                Result.Add("Judul", "Retur ke Tempat Supplier");
            }
            else
            {
                Result.Add("Judul", "");
            }

            tempPencarian += "&do=" + Request.QueryString["do"];

            Tempat_Class ClassTempat = new Tempat_Class(db);

            Result.Add("Data", ListStokBahanBaku);
            Result.Add("Tempat", ClassTempat.Cari(DropDownListTempat.SelectedValue.ToInt()).Nama);

            //PRINT LAPORAN
            ButtonPrint.OnClientClick = "return popitup('PengaturanPrint.aspx" + tempPencarian + "')";

            RepeaterLaporan.DataSource = Result["Data"];
            RepeaterLaporan.DataBind();
        }
    }
Esempio n. 7
0
    protected void ButtonUpload_Click(object sender, EventArgs e)
    {
        string NamaFile    = Path.GetFileNameWithoutExtension(FileUploadTransferBahanBaku.FileName);
        string ExtensiFile = Path.GetExtension(FileUploadTransferBahanBaku.FileName);

        #region Format import harus .zip
        if (ExtensiFile != ".zip")
        {
            LiteralWarning.Text = Alert_Class.Pesan(TipeAlert.Danger, "Format import harus .zip");
            return;
        }
        #endregion

        if (FileUploadTransferBahanBaku.HasFile)
        {
            string Folder = Server.MapPath("~/Files/Transfer Bahan Baku/Penerimaan/");

            if (!Directory.Exists(Folder))
            {
                Directory.CreateDirectory(Folder);
            }

            string LokasiFile = Folder + NamaFile + ExtensiFile;
            string Output     = Folder + NamaFile + "_dec" + ExtensiFile;

            FileUploadTransferBahanBaku.SaveAs(LokasiFile);

            EncryptDecrypt.Decrypt(LokasiFile, Output);

            string file = File.ReadAllText(Output);

            File.Delete(Output);

            var FileTransferBahanBaku = JsonConvert.DeserializeObject <FileTransferBahanBaku>(file);

            using (DataClassesDatabaseDataContext db = new DataClassesDatabaseDataContext())
            {
                #region Transfer transfer sudah terdaftar
                if (db.TBTransferBahanBakus.FirstOrDefault(item => item.IDTransferBahanBaku == FileTransferBahanBaku.IDTransferBahanBaku) != null)
                {
                    LiteralWarning.Text = Alert_Class.Pesan(TipeAlert.Danger, "Data Transfer sudah terdaftar");
                    return;
                }
                #endregion

                Tempat_Class            ClassTempat             = new Tempat_Class(db);
                BahanBaku_Class         ClassBahanBaku          = new BahanBaku_Class();
                KategoriBahanBaku_Class KategoriBahanBaku_Class = new KategoriBahanBaku_Class();

                PenggunaLogin Pengguna = (PenggunaLogin)Session["PenggunaLogin"];

                #region TEMPAT PENERIMA
                var TempatPenerima = ClassTempat.Cari(FileTransferBahanBaku.FileTempatPenerima.IDWMS);

                if (TempatPenerima == null)
                {
                    TempatPenerima = new TBTempat
                    {
                        Alamat                   = FileTransferBahanBaku.FileTempatPenerima.Alamat,
                        BiayaTambahan1           = FileTransferBahanBaku.FileTempatPenerima.BiayaTambahan1,
                        BiayaTambahan2           = FileTransferBahanBaku.FileTempatPenerima.BiayaTambahan2,
                        BiayaTambahan3           = FileTransferBahanBaku.FileTempatPenerima.BiayaTambahan3,
                        BiayaTambahan4           = FileTransferBahanBaku.FileTempatPenerima.BiayaTambahan4,
                        Email                    = FileTransferBahanBaku.FileTempatPenerima.Email,
                        EnumBiayaTambahan1       = FileTransferBahanBaku.FileTempatPenerima.EnumBiayaTambahan1,
                        EnumBiayaTambahan2       = FileTransferBahanBaku.FileTempatPenerima.EnumBiayaTambahan2,
                        EnumBiayaTambahan3       = FileTransferBahanBaku.FileTempatPenerima.EnumBiayaTambahan3,
                        EnumBiayaTambahan4       = FileTransferBahanBaku.FileTempatPenerima.EnumBiayaTambahan4,
                        FooterPrint              = FileTransferBahanBaku.FileTempatPenerima.FooterPrint,
                        IDKategoriTempat         = FileTransferBahanBaku.FileTempatPenerima.IDKategoriTempat,
                        IDStore                  = FileTransferBahanBaku.FileTempatPenerima.IDStore,
                        _IDWMS                   = FileTransferBahanBaku.FileTempatPenerima.IDWMS,
                        KeteranganBiayaTambahan1 = FileTransferBahanBaku.FileTempatPenerima.KeteranganBiayaTambahan1,
                        KeteranganBiayaTambahan2 = FileTransferBahanBaku.FileTempatPenerima.KeteranganBiayaTambahan2,
                        KeteranganBiayaTambahan3 = FileTransferBahanBaku.FileTempatPenerima.KeteranganBiayaTambahan3,
                        KeteranganBiayaTambahan4 = FileTransferBahanBaku.FileTempatPenerima.KeteranganBiayaTambahan4,
                        Kode           = FileTransferBahanBaku.FileTempatPenerima.Kode,
                        Latitude       = FileTransferBahanBaku.FileTempatPenerima.Latitude,
                        Longitude      = FileTransferBahanBaku.FileTempatPenerima.Longitude,
                        Nama           = FileTransferBahanBaku.FileTempatPenerima.Nama,
                        _TanggalInsert = FileTransferBahanBaku.FileTempatPenerima.TanggalDaftar,
                        _TanggalUpdate = FileTransferBahanBaku.FileTempatPenerima.TanggalUpdate,
                        Telepon1       = FileTransferBahanBaku.FileTempatPenerima.Telepon1,
                        Telepon2       = FileTransferBahanBaku.FileTempatPenerima.Telepon2
                    };

                    db.TBTempats.InsertOnSubmit(TempatPenerima);
                    db.SubmitChanges();
                }
                #endregion

                //MASTER DATA
                foreach (var item in FileTransferBahanBaku.TransferBahanBakuDetails)
                {
                    #region BAHAN BAKU
                    var BahanBaku = ClassBahanBaku.Cari(db, item.BahanBaku);

                    if (BahanBaku == null)
                    {
                        BahanBaku = ClassBahanBaku.Tambah(db, item.SatuanKecil, item.SatuanBesar, item.BahanBaku, item.Konversi);
                    }
                    else
                    {
                        BahanBaku = ClassBahanBaku.Ubah(db, BahanBaku, item.SatuanKecil, item.SatuanBesar, item.Konversi);
                    }
                    #endregion

                    #region KATEGORI
                    KategoriBahanBaku_Class.KategoriBahanBaku(db, BahanBaku, item.Kategori);
                    #endregion

                    #region STOK BAHAN BAKU
                    var stokBahanBaku = db.TBStokBahanBakus.FirstOrDefault(data => data.IDBahanBaku == BahanBaku.IDBahanBaku && data.IDTempat == TempatPenerima.IDTempat);

                    if (stokBahanBaku == null)
                    {
                        stokBahanBaku = StokBahanBaku_Class.InsertStokBahanBaku(db, DateTime.Now, Pengguna.IDPengguna, TempatPenerima.IDTempat, BahanBaku, (item.HargaBeli / item.Konversi), 0, 0, "");
                    }
                    else
                    {
                        stokBahanBaku.HargaBeli = item.HargaBeli;
                    }
                    #endregion

                    db.SubmitChanges();
                }

                #region TEMPAT PENGIRIM
                var TempatPengirim = ClassTempat.Cari(FileTransferBahanBaku.FileTempatPengirim.IDWMS);

                if (TempatPengirim == null)
                {
                    TempatPengirim = new TBTempat
                    {
                        Alamat                   = FileTransferBahanBaku.FileTempatPengirim.Alamat,
                        BiayaTambahan1           = FileTransferBahanBaku.FileTempatPengirim.BiayaTambahan1,
                        BiayaTambahan2           = FileTransferBahanBaku.FileTempatPengirim.BiayaTambahan2,
                        BiayaTambahan3           = FileTransferBahanBaku.FileTempatPengirim.BiayaTambahan3,
                        BiayaTambahan4           = FileTransferBahanBaku.FileTempatPengirim.BiayaTambahan4,
                        Email                    = FileTransferBahanBaku.FileTempatPengirim.Email,
                        EnumBiayaTambahan1       = FileTransferBahanBaku.FileTempatPengirim.EnumBiayaTambahan1,
                        EnumBiayaTambahan2       = FileTransferBahanBaku.FileTempatPengirim.EnumBiayaTambahan2,
                        EnumBiayaTambahan3       = FileTransferBahanBaku.FileTempatPengirim.EnumBiayaTambahan3,
                        EnumBiayaTambahan4       = FileTransferBahanBaku.FileTempatPengirim.EnumBiayaTambahan4,
                        FooterPrint              = FileTransferBahanBaku.FileTempatPengirim.FooterPrint,
                        IDKategoriTempat         = FileTransferBahanBaku.FileTempatPengirim.IDKategoriTempat,
                        IDStore                  = FileTransferBahanBaku.FileTempatPengirim.IDStore,
                        _IDWMS                   = FileTransferBahanBaku.FileTempatPengirim.IDWMS,
                        KeteranganBiayaTambahan1 = FileTransferBahanBaku.FileTempatPengirim.KeteranganBiayaTambahan1,
                        KeteranganBiayaTambahan2 = FileTransferBahanBaku.FileTempatPengirim.KeteranganBiayaTambahan2,
                        KeteranganBiayaTambahan3 = FileTransferBahanBaku.FileTempatPengirim.KeteranganBiayaTambahan3,
                        KeteranganBiayaTambahan4 = FileTransferBahanBaku.FileTempatPengirim.KeteranganBiayaTambahan4,
                        Kode           = FileTransferBahanBaku.FileTempatPengirim.Kode,
                        Latitude       = FileTransferBahanBaku.FileTempatPengirim.Latitude,
                        Longitude      = FileTransferBahanBaku.FileTempatPengirim.Longitude,
                        Nama           = FileTransferBahanBaku.FileTempatPengirim.Nama,
                        _TanggalInsert = FileTransferBahanBaku.FileTempatPengirim.TanggalDaftar,
                        _TanggalUpdate = FileTransferBahanBaku.FileTempatPengirim.TanggalUpdate,
                        Telepon1       = FileTransferBahanBaku.FileTempatPengirim.Telepon1,
                        Telepon2       = FileTransferBahanBaku.FileTempatPengirim.Telepon2
                    };
                }
                #endregion

                #region PENGGUNA PENGIRIM
                var PenggunaPengirim = db.TBPenggunas
                                       .FirstOrDefault(item => item.Username.ToLower() == FileTransferBahanBaku.FilePenggunaPengirim.Username.ToLower());

                if (PenggunaPengirim == null)
                {
                    //PENGGUNA PENGIRIM
                    PenggunaPengirim = new TBPengguna
                    {
                        IDGrupPengguna    = FileTransferBahanBaku.FilePenggunaPengirim.IDGrupPengguna,
                        NamaLengkap       = FileTransferBahanBaku.FilePenggunaPengirim.NamaLengkap,
                        Username          = FileTransferBahanBaku.FilePenggunaPengirim.Username,
                        Password          = FileTransferBahanBaku.FilePenggunaPengirim.Password,
                        PIN               = FileTransferBahanBaku.FilePenggunaPengirim.PIN,
                        _IsActive         = FileTransferBahanBaku.FilePenggunaPengirim.Status,
                        TBTempat          = TempatPengirim,
                        TanggalLahir      = DateTime.Now,
                        _IDWMS            = Guid.NewGuid(),
                        TanggalBekerja    = DateTime.Now,
                        _TanggalInsert    = DateTime.Now,
                        _IDTempatInsert   = TempatPenerima.IDTempat,
                        _IDPenggunaInsert = Pengguna.IDTempat,
                        _TanggalUpdate    = DateTime.Now,
                        _IDTempatUpdate   = TempatPenerima.IDTempat,
                        _IDPenggunaUpdate = Pengguna.IDTempat
                    };
                }
                #endregion

                #region TRANSFER BAHAN BAKU
                TBTransferBahanBaku TransferBahanBaku = new TBTransferBahanBaku
                {
                    IDTransferBahanBaku = FileTransferBahanBaku.IDTransferBahanBaku,
                    //Nomor
                    TBPengguna = PenggunaPengirim,
                    //IDPenerima
                    TBTempat          = TempatPengirim,
                    IDTempatPenerima  = TempatPenerima.IDTempat,
                    TanggalDaftar     = FileTransferBahanBaku.TanggalDaftar,
                    TanggalUpdate     = FileTransferBahanBaku.TanggalUpdate,
                    EnumJenisTransfer = FileTransferBahanBaku.EnumJenisTransfer,
                    TanggalKirim      = FileTransferBahanBaku.TanggalKirim,
                    //TanggalTerima
                    TotalJumlah = FileTransferBahanBaku.TotalJumlah,
                    GrandTotal  = FileTransferBahanBaku.GrandTotal,
                    Keterangan  = FileTransferBahanBaku.Keterangan
                };
                #endregion

                #region DETAIL TRANSFER BAHAN BAKU
                foreach (var item in FileTransferBahanBaku.TransferBahanBakuDetails)
                {
                    var BahanBaku = db.TBBahanBakus.FirstOrDefault(data => data.Nama.ToLower() == item.BahanBaku.ToLower());

                    TransferBahanBaku.TBTransferBahanBakuDetails.Add(new TBTransferBahanBakuDetail
                    {
                        //IDTransferBahanBakuDetail
                        //IDTransferBahanBaku
                        TBBahanBaku = BahanBaku,
                        TBSatuan    = BahanBaku.TBSatuan1,
                        HargaBeli   = item.HargaBeli,
                        Jumlah      = item.Jumlah
                                      //Subtotal
                    });
                }
                #endregion

                db.TBTransferBahanBakus.InsertOnSubmit(TransferBahanBaku);
                db.SubmitChanges();

                if (TransferBahanBaku.IDTempatPenerima == Pengguna.IDTempat)
                {
                    Response.Redirect("Pengaturan.aspx?id=" + TransferBahanBaku.IDTransferBahanBaku);
                }
                else
                {
                    Response.Redirect("Default.aspx");
                }
            }
        }
    }