コード例 #1
0
ファイル: KonteynerBS.cs プロジェクト: ibrhmoguz/repo.wpf.wcf
        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);
        }
コード例 #2
0
 public Sonuc TasimaBilgileriKaydet(Tasima tasimalar)
 {
     return(new KonteynerBS().TasimaBilgileriniKaydet(tasimalar));
 }
コード例 #3
0
        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();
                            }
                        }
                    }
                }
            }
        }
コード例 #4
0
        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);
                }
            }
        }
コード例 #5
0
ファイル: KonteynerBS.cs プロジェクト: ibrhmoguz/repo.wpf.wcf
        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);
        }