public void ReadSubsFromEpicor() { EpicorInfo.Clear(); // ja - local class to wrap Epicor functionality EpicorData epicorData = new EpicorData(); List <string> subs = epicorData.GetSubs(WorkCode); foreach (var item in subs) { string partNumber = null; string version = null; epicorData.ExtractPartInfo(item, ref partNumber, ref version); SubAssembliyInfo info = new SubAssembliyInfo(); info.PartNumber = partNumber.Trim(); info.Version = version.Trim(); info.InDatabase = false; info.Associated = false; EpicorInfo.Add(info); } }
public bool ReadSubs() { bool bRet = false; DatabaseInfo.Clear(); try { if (!OpenConnection()) { throw new System.ArgumentException("Cannot open Database", "MfgData"); } string sSql = @"select * from AssociatedSubAssemblies where TopLevelID = '" + TopLevelId + "'"; SqlDataReader myReader = null; SqlCommand myCommand = new SqlCommand(sSql, TheConnection); myReader = myCommand.ExecuteReader(); if (myReader.HasRows) { while (myReader.Read()) { int Index = (int)myReader["SubId"]; string SerialNumber = (string)myReader["SubSerialNumber"]; string PartNumber = (string)myReader["SubPartNumber"]; bool Associated = (bool)myReader["SubModded"]; string version = (string)myReader["SubPartVersion"]; PartNumber = PartNumber.Trim(); SubAssembliyInfo info = new SubAssembliyInfo { Index = Index, SerialNumber = SerialNumber.Trim(), PartNumber = PartNumber.Trim(), Version = version.Trim(), InDatabase = true, Associated = Associated }; DatabaseInfo.Add(info); } } } catch (Exception ex) { Console.WriteLine(ex.ToString()); string sMsg = string.Format("Reading Subs from Database Failed.. {0}", ex.Message); throw new System.InvalidOperationException(sMsg); } return(bRet); }
public void AssociateSubAssembly(int index) { int nInsertedKey = -1; SubAssembliyInfo newItem = MergedInfo[index]; string SubSerialNumber = newItem.SerialNumber.Trim(); string SubPartNumber = newItem.PartNumber.Trim(); string SubPartVersion = newItem.Version.Trim(); // ja - open the mfg database and insert the printed label information using (SqlConnection conn = new SqlConnection(ConnectonStrings.GetMfgDataConnectionString())) { using (SqlCommand cmd = new SqlCommand()) { cmd.Connection = conn; cmd.CommandType = System.Data.CommandType.Text; // ja - create insert command with scope identity so we can get the key after the insert string sqlInsert = @"Insert Into AssociatedSubAssemblies (TopLevelID, SubSerialNumber, SubPartNumber, SubPartVersion, SubModded) Values (@TopLevelID, @SubSerialNumber, @SubPartNumber, @SubPartVersion, @SubModded); SELECT SCOPE_IDENTITY()"; cmd.CommandText = sqlInsert; // ja - populate the permaerters cmd.Parameters.AddWithValue("@TopLevelID", TopLevelId); cmd.Parameters.AddWithValue("@SubSerialNumber", SubSerialNumber); cmd.Parameters.AddWithValue("@SubPartNumber", SubPartNumber); cmd.Parameters.AddWithValue("@SubPartVersion", SubPartVersion); cmd.Parameters.AddWithValue("@SubModded", true); try { conn.Open(); // ja - get the last key nInsertedKey = Convert.ToInt32(cmd.ExecuteScalar()); } catch (Exception ex) { Console.WriteLine(ex.Message); throw; } } } }
public void AddSubSerialNumber(int nIndex, string newSerialNumber) { SubAssembliyInfo info = MergedInfo[nIndex]; info.SerialNumber = newSerialNumber; info.Associated = !string.IsNullOrEmpty(newSerialNumber); MergedInfo[nIndex] = info; if (MergedInfo[nIndex].InDatabase == true) { UpdateModdedFlag(nIndex); } else { AssociateSubAssembly(nIndex); } UpdateAssocatedFlag(); }