private void MutasiStokProduk(int idPengguna, TBStokProduk StokProduk, EnumJenisPerpindahanStok enumJenisPerpindahanStok, int jumlahStok, decimal hargaBeli, decimal hargaJual, string keterangan) { var StokProdukMutasi = new TBStokProdukMutasi { //IDStokProdukMutasi //IDStokProduk TBStokProduk = StokProduk, IDPengguna = idPengguna, IDWMS = Guid.NewGuid(), Tanggal = DateTime.Now, HargaBeli = hargaBeli, HargaJual = hargaJual, Keterangan = keterangan }; //KREDIT if (enumJenisPerpindahanStok == EnumJenisPerpindahanStok.TransferStokKeluar) //BERTAMBAH { StokProdukMutasi.IDJenisStokMutasi = (int)EnumJenisStokMutasi.Transfer; StokProdukMutasi.Debit = 0; StokProdukMutasi.Kredit = jumlahStok; db.TBStokProdukMutasis.InsertOnSubmit(StokProdukMutasi); } else if (enumJenisPerpindahanStok == EnumJenisPerpindahanStok.TransferStokMasuk) //BERKURANG { StokProdukMutasi.IDJenisStokMutasi = (int)EnumJenisStokMutasi.Transfer; StokProdukMutasi.Debit = jumlahStok; StokProdukMutasi.Kredit = 0; db.TBStokProdukMutasis.InsertOnSubmit(StokProdukMutasi); } else if (enumJenisPerpindahanStok == EnumJenisPerpindahanStok.TransferBatal) //BERKURANG { StokProdukMutasi.IDJenisStokMutasi = (int)EnumJenisStokMutasi.Transfer; StokProdukMutasi.Debit = jumlahStok; StokProdukMutasi.Kredit = 0; db.TBStokProdukMutasis.InsertOnSubmit(StokProdukMutasi); } else if (enumJenisPerpindahanStok == EnumJenisPerpindahanStok.Transaksi) //BERTAMBAH { StokProdukMutasi.IDJenisStokMutasi = (int)EnumJenisStokMutasi.Transaksi; StokProdukMutasi.Debit = 0; StokProdukMutasi.Kredit = jumlahStok; db.TBStokProdukMutasis.InsertOnSubmit(StokProdukMutasi); } else if (enumJenisPerpindahanStok == EnumJenisPerpindahanStok.PerubahanTransaksi) //BERKURANG { StokProdukMutasi.IDJenisStokMutasi = (int)EnumJenisStokMutasi.Transaksi; StokProdukMutasi.Debit = jumlahStok; StokProdukMutasi.Kredit = 0; db.TBStokProdukMutasis.InsertOnSubmit(StokProdukMutasi); } else if (enumJenisPerpindahanStok == EnumJenisPerpindahanStok.TransaksiBatal) //BERKURANG { StokProdukMutasi.IDJenisStokMutasi = (int)EnumJenisStokMutasi.Transaksi; StokProdukMutasi.Debit = jumlahStok; StokProdukMutasi.Kredit = 0; db.TBStokProdukMutasis.InsertOnSubmit(StokProdukMutasi); } else if (enumJenisPerpindahanStok == EnumJenisPerpindahanStok.TolakPenerimaanPO) //BERTAMBAH { StokProdukMutasi.IDJenisStokMutasi = (int)EnumJenisStokMutasi.ReturPurchaseOrder; StokProdukMutasi.Debit = 0; StokProdukMutasi.Kredit = jumlahStok; db.TBStokProdukMutasis.InsertOnSubmit(StokProdukMutasi); } else if (enumJenisPerpindahanStok == EnumJenisPerpindahanStok.PembuanganBarangRusak) //BERTAMBAH { StokProdukMutasi.IDJenisStokMutasi = (int)EnumJenisStokMutasi.PembuanganRusak; StokProdukMutasi.Debit = 0; StokProdukMutasi.Kredit = jumlahStok; db.TBStokProdukMutasis.InsertOnSubmit(StokProdukMutasi); } else if (enumJenisPerpindahanStok == EnumJenisPerpindahanStok.ReturKeTempatProduksi) //BERTAMBAH { StokProdukMutasi.IDJenisStokMutasi = (int)EnumJenisStokMutasi.ReturProduksi; StokProdukMutasi.Debit = 0; StokProdukMutasi.Kredit = jumlahStok; db.TBStokProdukMutasis.InsertOnSubmit(StokProdukMutasi); } else if (enumJenisPerpindahanStok == EnumJenisPerpindahanStok.PenguranganProduksi) //BERTAMBAH { StokProdukMutasi.IDJenisStokMutasi = (int)EnumJenisStokMutasi.PenguranganUntukProduksi; StokProdukMutasi.Debit = 0; StokProdukMutasi.Kredit = jumlahStok; db.TBStokProdukMutasis.InsertOnSubmit(StokProdukMutasi); } //DEBIT else if (enumJenisPerpindahanStok == EnumJenisPerpindahanStok.RestockBarang) //BERTAMBAH { StokProdukMutasi.IDJenisStokMutasi = (int)EnumJenisStokMutasi.Restock; StokProdukMutasi.Debit = jumlahStok; StokProdukMutasi.Kredit = 0; db.TBStokProdukMutasis.InsertOnSubmit(StokProdukMutasi); } else if (enumJenisPerpindahanStok == EnumJenisPerpindahanStok.ReturDariPembeli) //BERTAMBAH { StokProdukMutasi.IDJenisStokMutasi = (int)EnumJenisStokMutasi.ReturPelanggan; StokProdukMutasi.Debit = jumlahStok; StokProdukMutasi.Kredit = 0; db.TBStokProdukMutasis.InsertOnSubmit(StokProdukMutasi); } else if (enumJenisPerpindahanStok == EnumJenisPerpindahanStok.ReturDariPembeliBatal) //BERKURANG { StokProdukMutasi.IDJenisStokMutasi = (int)EnumJenisStokMutasi.ReturPelanggan; StokProdukMutasi.Debit = 0; StokProdukMutasi.Kredit = jumlahStok; db.TBStokProdukMutasis.InsertOnSubmit(StokProdukMutasi); } else if (enumJenisPerpindahanStok == EnumJenisPerpindahanStok.PerubahanReturDariPembeli) //BERKURANG { StokProdukMutasi.IDJenisStokMutasi = (int)EnumJenisStokMutasi.ReturPelanggan; StokProdukMutasi.Debit = 0; StokProdukMutasi.Kredit = jumlahStok; db.TBStokProdukMutasis.InsertOnSubmit(StokProdukMutasi); } else if (enumJenisPerpindahanStok == EnumJenisPerpindahanStok.PenerimaanPO) //BERTAMBAH { StokProdukMutasi.IDJenisStokMutasi = (int)EnumJenisStokMutasi.PurchaseOrder; StokProdukMutasi.Debit = jumlahStok; StokProdukMutasi.Kredit = 0; db.TBStokProdukMutasis.InsertOnSubmit(StokProdukMutasi); } else if (enumJenisPerpindahanStok == EnumJenisPerpindahanStok.HasilProduksi) //BERTAMBAH { StokProdukMutasi.IDJenisStokMutasi = (int)EnumJenisStokMutasi.Produksi; StokProdukMutasi.Debit = jumlahStok; StokProdukMutasi.Kredit = 0; db.TBStokProdukMutasis.InsertOnSubmit(StokProdukMutasi); } else if (enumJenisPerpindahanStok == EnumJenisPerpindahanStok.StokOpnameBertambah) //BERTAMBAH { StokProdukMutasi.IDJenisStokMutasi = (int)EnumJenisStokMutasi.StokOpname; StokProdukMutasi.Debit = Math.Abs(jumlahStok); StokProdukMutasi.Kredit = 0; db.TBStokProdukMutasis.InsertOnSubmit(StokProdukMutasi); } else if (enumJenisPerpindahanStok == EnumJenisPerpindahanStok.StokOpnameBerkurang) //BERTAMBAH { StokProdukMutasi.IDJenisStokMutasi = (int)EnumJenisStokMutasi.StokOpname; StokProdukMutasi.Debit = 0; StokProdukMutasi.Kredit = Math.Abs(jumlahStok); db.TBStokProdukMutasis.InsertOnSubmit(StokProdukMutasi); } }
public bool BertambahBerkurang(DateTime tanggal, int idTempat, int idPengguna, TBStokProduk StokProduk, int jumlahStok, decimal hargaBeli, decimal hargaJual, EnumJenisPerpindahanStok enumJenisPerpindahanStok, string keterangan) { if (StokProduk != null) { jumlahStok = Math.Abs(jumlahStok); //STOK HARUS LEBIH DARI 0 if (jumlahStok > 0) { //MENCARI JENIS PERPINDAHAN STOK var JenisPerpindahanStok = db.TBJenisPerpindahanStoks.FirstOrDefault(item => item.IDJenisPerpindahanStok == (int)enumJenisPerpindahanStok); if (JenisPerpindahanStok != null) { //MUTASI STOK PRODUK MutasiStokProduk(idPengguna, StokProduk, enumJenisPerpindahanStok, jumlahStok, hargaBeli, hargaJual, keterangan); if (JenisPerpindahanStok.Status.Value) { StokProduk.HargaBeli = PenghitunganAverage(StokProduk.Jumlah.Value, StokProduk.HargaBeli.Value, jumlahStok, hargaBeli); StokProduk.Jumlah += jumlahStok; } else { StokProduk.Jumlah -= jumlahStok; } //MENCATAT DI PERPINDAHAN STOK PRODUK db.TBPerpindahanStokProduks.InsertOnSubmit(new TBPerpindahanStokProduk { IDWMS = Guid.NewGuid(), TBJenisPerpindahanStok = JenisPerpindahanStok, TBStokProduk = StokProduk, IDTempat = idTempat, IDPengguna = idPengguna, Tanggal = tanggal, Jumlah = jumlahStok, Keterangan = keterangan }); return(true); } else { return(false); //JENIS PERPINDAHAN STOK PRODUK TIDAK DITEMUKAN } } else { return(false); //JUMLAH STOK TIDAK VALID } } else { return(false); //STOK PRODUK TIDAK DITEMUKAN } }
public bool BertambahBerkurang(int idTempat, int idPengguna, int idKombinasiProduk, int jumlahStok, decimal hargaBeli, decimal hargaJual, EnumJenisPerpindahanStok enumJenisPerpindahanStok, string keterangan) { //PENCARIAN STOK PRODUK BERDASARKAN IDTempat IDKombinasiProduk var StokProduk = Cari(idTempat, idKombinasiProduk); return(BertambahBerkurang(idTempat, idPengguna, StokProduk, jumlahStok, hargaBeli, hargaJual, enumJenisPerpindahanStok, keterangan)); }
public bool BertambahBerkurang(int idTempat, int idPengguna, TBStokProduk StokProduk, int jumlahStok, decimal hargaBeli, decimal hargaJual, EnumJenisPerpindahanStok enumJenisPerpindahanStok, string keterangan) { return(BertambahBerkurang(DateTime.Now, idTempat, idPengguna, StokProduk, jumlahStok, hargaBeli, hargaJual, enumJenisPerpindahanStok, keterangan)); }
//public static void InsertStokBahanBakuDetail(DataClassesDatabaseDataContext db, string kodeStokBahanBaku, int idStokBahanBaku, int idSupplier, DateTime tanggalDaftar, decimal hargaBeli, decimal jumlah) //{ // db.TBStokBahanBakuDetails.InsertOnSubmit(new TBStokBahanBakuDetail // { // KodeStokBahanBaku = kodeStokBahanBaku, // IDStokBahanBaku = idStokBahanBaku, // IDSupplier = idSupplier, // TanggalDaftar = tanggalDaftar, // HargaBeli = hargaBeli, // Jumlah = jumlah, // Aktif = true // }); //} //public static string InsertStokBahanBakuDetailSP(DataClassesDatabaseDataContext db, TBStokBahanBaku stokBahanBaku, int idSupplier, string kodeStokBahanBaku, DateTime tanggalDaftar, decimal hargaBeli, decimal jumlah, bool satuanBesar) //{ // #region Konversi Ke Satuan Stok Bahan Baku // if (satuanBesar == true) // { // jumlah *= stokBahanBaku.TBBahanBaku.Konversi.Value; // hargaBeli /= stokBahanBaku.TBBahanBaku.Konversi.Value; // } // #endregion // db.Proc_InsertStokBahanBakuDetail(ref kodeStokBahanBaku, stokBahanBaku.IDStokBahanBaku, idSupplier, tanggalDaftar, hargaBeli, jumlah); // return kodeStokBahanBaku; //} #endregion #region UPDATE public static TBStokBahanBaku UpdateBertambahBerkurang(DataClassesDatabaseDataContext db, DateTime tanggal, int idPengguna, TBStokBahanBaku stokBahanBaku, decimal jumlahStok, decimal hargaBeli, bool satuanBesar, EnumJenisPerpindahanStok enumJenisPerpindahanStok, string keterangan) { if (stokBahanBaku != null) { if (jumlahStok > 0) { //MENCARI JENIS PERPINDAHAN STOK TBJenisPerpindahanStok JenisPerpindahanStok = db.TBJenisPerpindahanStoks.FirstOrDefault(item => item.IDJenisPerpindahanStok == (int)enumJenisPerpindahanStok); if (JenisPerpindahanStok != null) { #region Konversi Ke Satuan Stok Bahan Baku if (satuanBesar == true) { jumlahStok *= stokBahanBaku.TBBahanBaku.Konversi.Value; hargaBeli /= stokBahanBaku.TBBahanBaku.Konversi.Value; } #endregion decimal hargaBeliPerpindahanStok = 0; if ((bool)JenisPerpindahanStok.Status) { hargaBeliPerpindahanStok = hargaBeli; stokBahanBaku.HargaBeli = HitungRataRataHargaBeli(stokBahanBaku.Jumlah.Value, stokBahanBaku.HargaBeli.Value, jumlahStok, hargaBeli); stokBahanBaku.Jumlah += jumlahStok; } else { hargaBeliPerpindahanStok = stokBahanBaku.HargaBeli.Value; stokBahanBaku.Jumlah -= jumlahStok; } //MENCATAT DI PERPINDAHAN STOK PRODUK InsertPerpindahanStok( db: db, idJenisPerindahanStok: JenisPerpindahanStok.IDJenisPerpindahanStok, stokBahanBaku: stokBahanBaku, idTempat: stokBahanBaku.IDTempat.Value, idPengguna: idPengguna, idSatuan: stokBahanBaku.TBBahanBaku.IDSatuan, tanggal: tanggal, hargaBeli: hargaBeliPerpindahanStok, jumlah: jumlahStok, keterangan: keterangan); } } } return(stokBahanBaku); }