private List <transaksiPkt> loadSheetsIntoClassList(DataSet data) { List <transaksiPkt> list = new List <transaksiPkt>(); for (int x = 0; x < data.Tables.Count; x++) { var table = data.Tables[x]; if (data.Tables[x].Columns.Count < 12) { MessageBox.Show(" Sheet " + data.Tables[x].TableName + " Format excel salah\nSheet berikutnya tetap diproses."); continue; } String sDate = data.Tables[x].Rows[12][5].ToString(); if (x == 0) { try { DateTime tempDate = Convert.ToDateTime(sDate); } catch (Exception ex) { MessageBox.Show(" Sheet: " + data.Tables[x].TableName + " Format excel salah\nSheet berikutnya tetap diproses."); } } try { table.Rows[5][5].ToString(); DateTime testanggal = (DateTime)table.Rows[12][5]; } catch (Exception e) { MessageBox.Show(e.ToString()); continue; } Console.WriteLine(table.TableName); String sSaldoAwal100 = table.Rows[12][6].ToString(), sSaldoAwal50 = table.Rows[12][7].ToString(), sSaldoAwal20 = table.Rows[12][8].ToString(); Double dbuf; transaksiPkt pkt = new transaksiPkt(); //Kode Pkt pkt.kodePkt = table.Rows[5][5].ToString(); //tanggal pengajuan pkt.tanggalPengajuan = (DateTime)table.Rows[12][5]; var qtemp = db.TransaksiAtms.AsEnumerable().Where(a => ((DateTime)a.tanggal).Date == pkt.tanggalPengajuan.Date && a.kodePkt == pkt.kodePkt).FirstOrDefault(); if (qtemp == null) { MessageBox.Show("Data " + pkt.kodePkt + " " + pkt.tanggalPengajuan.AddDays(-1).ToShortDateString() + " Tidak Ada!"); } //Pengambilan data hitungan dari db if (x == 0 && (from q in db.TransaksiAtms where q.kodePkt == pkt.kodePkt select q).FirstOrDefault() != null) { DateTime hariSebelomnya = pkt.tanggalPengajuan.AddDays(-1); var query = (from q in db.TransaksiAtms where q.kodePkt == pkt.kodePkt && q.tanggal == hariSebelomnya select q).FirstOrDefault(); pkt.saldoAwalHitungan.Add((Int64)query.saldoAkhir100); pkt.saldoAwalHitungan.Add((Int64)query.saldoAkhir50); pkt.saldoAwalHitungan.Add((Int64)query.saldoAkhir20); } else { if (x == 0) { pkt.saldoAwalHitungan = pkt.saldoAwal; } pkt.saldoAwalHitungan = list[x - 1].saldoAkhirHitungan; } //Pengambilan saldo awal dari excel for (int a = 0; a < 4; a++) { if (Double.TryParse(table.Rows[12][6 + a].ToString(), out dbuf)) { pkt.saldoAwal.Add((Int64)dbuf); } else { pkt.saldoAwal.Add(0); } } //Pengambilan setor uang dari excel for (int a = 0; a < 4; a++) { if (Double.TryParse(table.Rows[14][6 + a].ToString(), out dbuf)) { pkt.setorUang.Add((Int64)dbuf); } else { pkt.setorUang.Add(0); } } //Pengambilan penerimaan bon dari excel for (int a = 0; a < 4; a++) { if (Double.TryParse(table.Rows[15][6 + a].ToString(), out dbuf)) { pkt.penerimaanBon.Add((Int64)dbuf); } else { pkt.penerimaanBon.Add(0); } } //Pengambilan penerimaan bon adhoc dari excel for (int a = 0; a < 4; a++) { if (Double.TryParse(table.Rows[16][6 + a].ToString(), out dbuf)) { pkt.penerimaanBonAdhoc.Add((Int64)dbuf); } else { pkt.penerimaanBonAdhoc.Add(0); } } //Pengambilan pengisian atm dari excel for (int a = 0; a < 4; a++) { if (Double.TryParse(table.Rows[17][6 + a].ToString(), out dbuf)) { pkt.pengisianAtm.Add((Int64)dbuf); } else { pkt.pengisianAtm.Add(0); } } //Pengambilan pengisian crm dari excel for (int a = 0; a < 4; a++) { if (Double.TryParse(table.Rows[18][6 + a].ToString(), out dbuf)) { pkt.pengisianCrm.Add((Int64)dbuf); } else { pkt.pengisianCrm.Add(0); } } //Pengambilan bongkaran ATM dari excel for (int a = 0; a < 4; a++) { if (Double.TryParse(table.Rows[19][6 + a].ToString(), out dbuf)) { pkt.bongkaranAtm.Add((Int64)dbuf); } else { pkt.bongkaranAtm.Add(0); } } //Pengambilan bongkaran cdm dari excel for (int a = 0; a < 4; a++) { if (Double.TryParse(table.Rows[20][6 + a].ToString(), out dbuf)) { pkt.bongkaranCdm.Add((Int64)dbuf); } else { pkt.bongkaranCdm.Add(0); } } //Pengambilan bongkaran crm dari excel for (int a = 0; a < 4; a++) { if (Double.TryParse(table.Rows[21][6 + a].ToString(), out dbuf)) { pkt.bongkaranCrm.Add((Int64)dbuf); } else { pkt.bongkaranCrm.Add(0); } } //Pengambilan bon yang disetujui dari excel for (int i = 0; i < 15; i++) { DataRow row = table.Rows[22 + i]; if (row[5].ToString().Trim() == "" && (String.IsNullOrEmpty(row[6].ToString().Trim()) || row[6].ToString().Trim() == "0") && (String.IsNullOrEmpty(row[7].ToString().Trim()) || row[7].ToString().Trim() == "0") && (String.IsNullOrEmpty(row[8].ToString().Trim()) || row[8].ToString().Trim() == "0")) { continue; } String tanggalE = row[5].ToString(), d100E = row[6].ToString(), d50E = row[7].ToString(), d20E = row[8].ToString(); DateTime tanggal; Int64 d100, d50, d20, buf; //Tanggal tanggal = Convert.ToDateTime(tanggalE); //Denom 100.000 if (!String.IsNullOrEmpty(row[6].ToString())) { if (Int64.TryParse(d100E, out buf)) { d100 = buf; } else { d100 = 0; } } else { d100 = 0; } //Denom 50.000 if (!String.IsNullOrEmpty(row[7].ToString())) { if (Int64.TryParse(d50E, out buf)) { d50 = buf; } else { d50 = 0; } } else { d50 = 0; } //Denom 20.000 if (!String.IsNullOrEmpty(row[8].ToString())) { if (Int64.TryParse(d20E, out buf)) { d20 = buf; } else { d20 = 0; } } else { d20 = 0; } pkt.bonAtmYangDisetujui.Add(new Denom() { tgl = tanggal, d100 = d100, d50 = d50, d20 = d20 }); } //Pengambilan saldo akhir dari excel for (int a = 0; a < 4; a++) { if (table.Rows[38][6 + a].ToString() != "0" && table.Rows[32][6 + a].ToString() != "") { pkt.saldoAkhir.Add((Int64)Double.Parse(table.Rows[32][6 + a].ToString())); } else { pkt.saldoAkhir.Add(0); } } //Pengambilan data permintaan bon for (int i = 0; i < 10; i++) { DataRow row = table.Rows[40 + i]; if (row[5].ToString().Trim() == "" && (String.IsNullOrEmpty(row[6].ToString().Trim()) || row[6].ToString().Trim() == "0" || row[6].ToString().Trim() == ".") && (String.IsNullOrEmpty(row[7].ToString().Trim()) || row[7].ToString().Trim() == "0" || row[7].ToString().Trim() == ".") && (String.IsNullOrEmpty(row[8].ToString().Trim()) || row[8].ToString().Trim() == "0" || row[8].ToString().Trim() == ".")) { continue; } String tanggalE = row[5].ToString(), d100E = row[6].ToString(), d50E = row[7].ToString(), d20E = row[8].ToString(); DateTime tanggal; Int64 d100, d50, d20, buf; //Tanggal tanggal = Convert.ToDateTime(tanggalE); //Denom 100.000 if (!String.IsNullOrEmpty(row[6].ToString())) { if (Int64.TryParse(d100E, out buf)) { d100 = buf; } else { d100 = 0; } } else { d100 = 0; } //Denom 50.000 if (!String.IsNullOrEmpty(row[7].ToString())) { if (Int64.TryParse(d50E, out buf)) { d50 = buf; } else { d50 = 0; } } else { d50 = 0; } //Denom 20.000 if (!String.IsNullOrEmpty(row[8].ToString())) { if (Int64.TryParse(d20E, out buf)) { d20 = buf; } else { d20 = 0; } } else { d20 = 0; } pkt.permintaanBon.Add(new Denom() { tgl = tanggal, d100 = d100, d50 = d50, d20 = d20 }); } Int64 buf1; if (String.IsNullOrEmpty(table.Rows[52][6].ToString())) { pkt.permintaanAdhoc.Add(0); } else if (Int64.TryParse(table.Rows[52][6].ToString(), out buf1)) { pkt.permintaanAdhoc.Add(buf1); } else { pkt.permintaanAdhoc.Add(0); } if (String.IsNullOrEmpty(table.Rows[52][7].ToString())) { pkt.permintaanAdhoc.Add(0); } else if (Int64.TryParse(table.Rows[52][7].ToString(), out buf1)) { pkt.permintaanAdhoc.Add(buf1); } else { pkt.permintaanAdhoc.Add(0); } if (String.IsNullOrEmpty(table.Rows[52][8].ToString())) { pkt.permintaanAdhoc.Add(0); } else if (Int64.TryParse(table.Rows[52][8].ToString(), out buf1)) { pkt.permintaanAdhoc.Add(buf1); } else { pkt.permintaanAdhoc.Add(0); } Console.WriteLine("Saldo Awal Hitungan 100: " + pkt.saldoAwalHitungan[0]); Console.WriteLine("Saldo Awal Hitungan 50: " + pkt.saldoAwalHitungan[1]); Console.WriteLine("Saldo Awal Hitungan 20: " + pkt.saldoAwalHitungan[2]); Console.WriteLine("Pengisian ATM Hitungan 100: " + pkt.pengisianAtm[0]); Console.WriteLine("Pengisian ATM Hitungan 50: " + pkt.pengisianAtm[1]); Console.WriteLine("Pengisian ATM Hitungan 20: " + pkt.pengisianAtm[2]); pkt.hitungSaldoAkhir(); Console.WriteLine("Saldo Akhir 100 : " + pkt.saldoAkhir[0]); Console.WriteLine("Saldo Akhir 50 : " + pkt.saldoAkhir[1]); Console.WriteLine("Saldo Akhir 20 : " + pkt.saldoAkhir[2]); if (pkt.saldoAwalHitungan[0] != pkt.saldoAwal[0] && pkt.saldoAwalHitungan[1] != pkt.saldoAwal[1]) { MessageBox.Show("Laporan " + pkt.kodePkt + " Tanggal: " + pkt.tanggalPengajuan.ToShortDateString() + " Tidak sesuai"); } list.Add(pkt); } return(list); }
private List <transaksiPkt> loadDataIntoClass(DataSet data) { List <transaksiPkt> list = new List <transaksiPkt>(); for (int x = 0; x < data.Tables.Count; x++) { var table = data.Tables[x]; transaksiPkt pkt = new transaksiPkt(); //Kode Pkt pkt.kodePkt = table.Rows[5][5].ToString(); //tanggal pengajuan pkt.tanggalPengajuan = (DateTime)table.Rows[12][5]; //Pengambilan data hitungan dari db if (x == 0) { DateTime hariSebelomnya = pkt.tanggalPengajuan.AddDays(-1); var query = (from q in db.TransaksiAtms where q.kodePkt == pkt.kodePkt && q.tanggal == hariSebelomnya select q).FirstOrDefault(); pkt.saldoAwalHitungan.Add((Int64)query.saldoAkhir100); pkt.saldoAwalHitungan.Add((Int64)query.saldoAkhir50); pkt.saldoAwalHitungan.Add((Int64)query.saldoAkhir20); } else { pkt.saldoAwalHitungan = list[x - 1].saldoAkhirHitungan; } //Pengambilan saldo awal dari excel for (int a = 0; a < 4; a++) { if (table.Rows[12][6 + a].ToString() != "0" && table.Rows[12][6 + a].ToString() != "") { pkt.saldoAwal.Add(Int64.Parse(table.Rows[12][6 + a].ToString())); } else { pkt.saldoAwal.Add(0); } } //Pengambilan setor uang dari excel for (int a = 0; a < 4; a++) { if (table.Rows[14][6 + a].ToString() != "0" && table.Rows[14][6 + a].ToString() != "") { pkt.setorUang.Add(Int64.Parse(table.Rows[14][6 + a].ToString())); } else { pkt.setorUang.Add(0); } } //Pengambilan penerimaan bon dari excel for (int a = 0; a < 4; a++) { if (table.Rows[15][6 + a].ToString() != "0" && table.Rows[15][6 + a].ToString() != "") { pkt.penerimaanBon.Add(Int64.Parse(table.Rows[15][6 + a].ToString())); } else { pkt.penerimaanBon.Add(0); } } //Pengambilan penerimaan bon adhoc dari excel for (int a = 0; a < 4; a++) { if (table.Rows[16][6 + a].ToString() != "0" && table.Rows[16][6 + a].ToString() != "") { pkt.penerimaanBonAdhoc.Add(Int64.Parse(table.Rows[16][6 + a].ToString())); } else { pkt.penerimaanBonAdhoc.Add(0); } } //Pengambilan pengisian atm dari excel for (int a = 0; a < 4; a++) { if (table.Rows[17][6 + a].ToString() != "0" && table.Rows[17][6 + a].ToString() != "") { pkt.pengisianAtm.Add(Int64.Parse(table.Rows[17][6 + a].ToString())); } else { pkt.pengisianAtm.Add(0); } } //Pengambilan pengisian crm dari excel for (int a = 0; a < 4; a++) { if (table.Rows[18][6 + a].ToString() != "0" && table.Rows[18][6 + a].ToString() != "") { pkt.pengisianCrm.Add(Int64.Parse(table.Rows[18][6 + a].ToString())); } else { pkt.pengisianCrm.Add(0); } } //Pengambilan bongkaran ATM dari excel for (int a = 0; a < 4; a++) { if (table.Rows[19][6 + a].ToString() != "0" && table.Rows[19][6 + a].ToString() != "") { pkt.bongkaranAtm.Add(Int64.Parse(table.Rows[19][6 + a].ToString())); } else { pkt.bongkaranAtm.Add(0); } } //Pengambilan bongkaran cdm dari excel for (int a = 0; a < 4; a++) { if (table.Rows[20][6 + a].ToString() != "0" && table.Rows[20][6 + a].ToString() != "") { pkt.bongkaranCdm.Add(Int64.Parse(table.Rows[20][6 + a].ToString())); } else { pkt.bongkaranCdm.Add(0); } } //Pengambilan bongkaran crm dari excel for (int a = 0; a < 4; a++) { if (table.Rows[21][6 + a].ToString() != "0" && table.Rows[21][6 + a].ToString() != "") { pkt.bongkaranCrm.Add(Int64.Parse(table.Rows[21][6 + a].ToString())); } else { pkt.bongkaranCrm.Add(0); } } //Pengambilan bon yang disetujui dari excel for (int i = 0; i < 15; i++) { DataRow row = table.Rows[22 + i]; if (row[5].ToString().Trim() == "" && (String.IsNullOrEmpty(row[6].ToString().Trim()) || row[6].ToString().Trim() == "0") && (String.IsNullOrEmpty(row[7].ToString().Trim()) || row[7].ToString().Trim() == "0") && (String.IsNullOrEmpty(row[8].ToString().Trim()) || row[8].ToString().Trim() == "0")) { continue; } String tanggalE = row[5].ToString(), d100E = row[6].ToString(), d50E = row[7].ToString(), d20E = row[8].ToString(); DateTime tanggal; Int64 d100, d50, d20, buf; //Tanggal tanggal = Convert.ToDateTime(tanggalE); //Denom 100.000 if (!String.IsNullOrEmpty(row[6].ToString())) { if (Int64.TryParse(d100E, out buf)) { d100 = buf; } else { d100 = 0; } } else { d100 = 0; } //Denom 50.000 if (!String.IsNullOrEmpty(row[7].ToString())) { if (Int64.TryParse(d50E, out buf)) { d50 = buf; } else { d50 = 0; } } else { d50 = 0; } //Denom 20.000 if (!String.IsNullOrEmpty(row[8].ToString())) { if (Int64.TryParse(d20E, out buf)) { d20 = buf; } else { d20 = 0; } } else { d20 = 0; } pkt.bonAtmYangDisetujui.Add(new Denom() { tgl = tanggal, d100 = d100, d50 = d50, d20 = d20 }); } //Pengambilan saldo akhir dari excel for (int a = 0; a < 4; a++) { if (table.Rows[32][6 + a].ToString() != "0" && table.Rows[32][6 + a].ToString() != "") { pkt.saldoAkhir.Add(Int64.Parse(table.Rows[32][6 + a].ToString())); } else { pkt.saldoAkhir.Add(0); } } //Pengambilan data permintaan bon for (int i = 0; i < 10; i++) { DataRow row = table.Rows[40 + i]; if (row[5].ToString().Trim() == "" && (String.IsNullOrEmpty(row[6].ToString().Trim()) || row[6].ToString().Trim() == "0" || row[6].ToString().Trim() == ".") && (String.IsNullOrEmpty(row[7].ToString().Trim()) || row[7].ToString().Trim() == "0" || row[7].ToString().Trim() == ".") && (String.IsNullOrEmpty(row[8].ToString().Trim()) || row[8].ToString().Trim() == "0" || row[8].ToString().Trim() == ".")) { continue; } String tanggalE = row[5].ToString(), d100E = row[6].ToString(), d50E = row[7].ToString(), d20E = row[8].ToString(); DateTime tanggal; Int64 d100, d50, d20, buf; //Tanggal tanggal = Convert.ToDateTime(tanggalE); //Denom 100.000 if (!String.IsNullOrEmpty(row[6].ToString())) { if (Int64.TryParse(d100E, out buf)) { d100 = buf; } else { d100 = 0; } } else { d100 = 0; } //Denom 50.000 if (!String.IsNullOrEmpty(row[7].ToString())) { if (Int64.TryParse(d50E, out buf)) { d50 = buf; } else { d50 = 0; } } else { d50 = 0; } //Denom 20.000 if (!String.IsNullOrEmpty(row[8].ToString())) { if (Int64.TryParse(d20E, out buf)) { d20 = buf; } else { d20 = 0; } } else { d20 = 0; } pkt.permintaanBon.Add(new Denom() { tgl = tanggal, d100 = d100, d50 = d50, d20 = d20 }); } pkt.hitungSaldoAkhir(); list.Add(pkt); } return(list); }
private List <transaksiPkt> loadSheetsIntoClassList(DataSet data) { List <transaksiPkt> list = new List <transaksiPkt>(); int counter = 0; int counterList = 0; for (int x = 0; x < data.Tables.Count; x++) { var table = data.Tables[x]; //Validasi Sheet Kosong if (table.Rows.Count < 10 || table.Columns.Count < 12) { continue; } if (String.IsNullOrEmpty(table.Rows[22][5].ToString()) && x == data.Tables.Count - 1) { MessageBox.Show("Sheet " + table.TableName + " Tidak ada bon yang disetujui!"); break; } try { //tanggal pengajuan DateTime testanggal = (DateTime)table.Rows[12][5]; } catch (Exception e) { MessageBox.Show("Data Laporan " + data.DataSetName + " Sheet " + table.TableName + " tidak sesuai format"); continue; } Console.WriteLine(table.TableName); transaksiPkt pkt = new transaksiPkt(); //Kode Pkt pkt.kodePkt = table.Rows[5][5].ToString(); if (db.Pkts.Where(z => z.kodePkt == pkt.kodePkt).FirstOrDefault() == null) { MessageBox.Show("Sheet " + table.TableName + " Kode PKT tidak ada di master PKT"); continue; } //tanggal pengajuan pkt.tanggalPengajuan = (DateTime)table.Rows[12][5]; //Check record di db var checkRecord = (from q in db.TransaksiAtms where q.kodePkt == pkt.kodePkt && q.tanggal == pkt.tanggalPengajuan select q).FirstOrDefault(); if (checkRecord != null) { //MessageBox.Show("Data " + pkt.kodePkt + " Tanggal " + pkt.tanggalPengajuan.ToShortDateString() + " Sudah ada\nData tidak akan diinput", "Duplicate data"); continue; } //Pengambilan data hitungan dari db if (counter == 0 && (from q in db.TransaksiAtms where q.kodePkt == pkt.kodePkt select q).FirstOrDefault() != null) { DateTime hariSebelomnya = pkt.tanggalPengajuan.AddDays(-1); var query = (from q in db.TransaksiAtms where q.kodePkt == pkt.kodePkt && q.tanggal == hariSebelomnya select q).FirstOrDefault(); if (query != null) { pkt.saldoAwalHitungan.Add((Int64)query.saldoAkhir100); pkt.saldoAwalHitungan.Add((Int64)query.saldoAkhir50); pkt.saldoAwalHitungan.Add((Int64)query.saldoAkhir20); } else { MessageBox.Show("Data " + table.TableName + " tidak akan dimasukkan karena record hari sebelumnya tidak ada"); continue; } counter++; } else { if (counterList == 0) { pkt.saldoAwalHitungan = pkt.saldoAwal; } else { pkt.saldoAwalHitungan = list[counterList - 1].saldoAkhirHitungan; } } //Pengambilan saldo awal dari excel for (int a = 0; a < 4; a++) { if (table.Rows[12][6 + a].ToString() != "0" && table.Rows[12][6 + a].ToString() != "") { pkt.saldoAwal.Add((Int64)Double.Parse(table.Rows[12][6 + a].ToString())); } else { pkt.saldoAwal.Add(0); } } //Pengambilan setor uang dari excel for (int a = 0; a < 4; a++) { if (table.Rows[14][6 + a].ToString() != "0" && table.Rows[14][6 + a].ToString() != "") { pkt.setorUang.Add((Int64)Double.Parse(table.Rows[14][6 + a].ToString())); } else { pkt.setorUang.Add(0); } } //Pengambilan penerimaan bon dari excel for (int a = 0; a < 4; a++) { if (table.Rows[15][6 + a].ToString() != "0" && table.Rows[15][6 + a].ToString() != "") { pkt.penerimaanBon.Add((Int64)Double.Parse(table.Rows[15][6 + a].ToString())); } else { pkt.penerimaanBon.Add(0); } } //Pengambilan penerimaan bon adhoc dari excel for (int a = 0; a < 4; a++) { if (table.Rows[16][6 + a].ToString() != "0" && table.Rows[16][6 + a].ToString() != "") { pkt.penerimaanBonAdhoc.Add((Int64)Double.Parse(table.Rows[16][6 + a].ToString())); } else { pkt.penerimaanBonAdhoc.Add(0); } } //Pengambilan pengisian atm dari excel for (int a = 0; a < 4; a++) { if (table.Rows[17][6 + a].ToString() != "0" && table.Rows[17][6 + a].ToString() != "") { pkt.pengisianAtm.Add((Int64)Double.Parse(table.Rows[17][6 + a].ToString())); } else { pkt.pengisianAtm.Add(0); } } //Pengambilan pengisian crm dari excel for (int a = 0; a < 4; a++) { if (table.Rows[18][6 + a].ToString() != "0" && table.Rows[18][6 + a].ToString() != "") { pkt.pengisianCrm.Add((Int64)Double.Parse(table.Rows[18][6 + a].ToString())); } else { pkt.pengisianCrm.Add(0); } } //Pengambilan bongkaran ATM dari excel for (int a = 0; a < 4; a++) { if (table.Rows[19][6 + a].ToString() != "0" && table.Rows[19][6 + a].ToString() != "") { pkt.bongkaranAtm.Add((Int64)Double.Parse(table.Rows[19][6 + a].ToString())); } else { pkt.bongkaranAtm.Add(0); } } //Pengambilan bongkaran cdm dari excel for (int a = 0; a < 4; a++) { if (table.Rows[20][6 + a].ToString() != "0" && table.Rows[20][6 + a].ToString() != "") { pkt.bongkaranCdm.Add((Int64)Double.Parse(table.Rows[20][6 + a].ToString())); } else { pkt.bongkaranCdm.Add(0); } } //Pengambilan bongkaran crm dari excel for (int a = 0; a < 4; a++) { if (table.Rows[21][6 + a].ToString() != "0" && table.Rows[21][6 + a].ToString() != "") { pkt.bongkaranCrm.Add((Int64)Double.Parse(table.Rows[21][6 + a].ToString())); } else { pkt.bongkaranCrm.Add(0); } } //Pengambilan bon yang disetujui dari excel for (int i = 0; i < 15; i++) { DataRow row = table.Rows[22 + i]; if (row[5].ToString().Trim() == "" && (String.IsNullOrEmpty(row[6].ToString().Trim()) || row[6].ToString().Trim() == "0") && (String.IsNullOrEmpty(row[7].ToString().Trim()) || row[7].ToString().Trim() == "0") && (String.IsNullOrEmpty(row[8].ToString().Trim()) || row[8].ToString().Trim() == "0")) { continue; } String tanggalE = row[5].ToString(), d100E = row[6].ToString(), d50E = row[7].ToString(), d20E = row[8].ToString(); DateTime tanggal; Int64 d100, d50, d20, buf1; if (String.IsNullOrEmpty(tanggalE) || !DateTime.TryParse(tanggalE, out tanggal)) { //Kalo Gaada Tanggal } else { //Tanggal tanggal = Convert.ToDateTime(tanggalE); //Denom 100.000 if (!String.IsNullOrEmpty(row[6].ToString())) { if (Int64.TryParse(d100E, out buf1)) { d100 = buf1; } else { d100 = 0; } } else { d100 = 0; } //Denom 50.000 if (!String.IsNullOrEmpty(row[7].ToString())) { if (Int64.TryParse(d50E, out buf1)) { d50 = buf1; } else { d50 = 0; } } else { d50 = 0; } //Denom 20.000 if (!String.IsNullOrEmpty(row[8].ToString())) { if (Int64.TryParse(d20E, out buf1)) { d20 = buf1; } else { d20 = 0; } } else { d20 = 0; } pkt.bonAtmYangDisetujui.Add(new Denom() { tgl = tanggal, d100 = d100, d50 = d50, d20 = d20 }); } } //Pengambilan saldo akhir dari excel for (int a = 0; a < 4; a++) { if (table.Rows[38][6 + a].ToString() != "0" && table.Rows[32][6 + a].ToString() != "") { pkt.saldoAkhir.Add((Int64)Double.Parse(table.Rows[32][6 + a].ToString())); } else { pkt.saldoAkhir.Add(0); } } //Pengambilan data permintaan bon for (int i = 0; i < 10; i++) { DataRow row = table.Rows[40 + i]; if (row[5].ToString().Trim() == "" && (String.IsNullOrEmpty(row[6].ToString().Trim()) || row[6].ToString().Trim() == "0" || row[6].ToString().Trim() == ".") && (String.IsNullOrEmpty(row[7].ToString().Trim()) || row[7].ToString().Trim() == "0" || row[7].ToString().Trim() == ".") && (String.IsNullOrEmpty(row[8].ToString().Trim()) || row[8].ToString().Trim() == "0" || row[8].ToString().Trim() == ".")) { continue; } String tanggalE = row[5].ToString(), d100E = row[6].ToString(), d50E = row[7].ToString(), d20E = row[8].ToString(); DateTime tanggal; if (String.IsNullOrEmpty(tanggalE) || !DateTime.TryParse(tanggalE, out tanggal)) { //Kalo Gaada Tanggal } else { Console.WriteLine(table.TableName + " Permintaan Bon" + tanggalE + " 100: " + d100E + " 50: " + d50E + " 20: " + d20E); Int64 d100, d50, d20, buf1; //Tanggal tanggal = Convert.ToDateTime(tanggalE); //Denom 100.000 if (!String.IsNullOrEmpty(row[6].ToString())) { if (Int64.TryParse(d100E, out buf1)) { d100 = buf1; } else { d100 = 0; } } else { d100 = 0; } //Denom 50.000 if (!String.IsNullOrEmpty(row[7].ToString())) { if (Int64.TryParse(d50E, out buf1)) { d50 = buf1; } else { d50 = 0; } } else { d50 = 0; } //Denom 20.000 if (!String.IsNullOrEmpty(row[8].ToString())) { if (Int64.TryParse(d20E, out buf1)) { d20 = buf1; } else { d20 = 0; } } else { d20 = 0; } pkt.permintaanBon.Add(new Denom() { tgl = tanggal, d100 = d100, d50 = d50, d20 = d20 }); } } Int64 buf; if (String.IsNullOrEmpty(table.Rows[52][6].ToString())) { pkt.permintaanAdhoc.Add(0); } else if (Int64.TryParse(table.Rows[52][6].ToString(), out buf)) { pkt.permintaanAdhoc.Add(buf); } else { pkt.permintaanAdhoc.Add(0); } if (String.IsNullOrEmpty(table.Rows[52][7].ToString())) { pkt.permintaanAdhoc.Add(0); } else if (Int64.TryParse(table.Rows[52][7].ToString(), out buf)) { pkt.permintaanAdhoc.Add(buf); } else { pkt.permintaanAdhoc.Add(0); } if (String.IsNullOrEmpty(table.Rows[52][8].ToString())) { pkt.permintaanAdhoc.Add(0); } else if (Int64.TryParse(table.Rows[52][8].ToString(), out buf)) { pkt.permintaanAdhoc.Add(buf); } else { pkt.permintaanAdhoc.Add(0); } pkt.hitungSaldoAkhir(); //Bagian Checking String errMsg = ""; String summary = ""; bool isError = false; if (pkt.saldoAwalHitungan[0] != pkt.saldoAwal[0] || pkt.saldoAwalHitungan[1] != pkt.saldoAwal[1] || pkt.saldoAwalHitungan[2] != pkt.saldoAwal[2]) { isError = true; errMsg += "Saldo awal tidak sesuai\n=====================\n" + "\nHitungan 100: Rp. " + pkt.saldoAwalHitungan[0].ToString("n0") + "\nLaporan 100: Rp. " + pkt.saldoAwal[0].ToString("n0") + "\nHitungan 50: Rp. " + pkt.saldoAwalHitungan[1].ToString("n0") + "\nLaporan 50: Rp. " + pkt.saldoAwal[1].ToString("n0") + "\nHitungan 20: Rp. " + pkt.saldoAwalHitungan[2].ToString("n0") + "\nLaporan 20: Rp." + pkt.saldoAwal[2].ToString("n0"); if (pkt.saldoAwalHitungan[0] != pkt.saldoAwal[0]) { summary += "\nSaldo Awal 100 " + (pkt.saldoAwalHitungan[0] - pkt.saldoAwal[0]).ToString("n0"); } if (pkt.saldoAwalHitungan[1] != pkt.saldoAwal[1]) { summary += "\nSaldo Awal 50 " + (pkt.saldoAwalHitungan[1] - pkt.saldoAwal[1]).ToString("n0"); } if (pkt.saldoAwalHitungan[2] != pkt.saldoAwal[2]) { summary += "\nSaldo Awal 20 " + (pkt.saldoAwalHitungan[2] - pkt.saldoAwal[2]).ToString("n0"); } } var queryApproval = (from a in db.Approvals join da in db.DetailApprovals on a.idApproval equals da.idApproval where a.kodePkt == pkt.kodePkt && pkt.tanggalPengajuan == da.tanggal && da.bon100 != -1 orderby da.idDetailApproval select new { Approval = a, DetailApproval = da }).ToList(); if (queryApproval.Count > 0 && queryApproval != null) { if (queryApproval[queryApproval.Count - 1].DetailApproval.bon100 != pkt.penerimaanBon[0] || queryApproval[queryApproval.Count - 1].DetailApproval.bon50 != pkt.penerimaanBon[1] || queryApproval[queryApproval.Count - 1].DetailApproval.bon20 != pkt.penerimaanBon[2]) { isError = true; errMsg += "\nBon menurut approval\n=====================" + "\nApproval 100: Rp. " + ((Int64)queryApproval[queryApproval.Count - 1].DetailApproval.bon100).ToString("n0") + "\nLaporan 100: Rp. " + pkt.penerimaanBon[0].ToString("n0") + "\nApproval 50: Rp. " + ((Int64)queryApproval[queryApproval.Count - 1].DetailApproval.bon50).ToString("n0") + "\nLaporan 50: Rp. " + pkt.penerimaanBon[1].ToString("n0") + "\nApproval 20: Rp. " + ((Int64)queryApproval[queryApproval.Count - 1].DetailApproval.bon20).ToString("n0") + "\nLaporan 20: Rp." + pkt.penerimaanBon[2].ToString("n0"); if (queryApproval[queryApproval.Count - 1].DetailApproval.bon100 != pkt.penerimaanBon[0]) { summary += "\nBon 100 " + ((Int64)queryApproval[queryApproval.Count - 1].DetailApproval.bon100 - (Int64)pkt.penerimaanBon[0]).ToString("n0"); } if (queryApproval[queryApproval.Count - 1].DetailApproval.bon50 != pkt.penerimaanBon[1]) { summary += "\nBon 50 " + ((Int64)queryApproval[queryApproval.Count - 1].DetailApproval.bon50 - (Int64)pkt.penerimaanBon[1]).ToString("n0"); } if (queryApproval[queryApproval.Count - 1].DetailApproval.bon20 != pkt.penerimaanBon[2]) { summary += "\nBon 20 " + ((Int64)queryApproval[queryApproval.Count - 1].DetailApproval.bon20 - (Int64)pkt.penerimaanBon[2]).ToString("n0"); } } } queryApproval = (from a in db.Approvals join da in db.DetailApprovals on a.idApproval equals da.idApproval where a.kodePkt == pkt.kodePkt && da.bon100 != -1 orderby da.idDetailApproval select new { Approval = a, DetailApproval = da }).ToList(); if (queryApproval.Any()) { foreach (var bonygdisetujui in pkt.bonAtmYangDisetujui) { var qa = queryApproval.Where(a => a.DetailApproval.tanggal == bonygdisetujui.tgl).OrderByDescending(a => a.DetailApproval.idDetailApproval).Select(a => a.DetailApproval).FirstOrDefault(); if (qa != null) { if (qa.bon100 != bonygdisetujui.d100 || qa.bon50 != bonygdisetujui.d50 || qa.bon20 != bonygdisetujui.d20) { isError = true; errMsg += "\nBon tanggal " + ((DateTime)qa.tanggal).ToShortDateString() + " yang disetujui beda\n=====================" + "\nApproval 100: Rp. " + ((Int64)qa.bon100).ToString("n0") + "\nLaporan 100: Rp. " + bonygdisetujui.d100.ToString("n0") + "\nApproval 50: Rp. " + ((Int64)qa.bon50).ToString("n0") + "\nLaporan 50: Rp. " + bonygdisetujui.d50.ToString("n0") + "\nApproval 20: Rp. " + ((Int64)qa.bon20).ToString("n0") + "\nLaporan 20: Rp. " + bonygdisetujui.d20.ToString("n0"); } if (qa.bon100 != bonygdisetujui.d100) { summary += "\nSelisih bon tanggal " + ((DateTime)qa.tanggal).ToShortDateString() + " yang disetujui 100: " + ((Int64)qa.bon100 - (Int64)bonygdisetujui.d100); } if (qa.bon50 != bonygdisetujui.d50) { summary += "\nSelisih bon tanggal " + ((DateTime)qa.tanggal).ToShortDateString() + " yang disetujui 50: " + ((Int64)qa.bon50 - (Int64)bonygdisetujui.d50); } if (qa.bon20 != bonygdisetujui.d20) { summary += "\nSelisih bon tanggal " + ((DateTime)qa.tanggal).ToShortDateString() + " yang disetujui 20: " + ((Int64)qa.bon20 - (Int64)bonygdisetujui.d20); } } } } var queryApprovalAdhoc = (from a in db.Approvals.AsEnumerable() join da in db.DetailApprovals.AsEnumerable() on a.idApproval equals da.idApproval where a.kodePkt == pkt.kodePkt && da.tanggal == pkt.tanggalPengajuan.Date orderby a.idApproval select new { DetailApproval = da }).ToList(); if (queryApprovalAdhoc.Any()) { var tempQueryApprovalAdhoc = queryApprovalAdhoc[queryApprovalAdhoc.Count - 1]; if (tempQueryApprovalAdhoc.DetailApproval.adhoc100 != null) { if (tempQueryApprovalAdhoc.DetailApproval.adhoc100 != pkt.penerimaanBonAdhoc[0] || tempQueryApprovalAdhoc.DetailApproval.adhoc50 != pkt.penerimaanBonAdhoc[1] || tempQueryApprovalAdhoc.DetailApproval.adhoc20 != pkt.penerimaanBonAdhoc[2]) { isError = true; errMsg += "\nAdhoc menurut Approval\n====================" + "\n Approval Adhoc 100: " + ((Int64)tempQueryApprovalAdhoc.DetailApproval.adhoc100 + " Laporan Adhoc 100: " + ((Int64)pkt.penerimaanBonAdhoc[0])) + "\n Approval Adhoc 50: " + ((Int64)tempQueryApprovalAdhoc.DetailApproval.adhoc50 + " Laporan Adhoc 50: " + ((Int64)pkt.penerimaanBonAdhoc[1])) + "\n Approval Adhoc 20: " + ((Int64)tempQueryApprovalAdhoc.DetailApproval.adhoc20 + " Laporan Adhoc 20: " + ((Int64)pkt.penerimaanBonAdhoc[2])) ; if (tempQueryApprovalAdhoc.DetailApproval.adhoc100 != pkt.penerimaanBonAdhoc[0]) { summary += "\nAdhoc 100 tidak sesuai"; } if (tempQueryApprovalAdhoc.DetailApproval.adhoc50 != pkt.penerimaanBonAdhoc[1]) { summary += "\nAdhoc 50 tidak sesuai"; } if (tempQueryApprovalAdhoc.DetailApproval.adhoc20 != pkt.penerimaanBonAdhoc[2]) { summary += "\nAdhoc 20 tidak sesuai"; } } } } Int64 setor100 = 0, setor50 = 0, setor20 = 0; //Check Setor var queryApprovalSetor = (from a in db.Approvals.AsEnumerable() join da in db.DetailApprovals.AsEnumerable() on a.idApproval equals da.idApproval where a.kodePkt == pkt.kodePkt && da.tanggal == pkt.tanggalPengajuan && (da.setor100 > 0 || da.setor50 > 0 || da.setor20 > 0) orderby da.idDetailApproval ascending select new { DetailApproval = da }).ToList(); if (queryApprovalSetor.Any()) { var tempQueryApprovalSetor = queryApprovalSetor[queryApprovalSetor.Count - 1]; if (tempQueryApprovalSetor.DetailApproval.setor100 != null) { setor100 = (Int64)tempQueryApprovalSetor.DetailApproval.setor100; setor50 = (Int64)tempQueryApprovalSetor.DetailApproval.setor50; setor20 = (Int64)tempQueryApprovalSetor.DetailApproval.setor20; } } var queryApprovalSetorAdhoc = (from a in db.Approvals.AsEnumerable() join da in db.DetailApprovals.AsEnumerable() on a.idApproval equals da.idApproval where a.kodePkt == pkt.kodePkt && da.tanggal == pkt.tanggalPengajuan.Date orderby a.idApproval select new { DetailApproval = da }).ToList(); if (queryApprovalSetorAdhoc.Any()) { var tempQueryApprovalSetorAdhoc = queryApprovalSetorAdhoc[queryApprovalSetorAdhoc.Count - 1]; if (tempQueryApprovalSetorAdhoc.DetailApproval.adhoc100 != null) { if (tempQueryApprovalSetorAdhoc.DetailApproval.setorAdhoc100 + setor100 != pkt.setorUang[0] || tempQueryApprovalSetorAdhoc.DetailApproval.setorAdhoc50 + setor50 != pkt.setorUang[1] || tempQueryApprovalSetorAdhoc.DetailApproval.setorAdhoc20 + setor20 != pkt.setorUang[2]) { isError = true; errMsg += "\nJumlah Setor menurut Approval\n====================" + "\n Approval Setor + Setor Adhoc 100 : " + ((Int64)tempQueryApprovalSetorAdhoc.DetailApproval.setorAdhoc100 + setor100).ToString("N0") + " Laporan Setor Adhoc 100: " + ((Int64)pkt.setorUang[0]).ToString("N0") + "\n Approval Setor + Setor Adhoc 50: " + ((Int64)tempQueryApprovalSetorAdhoc.DetailApproval.setorAdhoc50 + setor50).ToString("N0") + " Laporan Setor Adhoc 50: " + ((Int64)pkt.setorUang[1]).ToString("N0") + "\n Approval Setor + Setor Adhoc 20: " + ((Int64)tempQueryApprovalSetorAdhoc.DetailApproval.setorAdhoc20 + setor20).ToString("N0") + " Laporan Setor Adhoc 20: " + ((Int64)pkt.setorUang[2]).ToString("N0") ; if (tempQueryApprovalSetorAdhoc.DetailApproval.setor100 + setor100 != pkt.setorUang[0]) { summary += "\nSetor 100 tidak sesuai"; } if (tempQueryApprovalSetorAdhoc.DetailApproval.setor50 + setor50 != pkt.setorUang[1]) { summary += "\nSetor 50 tidak sesuai"; } if (tempQueryApprovalSetorAdhoc.DetailApproval.setor20 + setor20 != pkt.setorUang[2]) { summary += "\nSetor 20 tidak sesuai"; } } } } if (isError) { String errMsg2 = "Laporan " + pkt.kodePkt + " Tanggal: " + pkt.tanggalPengajuan.ToShortDateString() + " Tidak sesuai\n"; errMsg2 += errMsg; errMsg2 += "\n\nSummary\n======================" + summary; MessageBox.Show(errMsg2, "Warning!"); } list.Add(pkt); counterList++; } return(list); }
public static void inputDataTransaksiATMToDB(transaksiPkt temp) { Database1Entities db = new Database1Entities(); //Skip data yang udah ada var check = (from x in db.TransaksiAtms where x.kodePkt == temp.kodePkt && x.tanggal == temp.tanggalPengajuan select x).FirstOrDefault(); if (check != null) { return; } TransaksiAtm newT = new TransaksiAtm(); newT.kodePkt = temp.kodePkt; newT.tanggal = temp.tanggalPengajuan; newT.adhoc100 = temp.penerimaanBonAdhoc[0]; newT.adhoc50 = temp.penerimaanBonAdhoc[1]; newT.adhoc20 = temp.penerimaanBonAdhoc[2]; newT.bon100 = temp.penerimaanBon[0]; newT.bon50 = temp.penerimaanBon[1]; newT.bon20 = temp.penerimaanBon[2]; newT.isiATM100 = temp.pengisianAtm[0]; newT.isiATM50 = temp.pengisianAtm[1]; newT.isiATM20 = temp.pengisianAtm[2]; newT.isiCRM100 = temp.pengisianCrm[0]; newT.isiCRM50 = temp.pengisianCrm[1]; newT.isiCRM20 = temp.pengisianCrm[2]; newT.saldoAwal100 = temp.saldoAwalHitungan[0]; newT.saldoAwal50 = temp.saldoAwalHitungan[1]; newT.saldoAwal20 = temp.saldoAwalHitungan[2]; newT.setor100 = temp.setorUang[0]; newT.setor50 = temp.setorUang[1]; newT.setor20 = temp.setorUang[2]; newT.sislokATM100 = temp.bongkaranAtm[0]; newT.sislokATM50 = temp.bongkaranAtm[1]; newT.sislokATM20 = temp.bongkaranAtm[2]; newT.sislokCDM100 = temp.bongkaranCdm[0]; newT.sislokCDM50 = temp.bongkaranCdm[1]; newT.sislokCDM20 = temp.bongkaranCdm[2]; newT.sislokCRM100 = temp.bongkaranCrm[0]; newT.sislokCRM50 = temp.bongkaranCrm[1]; newT.sislokCRM20 = temp.bongkaranCrm[2]; newT.saldoAkhir100 = temp.saldoAkhirHitungan[0]; newT.saldoAkhir50 = temp.saldoAkhirHitungan[1]; newT.saldoAkhir20 = temp.saldoAkhirHitungan[2]; db.TransaksiAtms.Add(newT); db.SaveChanges(); int counter = 1; foreach (var temp2 in temp.bonAtmYangDisetujui) { var query = (from x in db.laporanBons.AsEnumerable() where ((DateTime)x.tanggal).Date == temp2.tgl.Date && x.kodePkt == temp.kodePkt select x).FirstOrDefault(); if (query != null) { query.C100 = temp2.d100; query.C50 = temp2.d50; query.C20 = temp2.d20; } else { laporanBon newL = new laporanBon(); newL.kodePkt = temp.kodePkt; newL.tanggal = temp2.tgl; newL.C100 = temp2.d100; newL.C50 = temp2.d50; newL.C20 = temp2.d20; db.laporanBons.Add(newL); } db.SaveChanges(); } foreach (var temp2 in temp.permintaanBon) { var query = (from x in db.LaporanPermintaanBons.AsEnumerable() where ((DateTime)x.tanggal).Date == temp2.tgl.Date && x.kodePkt == temp.kodePkt select x).FirstOrDefault(); if (query != null) { query.C100 = temp2.d100; query.C50 = temp2.d50; query.C20 = temp2.d20; } else { LaporanPermintaanBon newL = new LaporanPermintaanBon(); newL.kodePkt = temp.kodePkt; newL.tanggal = temp2.tgl; newL.C100 = temp2.d100; newL.C50 = temp2.d50; newL.C20 = temp2.d20; db.LaporanPermintaanBons.Add(newL); } db.SaveChanges(); } var qLapPermintaanAdhoc = (from x in db.LaporanPermintaanAdhocs.AsEnumerable() where x.kodePkt == temp.kodePkt && x.tanggal == temp.tanggalPengajuan.AddDays(1) select x).FirstOrDefault(); if (qLapPermintaanAdhoc != null) { qLapPermintaanAdhoc.C100 = temp.permintaanAdhoc[0]; qLapPermintaanAdhoc.C50 = temp.permintaanAdhoc[1]; qLapPermintaanAdhoc.C20 = temp.permintaanAdhoc[2]; } else { LaporanPermintaanAdhoc newA = new LaporanPermintaanAdhoc(); newA.kodePkt = temp.kodePkt; newA.tanggal = temp.tanggalPengajuan.AddDays(1); newA.C100 = temp.permintaanAdhoc[0]; newA.C50 = temp.permintaanAdhoc[1]; newA.C20 = temp.permintaanAdhoc[2]; db.LaporanPermintaanAdhocs.Add(newA); } db.SaveChanges(); }