public MaterialCommodities GetMaterialCommodity(string cat, string fdname, SQLiteConnectionUser conn) { MaterialCommodities mcdb = MaterialCommodities.GetCatFDName(cat, fdname, conn); // look up in DB and see if we have a record of this type of item MaterialCommodities mc = null; if (mcdb != null) { mc = new MaterialCommodities(0, cat, mcdb.name, mcdb.fdname, mcdb.type, mcdb.shortname, Color.Green, 0); } else { mc = new MaterialCommodities(0, cat, fdname, fdname, "", "", Color.Green, 0); } return(mc); }
// ifnorecatonsearch is used if you don't know if its a material or commodity.. for future use. private MaterialCommodities EnsurePresent(string cat, string fdname, SQLiteConnectionUser conn, bool ignorecatonsearch = false) { MaterialCommodities mc = list.Find(x => x.fdname.Equals(fdname, StringComparison.InvariantCultureIgnoreCase) && (ignorecatonsearch || x.category.Equals(cat, StringComparison.InvariantCultureIgnoreCase))); if (mc == null) { MaterialCommodities mcdb = MaterialCommodities.GetCatFDName(cat, fdname, conn); // look up in DB and see if we have a record of this type of item if (mcdb == null) // no record of this, add as Unknown to db { mcdb = new MaterialCommodities(0, cat, fdname, fdname, "", "", Color.Green, 0); mcdb.Add(); // and add to data base } mc = new MaterialCommodities(0, mcdb.category, mcdb.name, mcdb.fdname, mcdb.type, mcdb.shortname, mcdb.colour, 0); // make a new entry list.Add(mc); } return(mc); }