Example #1
0
        /// <summary>
        /// Yeni bir planlama kaydedilecekse plan.Id 'si 0'dır. Sistem buna göre yeni kaydı açar. Bunun için de girilen plan.Tarih ve  plan.Tarih + gunSayisi arasındaki günlerde herhangi bir plan olmamalıdır.
        /// Eğer bu günler arasında bir plan varsa plan kaydedilmez ve fonksiyon -1 dönderir.
        ///
        /// Eski bir planlama üzerinde update yapılacaksa plan.Id'si 0'dan farklıdır ve buna göre verilen plan update edilir.
        /// </summary>
        /// <param name="plan">vPlanlama türünde veridir.</param>
        /// <param name="gunSayisi">plan.Tarih'inden itibaren kaç güne plan atılacağını belirler. Her bir güne dokunacak olan bilgi plan.Miktar içerisinde saklıdır.</param>
        /// <returns></returns>
        public int PlanlamaKaydet(vPlanlama plan, int gunSayisi)
        {
            if (plan.Id == 0)
            {
                if (db.GetGeneric <tblPlanlama>(c => c.TezgahId == plan.TezgahId && c.Tarih >= plan.Tarih.Value && c.Tarih < plan.Tarih.Value.AddDays(gunSayisi)).Count > 0)
                {
                    return(-1);
                }

                List <tblPlanlama> listPlan = new List <tblPlanlama>();

                int tarihIndisi = 0;
                for (int i = 0; i < gunSayisi; i++)
                {
                    tblPlanlama tblPlan = plan.ViewToTbl();
                    if (tblPlan.Tarih.AddDays(tarihIndisi).DayOfWeek != DayOfWeek.Sunday)
                    {
                        tblPlan.Tarih = tblPlan.Tarih.AddDays(tarihIndisi);
                        listPlan.Add(tblPlan);
                    }
                    else
                    {
                        gunSayisi++;  //plan pazara geliyorsa o gün atlanmalı ve gün sayısı 1 artırılmalı.
                    }
                    tarihIndisi++;
                }

                return((db.SaveGeneric <tblPlanlama>(listPlan) == true) ? 1 : 0);
            }
            else
            {
                return((db.UpdateGeneric <tblPlanlama>(plan.ViewToTbl()) == true) ? 1 : 0);
            }
        }
Example #2
0
        public bool TezgahPlanTasi(int tezgahId, List <DateTime> gunler, List <int> listTasinacaklar)
        {
            bool snc = true;

            for (int i = 0; i < listTasinacaklar.Count; i++)
            {
                DateTime?gun = GunSec(tezgahId, gunler);
                if (gun != null)
                {
                    tblPlanlama plan = db.GetGeneric <tblPlanlama>(c => c.Id == listTasinacaklar[i]).FirstOrDefault();
                    plan.TezgahId = tezgahId;
                    plan.Tarih    = gun.Value;
                    if (db.UpdateGeneric <tblPlanlama>(plan) == false)
                    {
                        snc = false;
                    }
                }
                else
                {
                    snc = false;
                }
            }

            return(snc);
        }
Example #3
0
        private DateTime?GunSec(int tezgahId, List <DateTime> gunler)
        {
            foreach (DateTime gun in gunler)
            {
                tblPlanlama plan = db.GetGeneric <tblPlanlama>(c => c.TezgahId == tezgahId && c.Tarih == gun).FirstOrDefault();
                if (plan == null)
                {
                    return(gun);
                }
            }

            return(null);
        }
Example #4
0
        /// <summary>
        /// Atkı girişleri tezgah planlarını öteler.
        /// </summary>
        /// <param name="atkiGiris">Atkı girişi, ilgili tarihteki plan metresinin yarısının %20 fazlasından az ise tezgahtaki planlar 1 gün ötelenir.</param>
        /// <returns></returns>
        public int TezgahPlanOtele(tblTezgahAtkiGiris atkiGiris)
        {
            tblPlanlama plan = db.GetGeneric <tblPlanlama>(c => c.TezgahId == atkiGiris.TezgahId && c.Tarih == atkiGiris.Tarih && c.TipId == atkiGiris.TipId).FirstOrDefault();

            if (plan == null)
            {
                return(1);
            }
            tblKumas tip = db.GetGeneric <tblKumas>(c => c.Id == atkiGiris.TipId).FirstOrDefault();

            double?dokMetre = null;
            int    fark     = atkiGiris.AtkiBitis - atkiGiris.AtkiBaslangic;

            if (tip.AtkiSiklik.HasValue)
            {
                dokMetre = fark * 1000 * 2 / (tip.AtkiSiklik.Value * 100);
            }

            if (dokMetre.HasValue == false)
            {
                return(0);
            }

            if (dokMetre < (plan.Miktar / 2) + (plan.Miktar * 0.2))
            {
                int snc = this.TezgahPlanOtele(atkiGiris.TezgahId, atkiGiris.Tarih.Value, 1, atkiOtelemesiMi: true);
                if (snc == 1)
                {
                    atkiGiris.PlanOteledi = true;
                    db.UpdateGeneric <tblTezgahAtkiGiris>(atkiGiris);
                }
                return(snc);
            }

            return(1);
        }
Example #5
0
 public bool TezgahPlanKaydet(tblPlanlama plan)
 {
     return(db.SaveGeneric <tblPlanlama>(plan));
 }