public void ManualWriteToHistory(Codes code, Value val) { if (val == null) { throw new ArgumentNullException("Parameters cannot be null"); } if ((int)code < 0 || (int)code > 9) { throw new ArgumentException("Something wront with code"); } HistoricalProperty hProp = new HistoricalProperty(code, val); HistoricalDescription hDesc = new HistoricalDescription(); hDesc.HistoricalProperties.Add(hProp); int dataset = CheckDataset(code); if (dataset == -1) { Console.WriteLine("Dataset parsing went wrong!"); return; } hDesc.Dataset = dataset; hDesc.ListDescriptionId = dataset; lock (syncLock) { Logger.WriteLog("Writing to history", MethodBase.GetCurrentMethod().DeclaringType.Name, MethodBase.GetCurrentMethod().Name); } databaseOperations.AddHistoricalDescription(hDesc, dataset); }
public void UpdateHistoricalDescriptions(HistoricalDescription hd, int dataset) { if (hd == null) { throw new ArgumentNullException("Arguments cannot be null"); } if (dataset < 1 || dataset > 5) { throw new ArgumentException("Something wrong with dataset"); } List <HistoricalProperty> historicalProperties = ReadHistoricalProperties(); lock (syncLock) { Logger.WriteLog("Updating historical properties", MethodBase.GetCurrentMethod().DeclaringType.Name, MethodBase.GetCurrentMethod().Name); } foreach (HistoricalProperty hp in historicalProperties) { foreach (HistoricalProperty hpTemp in hd.HistoricalProperties) { if (hp.HistoricalValue.GeographicalLocationId == hpTemp.HistoricalValue.GeographicalLocationId && hp.Code.Equals(hpTemp.Code)) { hpTemp.Id = hp.Id; if (CheckDeadband(hp, hpTemp)) { hp.HistoricalValue = hpTemp.HistoricalValue; break; } } } } database.SaveChanges(); }
public void ReadFromDumpingBuffer(DeltaCD deltaCD) { if (deltaCD == null || deltaCD.Add == null || deltaCD.Remove == null || deltaCD.Update == null || deltaCD.TransactionID == null) { throw new ArgumentNullException("parameters cannot be null"); } lock (syncLock) { Logger.WriteLog("Reading from Dumping buffer", MethodBase.GetCurrentMethod().DeclaringType.Name, MethodBase.GetCurrentMethod().Name); } for (int i = 1; i < 6; i++) { //check if i have data in any of these if (checkIfTheresDataInCollectionDescription(deltaCD.Add[i])) { HistoricalDescription hd = converter.ConvertCollectionDescription(deltaCD.Add[i]); databaseOperations.AddHistoricalDescription(hd, i); } if (checkIfTheresDataInCollectionDescription(deltaCD.Update[i])) { HistoricalDescription hd = converter.ConvertCollectionDescription(deltaCD.Update[i]); databaseOperations.UpdateHistoricalDescriptions(hd, i); } if (checkIfTheresDataInCollectionDescription(deltaCD.Remove[i])) { HistoricalDescription hd = converter.ConvertCollectionDescription(deltaCD.Remove[i]); databaseOperations.RemoveHistoricalProperties(hd, i); } } }
public HistoricalDescription ConvertCollectionDescription(CollectionDescription cd) { if (cd == null) { throw new ArgumentNullException("Parameters cannot be null"); } HistoricalDescription hd = new HistoricalDescription(); List <HistoricalProperty> histProp = new List <HistoricalProperty>(); lock (syncLock) { Logger.WriteLog("Converting CollectionDescriprion", MethodBase.GetCurrentMethod().DeclaringType.Name, MethodBase.GetCurrentMethod().Name); } foreach (DumpingProperty dp in cd.DumpingPropertyCollection.DumpingProperties) { HistoricalProperty hp = new HistoricalProperty(); hp.Code = dp.Code; hp.Time = DateTime.Now; hp.Id = Guid.NewGuid().ToString(); hp.HistoricalValue = dp.DumpingValue; histProp.Add(hp); } hd.HistoricalProperties = histProp; hd.Dataset = cd.Dataset; return(hd); }
public void ConstructorBadParameters(int dataset) { Assert.Throws <ArgumentException>(() => { HistoricalDescription hd = new HistoricalDescription(dataset); }); }
public void AddHistoricalDescription(HistoricalDescription hd, int dataset) { if (hd == null) { throw new ArgumentNullException("Arguments cannot be null"); } if (dataset < 1 || dataset > 5) { throw new ArgumentException("Something wrong with dataset"); } //call logger lock (syncLock) { Logger.WriteLog("Adding historical description", MethodBase.GetCurrentMethod().DeclaringType.Name, MethodBase.GetCurrentMethod().Name); } ListDescription list1 = database.ListDescriptions.Where(x => x.Id == dataset).FirstOrDefault(); if (list1 == null) { throw new ArgumentNullException("Object reference not set to instance of an object(list null for db)"); } list1.HistoricalDescriptions.Add(hd); database.SaveChanges(); }
/// <summary> /// Pomocna funkcija /// </summary> /// <param name="CD"></param> public void WriteToHistory(CollectionDescription CD) { historicalDesc = new HistoricalDescription(); historicalProperties = new List <HistoricalProperty>(); //Prepakivanje u LD strukturu historicalDesc.ID = CD.ID; historicalDesc.Dataset = CD.Dataset; foreach (DumpingProperty dp in CD.DumpingPropertyCollection.DumpingCollection) { tempProperty = new HistoricalProperty(); tempProperty.Code = dp.Code; tempProperty.HistoricalValue = dp.DumpingValue; tempProperty.Time = DateTime.Now; valid = CheckDataset(tempProperty.Code); //Property ce biti dodat samo ako su Code i Dataset validni. if (valid) { historicalProperties.Add(tempProperty); } } historicalDesc.HistoricalProperties = historicalProperties; //Dodaj u LD strukturu. if (historicalDesc.HistoricalProperties.Count == 2) //bice 2 samo ako su oba prosla CheckDataset(). { switch (dataset) { case 1: LD1.ListHistoricalDesc.Add(historicalDesc); write = CheckDeadband(LD1, false); if (write) { //Ako izlazi iz Deadband-a, onda upisi SaveToXML(); } else { //Ako nije prosao Deadband, obrisi ga iz LD strukture. LD1.ListHistoricalDesc.Remove(historicalDesc); } break; case 2: LD2.ListHistoricalDesc.Add(historicalDesc); write = CheckDeadband(LD1, false); if (write) { //Ako izlazi iz Deadband-a, onda upisi SaveToXML(); } else { //Ako nije prosao Deadband, obrisi ga iz LD strukture. LD2.ListHistoricalDesc.Remove(historicalDesc); } break; case 3: LD3.ListHistoricalDesc.Add(historicalDesc); write = CheckDeadband(LD1, false); if (write) { //Ako izlazi iz Deadband-a, onda upisi SaveToXML(); } else { //Ako nije prosao Deadband, obrisi ga iz LD strukture. LD3.ListHistoricalDesc.Remove(historicalDesc); } break; case 4: LD4.ListHistoricalDesc.Add(historicalDesc); write = CheckDeadband(LD1, false); if (write) { //Ako izlazi iz Deadband-a, onda upisi SaveToXML(); } else { //Ako nije prosao Deadband, obrisi ga iz LD strukture. LD4.ListHistoricalDesc.Remove(historicalDesc); } break; } } }
/// <summary> /// Rucni upis u History. Writer salje Code i Value unesen rucno, koji se upisuju u LD strukturu. /// </summary> /// <param name="code"></param> /// <param name="value"></param> public void ManualWriteToHistory(Codes code, float value) { LoadLD(); //deserijalizacija LD struktura //Temp tempProperty = new HistoricalProperty(); historicalDesc = new HistoricalDescription(); historicalProperties = new List <HistoricalProperty>(); tempProperty.Code = code; tempProperty.HistoricalValue = value; tempProperty.Time = DateTime.Now; historicalProperties.Add(tempProperty); historicalDesc.ID = Guid.NewGuid().ToString(); CheckDataset(code); historicalDesc.Dataset = dataset; historicalDesc.HistoricalProperties = historicalProperties; switch (dataset) { case 1: LD1.ListHistoricalDesc.Add(historicalDesc); write = CheckDeadband(LD1, true); if (write) { //Ako izlazi iz Deadband-a, onda upisi SaveToXML(); } else { //Ako nije prosao Deadband, obrisi ga iz LD strukture. LD1.ListHistoricalDesc.Remove(historicalDesc); } break; case 2: LD2.ListHistoricalDesc.Add(historicalDesc); write = CheckDeadband(LD2, true); if (write) { //Ako izlazi iz Deadband-a, onda upisi SaveToXML(); } else { //Ako nije prosao Deadband, obrisi ga iz LD strukture. LD2.ListHistoricalDesc.Remove(historicalDesc); } break; case 3: LD3.ListHistoricalDesc.Add(historicalDesc); write = CheckDeadband(LD3, true); if (write) { //Ako izlazi iz Deadband-a, onda upisi SaveToXML(); } else { //Ako nije prosao Deadband, obrisi ga iz LD strukture. LD3.ListHistoricalDesc.Remove(historicalDesc); } break; case 4: LD4.ListHistoricalDesc.Add(historicalDesc); write = CheckDeadband(LD4, true); if (write) { //Ako izlazi iz Deadband-a, onda upisi SaveToXML(); } else { //Ako nije prosao Deadband, obrisi ga iz LD strukture. LD4.ListHistoricalDesc.Remove(historicalDesc); } break; } }
public void ConstructorGoodParameters(int dataset) { HistoricalDescription hd = new HistoricalDescription(dataset); Assert.AreEqual(hd.Dataset, dataset); }