// ifnorecatonsearch is used if you don't know if its a material or commodity.. for future use. private MaterialCommodities GetNewCopyOf(MaterialCommodityData.CatType cat, string fdname, bool ignorecatonsearch = false) { int index = List.FindIndex(x => x.Details.FDName.Equals(fdname, StringComparison.InvariantCultureIgnoreCase) && (ignorecatonsearch || x.Details.Category == cat)); if (index >= 0) { List[index] = new MaterialCommodities(List[index]); // fresh copy.. return(List[index]); } else { MaterialCommodityData mcdb = MaterialCommodityData.EnsurePresent(cat, fdname); // get a MCDB of this MaterialCommodities mc = new MaterialCommodities(mcdb); // make a new entry List.Add(mc); return(mc); } }
// ifnorecatonsearch is used if you don't know if its a material or commodity.. for future use. private MaterialCommodities GetNewCopyOf(string cat, string fdname, SQLiteConnectionUser conn, bool ignorecatonsearch = false) { int index = list.FindIndex(x => x.Details.FDName.Equals(fdname, StringComparison.InvariantCultureIgnoreCase) && (ignorecatonsearch || x.Details.Category.Equals(cat, StringComparison.InvariantCultureIgnoreCase))); if (index >= 0) { list[index] = new MaterialCommodities(list[index]); // fresh copy.. return(list[index]); } else { MaterialCommodityData mcdb = MaterialCommodityData.EnsurePresent(cat, fdname); // get a MCDB of this MaterialCommodities mc = new MaterialCommodities(mcdb); // make a new entry list.Add(mc); //log.WriteLine("MC Made:" + cat + " " + fdname + " >> " + mc.fdname + mc.name ); return(mc); } }