/// <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); } }
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); }
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); }
/// <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); }
public bool TezgahPlanKaydet(tblPlanlama plan) { return(db.SaveGeneric <tblPlanlama>(plan)); }