private bool IsletmeKoduKontrolu(Tasima tasimalar) { bool islemSonucu = false; string isletmeKodlari = tasimalar.IsletmeKodu; var sb = new StringBuilder(); IData data = GetDataObject(); try { sb.Append(@"SELECT DISTINCT ISLETME_KODU FROM KONTEYNER.LIMAN_BILGI WHERE ISLETME_KODU IN("); sb.Append("'"); sb.Append(isletmeKodlari); sb.Append("'"); sb.Append(")"); DataSet ds = data.GetRecords(sb.ToString()); islemSonucu = (ds != null && ds.Tables.Count != 0 && ds.Tables[0] != null); } catch { islemSonucu = false; } return(islemSonucu); }
public Sonuc TasimaBilgileriKaydet(Tasima tasimalar) { return(new KonteynerBS().TasimaBilgileriniKaydet(tasimalar)); }
public void DataTableToPlan() { var seed = (int)DateTime.Now.Ticks; var rnd = new Random(seed); List <Tasima> Tasimalar = new List <Tasima>(); List <tNokta> noktalar = new List <tNokta>(); List <tNoktaKaynak> kaynakNoktalar = new List <tNoktaKaynak>(); var araclar = new List <tArac>();; using (dbTezRotaDataContext dc = new dbTezRotaDataContext()) { noktalar = dc.tNoktas.ToList(); kaynakNoktalar = dc.tNoktaKaynaks.ToList(); araclar = dc.tAracs.ToList(); } Nokta KaynakNokta = new Nokta(); Tasima t = new Tasima(); var tempLokasyon = string.Empty; for (int i = 0; i < dtExcelPlan.Rows.Count; i++) { string Lokasyon = dtExcelPlan.Rows[i]["Lokasyon"].ToString(); int SiraId = Convert.ToInt32(dtExcelPlan.Rows[i]["Olay Sırası"]); string NakliyeNo = dtExcelPlan.Rows[i]["Nakliye"].ToString(); string dorsePlaka = dtExcelPlan.Rows[i]["Plaka"].ToString(); if (SiraId == 1) { t = new Tasima(); KaynakNokta = new Nokta(); var EldekiNokta = kaynakNoktalar.Where(a => a.Kodu2.Contains(Lokasyon)).FirstOrDefault(); if (EldekiNokta == null) { continue; } var MevcutNokta = noktalar.Where(a => a.nokta_isim == EldekiNokta.NoktaAdi).FirstOrDefault(); var arac = araclar.Where(a => a.DorsePlaka == dorsePlaka).FirstOrDefault(); if (arac == null) { arac = araclar.FirstOrDefault(); } t.NakliyeNo = NakliyeNo; t.KaynakId = MevcutNokta.Id; t.TasimaninAraci.AracId = arac.Id; t.TasimaninAraci.AracTip = arac.AracTipId; tempLokasyon = Lokasyon; } if (tempLokasyon != string.Empty && tempLokasyon != Lokasyon && SiraId != 1) { var HedefNokta = new Nokta(); tempLokasyon = Lokasyon; if (Lokasyon.StartsWith("000")) { Lokasyon = Lokasyon.Remove(0, 3); } else if (Lokasyon.StartsWith("00")) { Lokasyon = Lokasyon.Remove(0, 2); } var EldekiNokta = kaynakNoktalar.Where(a => (a.Kodu2 ?? string.Empty).Contains(Lokasyon)).FirstOrDefault(); if (EldekiNokta == null) { continue; } var MevcutNokta = noktalar.Where(a => a.nokta_isim.ToLower().Contains(EldekiNokta.NoktaAdi.ToLower())).FirstOrDefault(); if (MevcutNokta == null) { continue; } var arac = araclar.Where(a => a.DorsePlaka == dorsePlaka).FirstOrDefault(); if (arac == null) { arac = araclar.FirstOrDefault(); } t.NakliyeNo = NakliyeNo; t.TasimaninAraci.AracId = arac.Id; t.TasimaninAraci.AracTip = arac.AracTipId; if (t.KaynakId == 0) { t.KaynakId = KaynakNokta.Id; t.HedefId = MevcutNokta.Id; KaynakNokta.Id = MevcutNokta.Id; Tasimalar.Add(t); t = new Tasima(); } else { t.HedefId = MevcutNokta.Id; KaynakNokta.Id = MevcutNokta.Id; Tasimalar.Add(t); t = new Tasima(); } using (dbTezRotaDataContext dc = new dbTezRotaDataContext()) { var nokta = dc.tNoktas.Where(a => a.Id == MevcutNokta.Id).FirstOrDefault(); nokta.musteriKodu = Lokasyon; dc.SubmitChanges(); } } } var dur = 0; using (dbTezRotaDataContext dc = new dbTezRotaDataContext()) { tPlan tp = new tPlan(); tp.PlanIsmi = FilePath; dc.tPlans.InsertOnSubmit(tp); dc.SubmitChanges(); int s = 0; var t2 = string.Empty; var naklileyeler = Tasimalar.GroupBy(a => a.NakliyeNo).ToList(); foreach (var n in naklileyeler) { s = 0; if (n.Where(a => a.HedefId == 65).Count() < 3) { if (n.Count() > 3) { foreach (var te in n) { tTasima ta = new tTasima(); ta.PlanId = tp.Id; ta.KaynakId = te.KaynakId; ta.HedefId = te.HedefId; ta.NakliyeNo = te.NakliyeNo; ta.SiraId = s; s++; dc.tTasimas.InsertOnSubmit(ta); dc.SubmitChanges(); } } } } } }
public void TasimaEkle(Tasima tasima, IData data) { var tasimaDetayBS = new TasimaDetayBS(); string tasimaSiraNo = String.Empty; string sqlText = String.Empty; if (data == null) { data = GetDataObject(); } sqlText = @"SELECT TASIMASEQ.NEXTVAL FROM DUAL"; tasimaSiraNo = data.ExecuteScalar(sqlText, CommandType.Text).ToString(); if (String.IsNullOrEmpty(tasimaSiraNo) || tasimaSiraNo == "0") { throw new Exception("Taşıma sıra numarası alınamadı!"); } sqlText = @"INSERT INTO KONTEYNER.TASIMA ( SIRA_NO , OZET_BEYAN_NO , TASIT_ADI , SEFER_NO , TASIT_NO , TARIH , BILDIRIM_NO , ISLETME_KODU , YONU , TIPI , KAYITTAR ,TESCIL_NO) VALUES ( :SIRA_NO , :OZET_BEYAN_NO , :TASIT_ADI , :SEFER_NO , :TASIT_NO , :TARIH , :BILDIRIM_NO , :ISLETME_KODU , :YONU , :TIPI , SYSDATE, :TESCIL_NO)"; data.AddOracleParameter("SIRA_NO", Convert.ToInt32(tasimaSiraNo), OracleDbType.Int32, 4000); data.AddOracleParameter("OZET_BEYAN_NO", tasima.OzetBeyanNo, OracleDbType.Varchar2, 30); data.AddOracleParameter("TASIT_ADI", tasima.TasitAdi, OracleDbType.Varchar2, 50); data.AddOracleParameter("SEFER_NO", tasima.SeferNo, OracleDbType.Varchar2, 20); data.AddOracleParameter("TASIT_NO", tasima.TasitNo, OracleDbType.Varchar2, 20); data.AddOracleParameter("TARIH", tasima.GelisGidisTarihi, OracleDbType.Date, 30); data.AddOracleParameter("BILDIRIM_NO", tasima.GelisGidisBildirimNo, OracleDbType.Varchar2, 20); data.AddOracleParameter("ISLETME_KODU", tasima.IsletmeKodu, OracleDbType.Varchar2, 20); data.AddOracleParameter("YONU", tasima.Yonu, OracleDbType.Varchar2, 8); data.AddOracleParameter("TIPI", tasima.Tipi, OracleDbType.Varchar2, 2); data.AddOracleParameter("TESCIL_NO", tasima.tescilNo, OracleDbType.Varchar2, 20); data.ExecuteScalar(sqlText, CommandType.Text); foreach (TasimaDetay tasimaDetay in tasima.tasimaDetaylari) { if (tasimaDetay != null) { tasimaDetayBS.TasimaDetayEkle(tasimaDetay, tasimaSiraNo, data); } } }
public Sonuc TasimaBilgileriniKaydet(Tasima tasima) { string konteynerNoKontrolSonucu = String.Empty; IData data = GetDataObject(); Sonuc sonuc; try { if (tasima == null) { return(HataliSonucOlustur("Taşıma bilgileri eksik!")); } if (tasima.tasimaDetaylari == null || tasima.tasimaDetaylari.Length == 0 || tasima.tasimaDetaylari[0] == null) { return(HataliSonucOlustur("Taşıma detay bilgileri eksik!")); } string varmisonuc = VerileriKontrolEt(tasima.GelisGidisBildirimNo, tasima.TasitNo); if (varmisonuc == "false") { return(HataliSonucOlustur("Girmiş olduğunuz bildirim no veya taşıt no sistemimizde bulunmamaktadır.")); } if (String.IsNullOrEmpty(tasima.GelisGidisBildirimNo)) { return(HataliSonucOlustur("Bildirim No alanı boş olamaz!")); } if (tasima.GelisGidisBildirimNo.Length < 8) { return(HataliSonucOlustur("BildirimNo bilgisi format hatası!")); } if (!IsletmeKoduKontrolu(tasima)) { return(HataliSonucOlustur("İşletme kodu sistemde kayıtlı değil!")); } if (!BildirimNoKontrolEt(tasima.GelisGidisBildirimNo)) { return(HataliSonucOlustur("Var olan bildirim numarasını eklemeye çalışıyorsunuz. Taşıma bildirim numaralarını kontrol ediniz!")); } foreach (TasimaDetay detay in tasima.tasimaDetaylari) { konteynerNoKontrolSonucu = KonteynerNoKontrolEt(detay.KonteynerNo); if (konteynerNoKontrolSonucu != String.Empty) { return(HataliSonucOlustur(konteynerNoKontrolSonucu)); } } var tasimaBS = new TasimaBS(); sonuc = new Sonuc(); data.BeginTransaction(); string tescilNo = TescilNumarasiAl(tasima.GelisGidisBildirimNo, data); tasima.tescilNo = tescilNo; sonuc.TescilNo = tescilNo; tasimaBS.TasimaEkle(tasima, data); data.CommitTransaction(); sonuc.IslemSonucu = true; } catch (Exception exc) { data.RollbackTransaction(); sonuc = HataliSonucOlustur(exc.Message); //File.WriteAllText(@"C:\Logs\" + Guid.NewGuid() + ".txt", "Hata Detayı = " + exc.Message + " " + exc.StackTrace); } return(sonuc); }