You are on page 1of 2

//public class ChangeStatus

//{
// /// <summary>
// /// Ovdje ti je otprilike neka ta logika. Provjeri opet ti ovo if
else, ja sam ovo nabrzinu napisao, mozda cak da poredis trenutno vrijeme izmedju
utovara i istovara.
// /// Ispod ovog mozes napraviti taj okidac-timer.
// /// Jako je bitno da bude neki timeout zbog moguce veceg broja
naloga.
// /// Kad se budu spasavali podaci, provjeri da se ne brisu drugi
podaci od editovanog rekorda
// /// Mozes koristit skriptu baze koju ti je Faruk poslao radi
podataka, ili samo upisi u tabelu Statuses 4 statusa: od 1 do 4
// /// Naloge unosi kroz aplikaciju. To ti je modul Auftrag. Da te ne
zbuni, tabela Sales su ustvari nalozi.
// /// </summary>
// public void Execute()
// {
// //fires every minute
// Debug.WriteLine("Change status");

// DatabaseContext db = new DatabaseContext();

// //ovaj status se upisuje kad utovar pocinje tj. kada je vrijeme


izmedju utovara i istovara
// var status2 = db.Statuses.Where(s =>
s.StatusName.Contains("2")).Select(s => s.StatusPK).FirstOrDefault();

// //ovaj status se upisuje cim istovar zavrsi


// var status3 = db.Statuses.Where(s =>
s.StatusName.Contains("3")).Select(s => s.StatusPK).FirstOrDefault();

// //ovdje imamo listu svih naloga kod kojih status nije 4, dakle
treba ju nam nalozi sa statusima 1,2,3.
// //Cilj je proci kroz ovu listu i provjeriti koji status ima, ako
ima status 1 a vrijeme utovara je pocelo,
// //onda se mjenja u status 2, ako je istovar zavrsio onda ide
status 3

// //lista sa statusom 1 i 2 (3 ne treba po ovoj logici jer se nista


ne mijenja u status 4???)
// IList<Sales> sales = db.Sales.Include(s => s.Statuses).Where(
// s => s.Statuses != null &&
// ( s.Statuses.StatusName.Contains("1") ||
s.Statuses.StatusName.Contains("2"))
// ).ToList();

// //counteri za output
// int counterPall = 0, counterDall = 0, counterP = 0, counterD = 0;

// foreach (var item in sales)


// {
// var saleToEdit = db.Sales.Find(item.SalePK);

// if (item.Statuses.StatusName.Contains("1"))
// {
// //Brojac ukupno itema sa statusom 1
// counterPall++;
// if (item.PickupDateTime != null && item.PickupDateTime <
DateTime.Now)
// {
// //saleToEdit.StatusFK = status2; //STATUS 2
// //db.Entry(saleToEdit).State = EntityState.Modified;
// //db.SaveChanges();

// //Brojac utovarenih itema sa statusom 1 -> promjena u


status 2 (uncomment kod iznad za promjenu u bazi)
// counterP++;
// }
// }

// else
// {
// //Brojac ukupno itema sa statusom 2
// counterDall++;
// if (item.DeliveryDateTime != null &&
item.DeliveryDateTime < DateTime.Now)
// {
// //saleToEdit.StatusFK = status3; //STATUS 3
// //db.Entry(saleToEdit).State = EntityState.Modified;
// //db.SaveChanges();

// //Brojac dostavljenih itema sa statusom 2 -> promjena


u status 3 (uncomment kod iznad za promjenu u bazi)
// counterD++;
// }
// }
// }

// //output
// Debug.WriteLine(counterP + " changed statuses of Sales Pickup! of
" + counterPall + "\n");
// Debug.WriteLine(counterD + " changed statuses of Sales Delivery!
of " + counterDall + "\n");

// }
//}

You might also like