Пример #1
0
        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);
        }
Пример #2
0
        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);
        }
Пример #3
0
        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);
        }
Пример #4
0
        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();
        }