Esempio n. 1
0
        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);
            }
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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;
                    }
                }
            }
        }
Esempio n. 4
0
        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();
        }