Exemplo n.º 1
0
        private void InsertHeader(IdebHeader item, DbConnection conn)
        {
            NameValueCollection Keys  = new NameValueCollection();
            NameValueCollection Field = new NameValueCollection();

            staticFramework.saveNVC(Keys, "Idebid", item.KodeReferensiPengguna);
            staticFramework.saveNVC(Field, "ReqId", item.IdPermintaan);
            staticFramework.saveNVC(Field, "Seq", 1);
            staticFramework.saveNVC(Field, "KodeReferensiPengguna", item.KodeReferensiPengguna);
            staticFramework.saveNVC(Field, "TanggalHasil", DatetimeToString(item.TanggalHasil));
            staticFramework.saveNVC(Field, "IdPenggunaPermintaan", item.IdPermintaan);
            staticFramework.saveNVC(Field, "IdPenggunaPermintaan", item.IdPenggunaPermintaan);
            staticFramework.saveNVC(Field, "DibuatOleh", item.DibuatOleh);
            staticFramework.saveNVC(Field, "KodeLJKPermintaan", item.KodeLJKPermintaan);
            staticFramework.saveNVC(Field, "KodeCabangPermintaan", item.KodeCabangPermintaan);
            staticFramework.saveNVC(Field, "KodeTujuanPermintaan", item.KodeTujuanPermintaan);
            staticFramework.saveNVC(Field, "TanggalPermintaan", DatetimeToString(item.TanggalPermintaan));
            staticFramework.saveNVC(Field, "TotalBagian", item.TotalBagian);
            staticFramework.saveNVC(Field, "NomorBagian", item.NomorBagian);
            staticFramework.save(Field, Keys, "Ideb", conn);
        }
Exemplo n.º 2
0
        public Dictionary <string, object> ImportIdebText(string filePath)
        {
            string connString = ConfigurationManager.ConnectionStrings["DBSCBSConnectionString"].ConnectionString;
            Dictionary <string, object> result = new Dictionary <string, object>();
            int _row = 0;

            result["Message"]    = "Success";
            result["LogSummary"] = null;
            result["LogDetail"]  = null;
            string _nFile_   = "";
            string _aFailed  = "";
            string _aSuccess = "";

            try
            {
                _timer_.Start();
                FileInfo SLIKFilePath      = new FileInfo(filePath);
                string   detailLogFileName = Path.GetFileNameWithoutExtension(filePath) + "_detail.log";
                string   summLogFileName   = Path.GetFileNameWithoutExtension(filePath) + "_summary.log";
                result["LogDetail"]  = new FileInfo(Path.GetFullPath(filePath) + detailLogFileName);
                result["LogSummary"] = new FileInfo(Path.GetFullPath(filePath) + summLogFileName);
                _nFile_ = Path.GetFileNameWithoutExtension(filePath);

                //MAPPING AND DESERIALIZE TABLE
                JObject jObj       = JObject.Parse(File.ReadAllText(filePath));
                JToken  header     = jObj["header"];
                JToken  perusahaan = jObj["perusahaan"];
                JToken  individual = jObj["individual"];
                JToken  type       = null;

                if (perusahaan != null)
                {
                    type = perusahaan;
                }
                else if (individual != null)
                {
                    type = individual;
                }

                IdebHeader iHeader   = JsonConvert.DeserializeObject <IdebHeader>(jObj["header"].ToString());
                JToken     fasilitas = type["fasilitas"];
                if (type != null)
                {
                    using (DbConnection conn = new DbConnection(connString))
                    {
                        try
                        {
                            if (type.Equals(perusahaan))
                            {
                                IdebCorpSearchVar        icorpSearch  = JsonConvert.DeserializeObject <IdebCorpSearchVar>(type["parameterPencarian"].ToString());
                                List <IdebCorpData>      icorpDt      = JsonConvert.DeserializeObject <List <IdebCorpData> >(type["dataPokokDebitur"].ToString());
                                List <IdebCorpGroup>     icorpGrp     = JsonConvert.DeserializeObject <List <IdebCorpGroup> >(type["kelompokPengurusPemilik"].ToString());
                                List <IdebSuratBerharga> iSrtBerharga = JsonConvert.DeserializeObject <List <IdebSuratBerharga> >(fasilitas["suratBerharga"].ToString());

                                InsertHeader(iHeader, conn);
                                InsertSaveParam(icorpSearch, iHeader.KodeReferensiPengguna, conn);
                                InsertCorpData(icorpDt, iHeader.KodeReferensiPengguna, conn);
                                InsertCorpGroup(icorpGrp, iHeader.KodeReferensiPengguna, conn);

                                //ini hanya sementara menunggu konfirmasi IfacID dapet dari mana
                                InsertFac(iHeader.KodeReferensiPengguna, "1", conn);

                                _row += 2 + icorpDt.Count + icorpGrp.Count;
                            }
                            else if (type.Equals(individual))
                            {
                                IdebIndivSearchVar   iDebInvdSearch = JsonConvert.DeserializeObject <IdebIndivSearchVar>(type["parameterPencarian"].ToString());
                                List <IdebIndivData> iDataInd       = JsonConvert.DeserializeObject <List <IdebIndivData> >(type["dataPokokDebitur"].ToString());

                                InsertHeader(iHeader, conn);
                                InsertSrcParamIdv(iDebInvdSearch, iHeader.KodeReferensiPengguna, conn);
                                InsertDataIdv(iDataInd, iHeader.KodeReferensiPengguna, conn);

                                //ini hanya sementara menunggu konfirmasi IfacID dapet dari mana
                                InsertFac(iHeader.KodeReferensiPengguna, "1", conn);

                                _row += 2 + iDataInd.Count;
                            }

                            //same pola
                            IdebFacSummary              ifacSumm = JsonConvert.DeserializeObject <IdebFacSummary>(type["ringkasanFasilitas"].ToString());
                            List <IdebKredit>           iKredit  = JsonConvert.DeserializeObject <List <IdebKredit> >(fasilitas["kredit"].ToString());
                            List <IdebLc>               ilc      = JsonConvert.DeserializeObject <List <IdebLc> >(fasilitas["lc"].ToString());
                            List <IdebBankGaransi>      iBankGar = JsonConvert.DeserializeObject <List <IdebBankGaransi> >(fasilitas["bankGaransi"].ToString());
                            List <IdebFasilitasLainnya> iFasLain = JsonConvert.DeserializeObject <List <IdebFasilitasLainnya> >(fasilitas["fasilitasLainnya"].ToString());

                            InsertFacSummary(ifacSumm, iHeader.KodeReferensiPengguna, conn);
                            InsertFacKredit(iKredit, 1, conn);
                            InsertFacLc(ilc, 1, conn);
                            InsertBankGar(iBankGar, 1, conn);
                            InsertFacOthers(iFasLain, 1, conn);

                            _row     += 1 + iKredit.Count + ilc.Count + iBankGar.Count + iFasLain.Count;
                            _aSuccess = "Success";
                        }
                        catch (Exception ex)
                        {
                            result["Message"] = ex.Message;
                            _aFailed          = "Failed";
                            NameValueCollection Keys   = new NameValueCollection();
                            NameValueCollection Fields = new NameValueCollection();
                            staticFramework.saveNVC(Keys, "BatchFileName", _nFile_);
                            staticFramework.saveNVC(Fields, "LogType", "SLIKTYPE");
                            staticFramework.saveNVC(Fields, "LogMessage", ex);
                            staticFramework.save(Fields, Keys, "DataImportLogDetail", conn);
                        }
                    }
                    _timer_.Stop();
                    string   _time_start_ = String.Format("{0:ddMMyyyyHHmm}", _timer_.StartAt.Value);
                    string   _time_end_   = String.Format("{0:ddMMyyyyHHmm}", _timer_.EndAt.Value);
                    DateTime dta          = DateTime.Now;
                    string   _time_       = String.Format("{0:ddMMyyyyHHmm}", dta);
                    string   sPath        = AppDomain.CurrentDomain.BaseDirectory + "SLIK_FILE_" + _time_ + ".resp";
                    //string sPath = "~/App_Data/" + "SLIK_FILE_" + _time_ + ".txt";
                    StreamWriter SaveFile = new StreamWriter(sPath);
                    SaveFile.WriteLine(_row + "|" + _aSuccess + "|" + _aFailed + "|" + _time_start_ + "|" + _time_end_);
                    SaveFile.Close();
                }
            }
            catch (Exception ex)
            {
                result["Message"] = ex.Message;
                using (DbConnection conn = new DbConnection(connString))
                {
                    NameValueCollection Keys   = new NameValueCollection();
                    NameValueCollection Fields = new NameValueCollection();
                    staticFramework.saveNVC(Keys, "BatchFileName", _nFile_);
                    staticFramework.saveNVC(Keys, "RowNumber", 5);
                    staticFramework.saveNVC(Fields, "LogType", "SLIKTYPE");
                    staticFramework.saveNVC(Fields, "LogMessage", result["Message"].ToString());
                    staticFramework.save(Fields, Keys, "DataImportLogDetail", conn);
                }
            }
            return(result);
        }