/* METHOD : (3) * ******************************************************************************************************** * If old serialize file is there in folder location replace by new one else create one. * ******************************************************************************************************** */ private void SerializeThis(string path, string fileName, SerializeItem serializeItem) { if (File.Exists(path)) { File.Delete(path); new Serializer().SearilizeItems(fileName, serializeItem); } else { new Serializer().SearilizeItems(fileName, serializeItem); } }
/* METHOD : (1) * ******************************************************************************************************** * Serialize data * Open file from location, if there isn’t any then create one and assign it to stream. * Initialize binary formatter object. * Serialize items by calling Serialize method using binary formatter object. * Serialize method will accept two parameters first file location which is hold by stream and another is data i.e. items in this case. * Finally, close stream. * ******************************************************************************************************** */ public void SearilizeItems(string fileName, SerializeItem items) { // Open file from location if there isnt any there then create one stream = File.Open(fileName, FileMode.Create); // Initialize binary formater object. formatter = new BinaryFormatter(); // Ferialize data using binary formatter formatter.Serialize(stream, items); //stream = File.Open(fileName, FileMode.Open); // Close stream stream.Close(); }
/* METHOD : (1) * ******************************************************************************************************** * Close the window after serializing items list and revenue details. * ******************************************************************************************************** */ private void BtnSystemClose_Click(object sender, EventArgs e) { // Initializing itemList for serialization. SerializeItem serializeItem = new SerializeItem { Items = CustomUserControl.MenuItem.ItemList }; // Initializing categoryList for serialization. SerializeItem serializeCategory = new SerializeItem { CategoryList = CustomUserControl.MenuItem.CategoryList }; // Initializing revenue dictionary for serialization. SerializeItem serializeRevenue = new SerializeItem { TotalSalesCollection = BillGenerator.TotalSalesCollection }; SerializeThis(CustomUserControl.MenuItem.dataLocation, "ItemsData.dat", serializeItem); SerializeThis(CustomUserControl.MenuItem.categoryLocation, "ItemsCategory.dat", serializeCategory); SerializeThis(BillGenerator.revenueDataLocation, "RevenuesData.dat", serializeRevenue); this.Close(); }
/* inter */ /* ctor */ public InspectorObject(UpdatableComponentEditor editor, Dictionary <string, object> deserializeDictionary, SerializeItem serializeItem) { if (deserializeDictionary is null) { throw new ArgumentNullException(nameof(deserializeDictionary)); } if (serializeItem is null) { throw new ArgumentNullException(nameof(serializeItem)); } Editor = editor ?? throw new ArgumentNullException(nameof(editor)); Name = serializeItem.Name; Title = new GUIContent(serializeItem.Title, serializeItem.ToolTip); Order = serializeItem.Order; UseUnitySerialize = serializeItem.UseUnitySerialize; UseJsonSerialize = serializeItem.UseJsonSerialize; ObjectType = Type.GetType(serializeItem.TypeFullName, false); if (ObjectType is null && !TypeDictionary.TryGetValue(serializeItem.TypeFullName, out ObjectType)) { Debug.LogError($"Not found type : {serializeItem.TypeFullName}"); } deserializeDictionary.TryGetValue(Name, out OldValue); NewValue = OldValue; }