public static double GetEfficiency(DateTime start, DateTime end, int masterId) { var changes = InventoryChanges.Where(change => change.MasterId == masterId && change.Date >= start && change.Date <= end).ToList(); double expected = changes.Sum(change => change.UnitsExpected); double made = changes.Sum(change => change.UnitsMade); return(made / expected); }
private static bool LoadFromBin(string fileName) { try { using (BinaryReader reader = new BinaryReader(new FileStream(fileName, FileMode.Open))) { // Order: Changes,Master,Inventory,Sales,Texture,WiP Marker,WiP, int listLen = reader.ReadInt32(); InventoryChanges.Clear(); for (; listLen > 0; --listLen) { InventoryChanges.Add(InventoryChange.LoadFromBin(reader)); } //listLen = reader.ReadInt32(); //ProductMasterList.Clear(); //for(;listLen > 0; --listLen) //{ // ProductMasterList.Add(ProductMasterItem.Load(reader)); //} listLen = reader.ReadInt32(); WiPItems.Clear(); for (; listLen > 0; --listLen) { WiPItems.Add(InventoryItem.LoadItem(reader)); } } IsLoaded = true; } catch (Exception) { return(false); } return(true); }