/// <summary> /// Funkcja dodająca do kolejki nowe zwolnienie /// </summary> /// <param name="sickLeave">Zwolnieniem, które nie zostało poprawnie wysłane i ma być dodane do kolejki</param> public static void AddToResend(SickLeave sickLeave) { SickLeaveResender tmp = SickLeaveResender.Load(); tmp.toResend.Enqueue(sickLeave); tmp.Save(); }
public SickLeave(string JSONString) { var serializer = new JavaScriptSerializer(); SickLeave sickLeave = serializer.Deserialize <SickLeave>(JSONString); Patient = sickLeave.Patient; SickLeaveType = sickLeave.SickLeaveType; StartDate = sickLeave.StartDate; EndDate = sickLeave.EndDate; Symptoms = sickLeave.Symptoms; }
/// <summary> /// Funkcja wykonująca próbę wysłania dla każdego zwolnienia w kolejce /// </summary> public void TrySending() { int numberToTry = toResend.Count; for (int i = 0; i < numberToTry; i++) { SickLeave toSend = toResend.Dequeue(); string connectionString = FirmLocalDataBase.Initialize().FindFirmConnectionByNIP(toSend.Patient._NIP.ToString()); bool outcome = SickLeaveSender.SendToSQLServer(toSend, connectionString); if (!outcome) { toResend.Enqueue(toSend); } Reporter.RaportSickLeaveResending(outcome); } Save(); }