Exemplo n.º 1
0
        /// <summary>
        /// Adds data in specified column at row number and table all into PartDataSet given
        /// </summary>
        /// <param name="Part"></param>
        /// <param name="tableName"></param>
        /// <param name="rowNum"></param>
        /// <param name="colName"></param>
        /// <param name="Input"></param>
        /// <returns></returns>
        public static PartDataSet AddDatum(PartDataSet Part, string tableName, int rowNum, string colName, string Input)
        {
            DataTable PartDT = Part.Tables[tableName];

            DataRow[] WorkRow = PartDT.Select(null, null, DataViewRowState.Added);

            WorkRow[0] = PartDT.Rows[rowNum];

            try
            {
                WorkRow[0][colName] = Input;
            }
            catch (System.Exception ex)
            {
                try
                {
                    WorkRow[0][colName] = double.Parse(Input);
                }
                catch //(System.Exception ex1)
                {
                    try
                    {
                        WorkRow[0][colName] = (int)(double.Parse(Input));
                    }
                    catch //(System.Exception ex2)
                    {
                        System.Windows.Forms.MessageBox.Show(ex.Message, "Error!", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Exclamation);
                    }
                }

            }

            return Part;
        }
Exemplo n.º 2
0
        /// <summary>
        /// Adds data in specified column at row number and table all into PartDataSet given
        /// </summary>
        /// <param name="Part"></param>
        /// <param name="tableName"></param>
        /// <param name="rowNum"></param>
        /// <param name="colName"></param>
        /// <param name="Input"></param>
        /// <returns></returns>
        public static PartDataSet AddDatum(PartDataSet Part, string tableName, int rowNum, string colName, string Input)
        {
            DataTable PartDT = Part.Tables[tableName];

            DataRow[] WorkRow = PartDT.Select(null, null, DataViewRowState.Added);

            WorkRow[0] = PartDT.Rows[rowNum];

            try
            {
                WorkRow[0][colName] = Input;
            }
            catch (System.Exception ex)
            {
                try
                {
                    WorkRow[0][colName] = double.Parse(Input);
                }
                catch //(System.Exception ex1)
                {
                    try
                    {
                        WorkRow[0][colName] = (int)(double.Parse(Input));
                    }
                    catch //(System.Exception ex2)
                    {
                        System.Windows.Forms.MessageBox.Show(ex.Message, "Error!", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Exclamation);
                    }
                }
            }

            return(Part);
        }
Exemplo n.º 3
0
        private void Initialize()
        {
            bomSet     = new BomDataSet(AppRes.DB.Connect, null, null);
            productSet = new ProductDataSet(AppRes.DB.Connect, null, null);
            partSet    = new PartDataSet(AppRes.DB.Connect, null, null);
            phyMainSet = new PhysicalMainDataSet(AppRes.DB.Connect, null, null);
            cheMainSet = new ChemicalMainDataSet(AppRes.DB.Connect, null, null);

            phyQuery = new PhysicalQuery(true);
            cheQuery = new ChemicalQuery(true);

            bomRec = new BomColumns();

            bookmark = new GridBookmark(bomGridView);

            AppHelper.SetGridEvenRow(bomGridView);
            AppHelper.SetGridEvenRow(productGridView);
            AppHelper.SetGridEvenRow(partGridView);

            bomAreaColumn.DisplayFormat.FormatType = FormatType.Custom;
            bomAreaColumn.DisplayFormat.Format     = new ReportAreaFormat();

            bomRegTimeColumn.DisplayFormat.FormatType = FormatType.Custom;
            bomRegTimeColumn.DisplayFormat.Format     = new ReportDateTimeFormat();

            bomAreaCombo.DataSource    = EnumHelper.GetNameValues <EReportArea>();
            bomAreaCombo.DisplayMember = "Name";
            bomAreaCombo.ValueMember   = "Value";
        }
Exemplo n.º 4
0
        public static bool CreatePartRevision(string PartNumber, string CurrentRev, string NewRev, string RevDesc)
        {
            bool _results;

            try
            {
                Part Part = new Part(DataList.EpicConn);

                PartDataSet PartData = new PartDataSet();

                PartData = Part.GetByID(PartNumber);

                Part.GetNewPartRev(PartData, PartNumber, CurrentRev);

                int Y = PartData.Tables["PartRev"].Rows.Count - 1;

                DataList.UpdateDatum(PartData, "PartRev", Y, "RevShortDesc", RevDesc);

                DataList.UpdateDatum(PartData, "PartRev", Y, "RevisionNum", NewRev);

                DataList.UpdateDatum(PartData, "PartRev", Y, "AltMethod", "");

                Part.Update(PartData);

                _results = true;
            }
            catch { _results = false; }
            finally
            {
                EpicClose();
            }

            return(_results);
        }
Exemplo n.º 5
0
        private void useselected_btn_Click(object sender, EventArgs e)
        {
            if (template_cbo.Text == "Other")
            {
                try
                {
                    //Use text box part number
                    Part Part = new Part(DataList.EpicConn);

                    PartDataSet PData = new PartDataSet();

                    PData = Part.DuplicatePart(partnumber_txt.Text, _PartNumber, desc_txt.Text);

                    Part.Update(PData);

                    this.DialogResult = DialogResult.Ignore;
                }
                catch { }
            }
            else
            {
                //Use Listed Template

                DataRow dr = eNGDataDataSet.Tables[0].Rows[template_cbo.SelectedIndex];

                _Pdata.Description = dr["Desc"].ToString();

                _Pdata.PMT = dr["Type"].ToString();

                _Pdata.UOM_Class = dr["UOMClass"].ToString();

                decimal fail = 0;

                decimal.TryParse(dr["NetWeight"].ToString(), out fail);

                _Pdata.Net_Weight = fail;

                _Pdata.Net_Weight_UM = dr["UOMWeight"].ToString();

                decimal.TryParse(dr["NetVol"].ToString(), out fail);

                _Pdata.Net_Vol = fail;

                _Pdata.Net_Vol_UM = dr["UOMVol"].ToString();

                _Pdata.Primary_UOM = dr["UOM"].ToString();

                _Pdata.PartGroup = dr["Group"].ToString();

                _Pdata.PartClass = dr["Class"].ToString();

                _Pdata.PartPlant = dr["Plant"].ToString();

                _Pdata.PlantWhse = dr["Whse"].ToString();
            }

            this.Close();
        }
Exemplo n.º 6
0
        /// <summary>
        /// Search Function for retrieving Part lists
        /// </summary>
        /// <param name="WhereStatement">Equivalent to the SQL WHERE function; Leave blank for all possiblities</param>
        /// <returns>Dataset of parts meeting the WhereStatement criteria</returns>
        public PartDataSet PartSearchDataSet(string WhereStatement)
        {
            Part Part = new Part(EpicConn);

            bool More;

            DataSet dss = ((DataSet)Part.GetList(WhereStatement, 0, 0, out More));

            PartDataSet ds = (PartDataSet)dss;

            EpicClose();

            return(ds);
        }
Exemplo n.º 7
0
        public static PartDataSet UpdateDatum(PartDataSet Part, string tableName, int rowNum, string colName, string Input)
        {
            try
            {
                Part.Tables[tableName].Rows[rowNum][colName] = Input;

                return(Part);
            }
            catch (System.Exception ex)
            {
                System.Windows.Forms.MessageBox.Show(ex.Message, "Error!", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Error);

                return(Part);
            }
        }
Exemplo n.º 8
0
        public static DataTable PartUOM(string PartNumber)
        {
            try
            {
                Part Part = new Part(EpicConn);

                PartDataSet PartData = new PartDataSet();

                PartData = Part.GetByID(PartNumber);

                EpicClose();

                return(PartData.Tables["PartUOM"]);
            }
            catch { return(null); }
        }
Exemplo n.º 9
0
        public static string GetCurrentRev(string PartNumber)
        {
            try
            {
                Part Part = new Part(DataList.EpicConn);

                PartDataSet PartData = new PartDataSet();

                PartData = Part.GetByID(PartNumber);

                int LastRowIndex = PartData.Tables["PartRev"].Rows.Count - 1;

                string PartRev = PartData.Tables["PartRev"].Rows[LastRowIndex]["RevisionNum"].ToString();

                EpicClose();

                return(PartRev);
            }
            catch { return(""); }
        }
Exemplo n.º 10
0
        public static string GetCurrentDesc(string PartNumber)
        {
            try
            {
                Part Part = new Part(EpicConn);

                PartDataSet PartData = new PartDataSet();

                PartData = Part.GetByID(PartNumber);

                int LastRowIndex = PartData.Tables["Part"].Rows.Count - 1;

                string PartDesc = PartData.Tables["Part"].Rows[LastRowIndex]["PartDescription"].ToString();

                EpicClose();

                return(PartDesc);
            }
            catch { return(null); }
        }
        public ChemicalQuery(bool local = false)
        {
            this.local = local;

            if (local == true)
            {
                MainSet          = new ChemicalMainDataSet(AppRes.DB.Connect, null, null);
                ImageSet         = new ChemicalImageDataSet(AppRes.DB.Connect, null, null);
                JoinSet          = new ChemicalItemJoinDataSet(AppRes.DB.Connect, null, null);
                P2Set            = new ChemicalP2DataSet(AppRes.DB.Connect, null, null);
                P2ExtendSet      = new ChemicalP2ExtendDataSet(AppRes.DB.Connect, null, null);
                ProfJobSet       = new ProfJobDataSet(AppRes.DB.Connect, null, null);
                ProfJobSchemeSet = new ProfJobSchemeDataSet(AppRes.DB.Connect, null, null);
                CtrlUs           = null;
                CtrlEu           = null;
            }

            productSet = new ProductDataSet(AppRes.DB.Connect, null, null);
            partSet    = new PartDataSet(AppRes.DB.Connect, null, null);
            staffSet   = new StaffDataSet(AppRes.DB.Connect, null, null);
        }
        void pnum_txt_Leave(object sender, EventArgs e)
        {
            try
            {
                PartDataSet Pdata = new PartDataSet();

                if (DataList.PartExists(pnum_txt.Text))
                    Pdata = DataList.GetPart(pnum_txt.Text);

                RevGrid.DataSource = Pdata.Tables["PartRev"];

                desc_txt.Text = Pdata.Tables["Part"].Rows[0]["PartDescription"].ToString();
            }
            catch
            {
                //nodata
            }
        }
Exemplo n.º 13
0
        /// <summary>
        /// Sequence to determine if a part is a coil or a sheet based on Type
        /// </summary>
        /// <param name="PartNumber"></param>
        /// <returns>True if part is not a coil/sheet; False if part is coil/sheet</returns>
        public bool KeepRaw(string PartNumber)
        {
            Part Part = new Part(DataList.EpicConn);

            PartDataSet Pdata = new PartDataSet();

            Pdata = Part.GetByID(PartNumber);

            string Type = Pdata.Tables ["Part"].Rows[0]["ClassDescription"].ToString();

            if (Type == "INV COIL" || Type == "INV SHEET")
                return false;
            else
                return true;
        }
Exemplo n.º 14
0
        void TS_Click(object sender, EventArgs e)
        {
            ToolStripMenuItem TS = (ToolStripMenuItem)sender;

            //retrieve template data
            DataTable DT = new DataTable();

            DT = Templates.GetFullTemplate(TS.Name, "BOM");

            addraw.Enabled = true;

            try
            {
                //line for each row
                foreach (DataRow Dr in DT.Rows)
                {
                    EngWB.GetNewECOMtl(EngWBDS, gid_txt.Text, parent_txt.Text, parentrev_txt.Text, "");

                    int row = EngWBDS.Tables["ECOMtl"].Rows.Count - 1;

                    EngWBDS.Tables["ECOMtl"].Rows[row]["MtlPartNum"] = Dr["PropertyValue"].ToString();

                    EngWBDS.Tables["ECOMtl"].Rows[row]["RelatedOperation"] = Dr["PropertyType"].ToString();

                    EngWBDS.Tables["ECOMtl"].Rows[row]["MtlPartNumPartDescription"] = DataList.GetCurrentDesc(Dr["PropertyValue"].ToString());

                    EngWBDS.Tables["ECOMtl"].Rows[row]["UOMCode"] = Dr["PropertyUOM"].ToString();

                    EngWBDS.Tables["ECOMtl"].Rows[row]["QtyPer"] = Dr["PropertyQty"].ToString();

                    EngWBDS.Tables["ECOMtl"].Rows[row]["ViewAsAsm"] = Dr["PropertyOptions"].ToString();

                    EngWBDS.Tables["ECOMtl"].Rows[row]["PullAsAsm"] = Dr["PropertyOptions1"].ToString();

                    if (Dr["PropertyOptions5"].ToString() != null || Dr["PropertyOptions5"].ToString() != "")
                    {
                        if (Dr["PropertyOptions5"].ToString() == "AREA")
                            EngWBDS.Tables["ECOMtl"].Rows[row]["QtyPer"] = area.Value;

                        if (Dr["PropertyOptions5"].ToString() == "WEIGHT")
                        {
                            try
                            {
                                Part Part = new Part(DataList.EpicConn);

                                PartDataSet Pdata = new PartDataSet();

                                Pdata = Part.GetByID(parent_txt.Text);

                                string Length = RailLength(Pdata.Tables["Part"].Rows[0]["PartDescription"].ToString());

                                string partnumber = Dr["PropertyValue"].ToString();

                                double density = double.Parse(sheetCoil_UsageTableAdapter.GetDensity(partnumber,"%","%","%","%").ToString());

                                double width = double.Parse(sheetCoil_UsageTableAdapter.GetWidth(partnumber, "%", "%", "%","%","%").ToString());

                                double thickness = double.Parse(sheetCoil_UsageTableAdapter.GetLength(partnumber, "%", "%", "%", "%", "%").ToString());

                                weight.Value = (decimal)(double.Parse(Length) * density * width * thickness) / 2;
                            }
                            finally
                            {
                                EngWBDS.Tables["ECOMtl"].Rows[row]["QtyPer"] = weight.Value;
                            }
                        }
                    }

                    EngWB.Update(EngWBDS);
                }

                EnableItemDetails();
            }
            catch (Exception ex) { MessageBox.Show(ex.Message, "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error); }
        }
Exemplo n.º 15
0
        private void savebtn_Click(object sender, EventArgs e)
        {
            try
            {
                //Commit Part Changes

                Part Part = new Part(DataList.EpicConn);

                PartDataSet Pdata = new PartDataSet();

                //Pdata = (PartDataSet)DL.PartSearchDataSet("");

                string serialWarning;

                string questionString;

                bool multipleMatch;

                string PartNumber = Partnumber_txt.Text;

                Part.GetPartXRefInfo(ref PartNumber, "", "", out serialWarning, out questionString, out multipleMatch);

                if (!multipleMatch)
                {
                    Part.GetNewPart(Pdata);

                    Part.ChangePartNum(PartNumber, Pdata);

                    DataList.AddDatum(Pdata, "Part", 0, "PartDescription", Description_txt.Text);

                    //SearchWord has 8 character limit
                    if (Description_txt.Text.Length > 8)
                    {
                        DataList.AddDatum(Pdata, "Part", 0, "SearchWord", Description_txt.Text.Substring(0, 8));
                    }
                    else
                    {
                        DataList.AddDatum(Pdata, "Part", 0, "SearchWord", Description_txt.Text);
                    }

                    DataList.AddDatum(Pdata, "Part", 0, "NetWeight", NetWeight.Text);

                    DataList.AddDatum(Pdata, "Part", 0, "NetWeightUOM", uomweight_cbo.SelectedValue.ToString());

                    //DataList.AddDatum(Pdata, "Part", 0, "NetVolume", NetVolume.Text);

                    //DataList.AddDatum(Pdata, "Part", 0, "NetVolumeUOM", uomvol_cbo.SelectedValue.ToString());

                    DataList.AddDatum(Pdata, "Part", 0, "IUM", uom_cbo.SelectedValue.ToString());

                    DataList.AddDatum(Pdata, "Part", 0, "ClassID", class_cbo.SelectedValue.ToString());

                    string Type_Code = type_cbo.SelectedItem.ToString();

                    Part.ChangePartTypeCode(Type_Code, Pdata);

                    Part.ChangePartProdCode(group_cbo.SelectedValue.ToString(), Pdata);

                    //Add data to allow BO to create plant tables
                    Part.Update(Pdata);

                    //retrieve the new copy of the data
                    Pdata = Part.GetByID(PartNumber);

                    DataList.UpdateDatum(Pdata, "PartPlant", 0, "PrimWhse", whse_cbo.SelectedValue.ToString());

                    DataList.UpdateDatum(Pdata, "PartPlant", 0, "PrimWhseDescription", whse_cbo.Text);

                    DataList.UpdateDatum(Pdata, "PartPlant", 0, "DBRowIdent", null);

                    //Update with warehouse information
                    Part.Update(Pdata);

                    DataList.EpicClose();
                }
                else
                {
                    MessageBox.Show("Part already exists in database!  Use revision to make changes.");
                }
            }
            catch (System.Exception ex)
            {
                MessageBox.Show(ex.Message, "Error!", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
            }
            finally
            {
                this.Close();
            }
        }
Exemplo n.º 16
0
        public static bool PartExists(string partnumber)
        {
            Part Part = new Part(EpicConn);

            PartDataSet Pdata = new PartDataSet();

            try
            {
                Pdata = Part.GetByID(partnumber);
            }
            catch
            {
                EpicClose();

                return false;
            }

            EpicClose();

            return true;
        }
Exemplo n.º 17
0
        public static string GetCurrentDesc(string PartNumber)
        {
            try
            {
                Part Part = new Part(EpicConn);

                PartDataSet PartData = new PartDataSet();

                PartData = Part.GetByID(PartNumber);

                int LastRowIndex = PartData.Tables["Part"].Rows.Count - 1;

                string PartDesc = PartData.Tables["Part"].Rows[LastRowIndex]["PartDescription"].ToString();

                EpicClose();

                return PartDesc;
            }
            catch { return null; }
        }
Exemplo n.º 18
0
        private void savebtn_Click(object sender, EventArgs e)
        {
            if (trackserial.Checked && (SerialPrefix == "" || SerialPrefix == null))
                MessageBox.Show("Cannot use null serial prefix.  Set the prefix or uncheck 'Track Serial Number'", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
            else
            {
                try
                {
                    //Commit Part Changes

                    Part Part = new Part(DataList.EpicConn);

                    PartDataSet Pdata = new PartDataSet();

                    //Pdata = (PartDataSet)DL.PartSearchDataSet("");

                    string serialWarning;

                    string questionString;

                    bool multipleMatch;

                    string PartNumber = Partnumber_txt.Text;

                    DataViewRowState DRState;

                    if (!DataList.PartExists(PartNumber))
                    {
                        Part.GetPartXRefInfo(ref PartNumber, "", "", out serialWarning, out questionString, out multipleMatch);

                        Part.GetNewPart(Pdata);

                        Part.ChangePartNum(PartNumber, Pdata);

                        DRState = DataViewRowState.Added;
                    }
                    else
                    {
                        Pdata = Part.GetByID(PartNumber);

                        DRState = DataViewRowState.Unchanged;

                        #region Clear Bflush/SN Settings

                        try
                        {
                            DataList.UpdateDatum(Pdata, "Part", 0, "TrackSerialNum", false.ToString());

                            DataList.UpdateDatum(Pdata, "Part", 0, "UseMaskSeq", false.ToString());

                            DataList.UpdateDatum(Pdata, "PartPlant", 0, "PartTrackSerialNum", false.ToString());

                            DataList.UpdateDatum(Pdata, "PartPlant", 0, "BackFlush", false.ToString());

                            Part.Update(Pdata);

                            Pdata = Part.GetByID(PartNumber);
                        }
                        catch (Exception ex) { System.Diagnostics.Debug.Print(ex.Message); }

                        #endregion
                    }

                    Pdata = UpdateDataSet(Pdata, DRState);

                    //Add data to allow BO to create plant tables
                    try
                    {
                        Part.Update(Pdata);

                        if (bflush_chk.Checked)
                        {
                            //try to eliminate backflush if necessary
                            DataList.UpdateDatum(Pdata, "PartPlant", 0, "BackFlush", bflush_chk.Checked.ToString());
                        }
                        Part.Update(Pdata);
                    }
                    catch (Exception ex) { System.Diagnostics.Debug.Print(ex.Message); }

                    if (trackserial.Checked)
                    {
                        Pdata = Part.GetByID(PartNumber);

                        try
                        {
                            Part.ChangePartTrackSerialNum(trackserial.Checked, Pdata);
                        }
                        catch
                        {
                            //If the neat process fails, do it the hard way.

                            DataList.UpdateDatum(Pdata, "Part", 0, "TrackSerialNum", true.ToString());

                            DataList.UpdateDatum(Pdata, "Part", 0, "UseMaskSeq", true.ToString());

                            DataList.UpdateDatum(Pdata, "Part", 0, "SNLastUsedSeq", "");

                            Part.Update(Pdata);

                            Pdata = Part.GetByID(PartNumber);

                            DataList.UpdateDatum(Pdata, "PartPlant", 0, "EnableSerialNum", true.ToString());

                            DataList.UpdateDatum(Pdata, "PartPlant", 0, "PartTrackSerialNum", true.ToString());

                            try
                            {
                                DataList.UpdateDatum(Pdata, "PartPlant", 0, "PhantomBOM", false.ToString());
                            }
                            catch { }

                            Part.Update(Pdata);

                            Pdata = Part.GetByID(PartNumber);
                        }

                        DataList.UpdateDatum(Pdata, "Part", 0, "UseMaskSeq", true.ToString());
                    }

                    //retrieve the new copy of the data
                    Pdata = Part.GetByID(PartNumber);

                    if (whse_cbo.Items.Count > 0)
                    {
                        Part.Update(Pdata);

                        for (int i = 0; i < whse_cbo.Items.Count; i++)
                        {
                            whse_cbo.SelectedIndex = i;

                            DataList.UpdateDatum(Pdata, "PartPlant", 0, "PrimWhse", whse_cbo.SelectedValue.ToString());

                            DataList.UpdateDatum(Pdata, "PartPlant", 0, "PrimWhseDescription", whse_cbo.Text);

                            DataList.UpdateDatum(Pdata, "PartPlant", 0, "DBRowIdent", null);

                            //if (trackserial.Checked)

                            DataList.UpdateDatum(Pdata, "PartPlant", 0, "PartTrackSerialNum", trackserial.Checked.ToString());
                        }

                        if (trackserial.Checked)
                        {
                            Part.ChangePartSNBaseDataType("MASK", Pdata);

                            Part.ChangeSNMask(SerialMask, Pdata);
                        }

                        Part.Update(Pdata);

                        DataList.UpdateDatum(Pdata, "PartPlant", 0, "BackFlush", bflush_chk.Checked.ToString());

                        if (planner_cbo.Enabled)
                        {
                            DataList.UpdateDatum(Pdata, "PartPlant", 0, "PersonID", planner_cbo.Text);

                            DataList.UpdateDatum(Pdata, "PartPlant", 0, "PersonName", planner_cbo.Text);
                        }

                        //Update with warehouse information
                        Part.Update(Pdata);
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, "Error!", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                }
                finally
                {
                    DataList.EpicClose();

                    this.Close();
                }
            }
        }
Exemplo n.º 19
0
        public static PartDataSet UpdateDatum(PartDataSet Part, string tableName, int rowNum, string colName, string Input)
        {
            try
            {
                Part.Tables[tableName].Rows[rowNum][colName] = Input;

                return Part;
            }
            catch (System.Exception ex)
            {
                System.Windows.Forms.MessageBox.Show(ex.Message, "Error!", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Error);

                return Part;
            }
        }
Exemplo n.º 20
0
        private void LoadData(PartDataSet pdata)
        {
            if (pdata.Tables[0].Rows[0]["Description"].ToString() != "")
                Description_txt.Text = pdata.Tables[0].Rows[0]["Description"].ToString();

            if (pdata.Tables[0].Rows[0]["PMT"].ToString() != "")
                type_cbo.SelectedText = pdata.Tables[0].Rows[0]["PMT"].ToString();

            if (pdata.Tables[0].Rows[0]["IUM"].ToString() != "")
                uomclass_cbo.SelectedText = pdata.Tables[0].Rows[0]["IUM"].ToString();

            if (decimal.Parse(pdata.Tables[0].Rows[0]["NetWeight"].ToString()) != 0)
                NetWeight.Value = decimal.Parse(pdata.Tables[0].Rows[0]["NetWeight"].ToString());

            if (pdata.Tables[0].Rows[0]["NetWeightUOM"].ToString() != "")
                uomweight_cbo.SelectedText = pdata.Tables[0].Rows[0]["NetWeightUOM"].ToString();

            trackserial.Checked = bool.Parse(pdata.Tables[0].Rows[0]["TrackSerialNum"].ToString());

            qtybearing.Checked = bool.Parse(pdata.Tables[0].Rows[0]["QtyBearing"].ToString());

            phantom_chk.Checked = bool.Parse(pdata.Tables[0].Rows[0]["PhantomBOM"].ToString());

            userevision.Checked = bool.Parse(pdata.Tables[0].Rows[0]["UsePartRev"].ToString());

            //Cannot change UOM after initial save, will cause all sorts of problems
            uom_cbo.Enabled = false;

            planner_cbo.Enabled = false;
        }
Exemplo n.º 21
0
        public bool NewPart(SessionInfo _session, ProductsMasterModel model, out bool IsSucces, out string msgError)
        {
            //int iRunning = RunningPart();
            //string PartNum = GetSerialByFormat(iRunning);
            try
            {
                ///TODO: Fix Epicor AppServer to workaround.
                Session currSession = new Session(_session.UserID, _session.UserPassword, _session.AppServer, Session.LicenseType.Default);
                Part myPart = new Part(currSession.ConnectionPool);

                PartDataSet dsPart = new PartDataSet();
                myPart.GetNewPart(dsPart);

                DataRow drPart = dsPart.Tables[0].Rows[0];
                drPart.BeginEdit();
                drPart["PartNum"] = model.NorNum;
                drPart["PartDescription"] = model.NorNum;
                drPart["UOMClassID"] = "UCC";
                drPart["IUM"] = (model.SizeLength > 0) ? "PCS" : "KG";  //Our UOM
                drPart["PUM"] = (model.SizeLength > 0) ? "PCS" : "KG"; ;   //Purchasing UOM
                drPart["TypeCode"] = "M";
                drPart["SalesUM"] = (model.SizeLength > 0) ? "PCS" : "KG"; ;   //Sale UOM
                drPart["ShortChar05"] = "M";
                drPart["Number01"] = model.SizeThick;
                drPart["Number02"] = model.SizeWidth;
                drPart["Number03"] = model.SizeLength;
                drPart["Number11"] = 1;
                drPart["Number12"] = 1;
                drPart["Character10"] = "N";

                drPart["NetWeight"] = model.CoilWeigthMin;
                drPart.EndEdit();
                myPart.Update(dsPart);

                currSession.Dispose();

                IsSucces = true;
                msgError = "";
            }
            catch (Exception ex)
            {
                IsSucces = false;
                msgError = ex.Message;
                return false;
            }
            return true;
        }
Exemplo n.º 22
0
        public bool GetNewPart(MCSS model, Models.SessionInfo epiSession, out bool IsSucces, out string msgError)
        {
            try
            {
                Session currSession = new Session(epiSession.UserID, epiSession.UserPassword, epiSession.AppServer, Session.LicenseType.Default);
                Part myPart = new Part(currSession.ConnectionPool);

                bool partExst = false;
                string whereClausePart = string.Format(@"Part.PartNum='{0}'", model.McssNum);
                //whereClausePart.Replace("=\"","");
                PartDataSet dsPart = new PartDataSet();
                if (myPart.PartExists(model.McssNum))
                {
                    dsPart = myPart.GetRows(whereClausePart, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 0, 1, out partExst);
                }
                else
                {
                    myPart.GetNewPart(dsPart);
                }
               
                DataRow drPart = dsPart.Tables[0].Rows[0];
                drPart.BeginEdit();
                drPart["PartNum"] = model.McssNum;
                drPart["PartDescription"] = model.McssNum;
                drPart["UOMClassID"] = "UCC";
                drPart["TypeCode"] = "P";
                drPart["IUM"] = (model.Length > 0) ? "PCS" : "KG";  //Our UOM
                drPart["PUM"] = (model.Length > 0) ? "PCS" : "KG"; ;   //Purchasing UOM
                drPart["TypeCode"] = "M";
                drPart["SalesUM"] = (model.Length > 0) ? "PCS" : "KG"; ;   //Sale UOM
                drPart["Character02"] = "";  //NCR No.
                drPart["Character08"] = string.IsNullOrEmpty(model.CustID) ? "" : model.CustID;
                drPart["Character10"] = ""; //Pack No.
                drPart["ShortChar01"] = string.IsNullOrEmpty(model.CommodityCode) ? "" : model.CommodityCode;
                drPart["ShortChar02"] = string.IsNullOrEmpty(model.MatSpec1) ? "" : model.MatSpec1;
                drPart["ShortChar07"] = "";  //Old Stock No.
                drPart["ShortChar09"] = string.IsNullOrEmpty(model.Coating1) ? "" : model.Coating1;
                drPart["ShortChar10"] = "6";  //PartStatus = MCSS
                drPart["Number01"] = model.Thick;
                drPart["Number02"] = model.Width;
                drPart["Number03"] = model.Length;
                drPart["TrackLots"] = 1;
                drPart["Number11"] = 1;
                drPart["Number12"] = model.Pocession.GetInt();
                drPart["Character10"] = "N";

                drPart["NetWeight"] = model.WeightPerCoilMin.GetDecimal();
                drPart.EndEdit();

                myPart.Update(dsPart);

                currSession.Dispose();

                IsSucces = true;
                msgError = "";
            }
            catch (Exception ex)
            {
                IsSucces = false;
                msgError = ex.Message;
            }
            return IsSucces;
        }
Exemplo n.º 23
0
        public static DataTable PartUOM(string PartNumber)
        {
            try
            {
                Part Part = new Part(EpicConn);

                PartDataSet PartData = new PartDataSet();

                PartData = Part.GetByID(PartNumber);

                EpicClose();

                return PartData.Tables["PartUOM"];
            }
            catch { return null; }
        }
Exemplo n.º 24
0
        private void useselected_btn_Click(object sender, EventArgs e)
        {
            if (template_cbo.Text == "Other")
            {
                try
                {
                    //Use text box part number
                    Part Part = new Part(DataList.EpicConn);

                    PartDataSet PData = new PartDataSet();

                    PData = Part.DuplicatePart(partnumber_txt.Text, _PartNumber, desc_txt.Text);

                    Part.Update(PData);

                    this.DialogResult = DialogResult.Ignore;
                }
                catch { }
            }
            else
            {
                //Use Listed Template

                DataRow dr = eNGDataDataSet.Tables[0].Rows[template_cbo.SelectedIndex];

                _Pdata.Description = dr["Desc"].ToString();

                _Pdata.PMT = dr["Type"].ToString();

                _Pdata.UOM_Class = dr["UOMClass"].ToString();

                decimal fail = 0;

                decimal.TryParse(dr["NetWeight"].ToString(), out fail);

                _Pdata.Net_Weight = fail;

                _Pdata.Net_Weight_UM = dr["UOMWeight"].ToString();

                decimal.TryParse(dr["NetVol"].ToString(),out fail);

                _Pdata.Net_Vol = fail;

                _Pdata.Net_Vol_UM = dr["UOMVol"].ToString();

                _Pdata.Primary_UOM = dr["UOM"].ToString();

                _Pdata.PartGroup = dr["Group"].ToString();

                _Pdata.PartClass = dr["Class"].ToString();

                _Pdata.PartPlant = dr["Plant"].ToString();

                _Pdata.PlantWhse = dr["Whse"].ToString();
            }

            this.Close();
        }
Exemplo n.º 25
0
        public static string GetCurrentRev(string PartNumber)
        {
            try
            {
                Part Part = new Part(DataList.EpicConn);

                PartDataSet PartData = new PartDataSet();

                PartData = Part.GetByID(PartNumber);

                int LastRowIndex = PartData.Tables["PartRev"].Rows.Count - 1;

                string PartRev = PartData.Tables["PartRev"].Rows[LastRowIndex]["RevisionNum"].ToString();

                EpicClose();

                return PartRev;
            }
            catch { return ""; }
        }
Exemplo n.º 26
0
        public bool NewPartCollection(NewPartModel model, Session epiSession, out bool IsSucces, out string msgError)
        {
            try
            {
                Part myPart = new Part(epiSession.ConnectionPool);                

                PartDataSet dsPart = new PartDataSet();
                myPart.GetNewPart(dsPart);                

                DataRow drPart = dsPart.Tables[0].Rows[0];
                drPart.BeginEdit();
                drPart["PartNum"] = model.SerialNo;
                drPart["PartDescription"] = model.SerialNo; ;
                drPart["UOMClassID"] = "COUNT";
                drPart["IUM"] = "KG";
                drPart["PUM"] = "KG";
                drPart["TypeCode"] = "M";
                drPart["SalesUM"] = "KG";
                drPart["UserChar4"] = string.IsNullOrEmpty(model.SupplierCode) ? "" : model.SupplierCode;
                drPart["UnitPrice"] = model.Amount;
                drPart["Character01"] = string.IsNullOrEmpty(model.SaleContract) ? "" : model.SaleContract;
                drPart["Character03"] = string.IsNullOrEmpty(model.NGRemark) ? "-" : model.NGRemark;
                drPart["Character07"] = model.ArticleNo;
                drPart["Character07"] = model.CustID;
                drPart["Number10"] = model.Quantity;
                drPart["Date01"] = DateTime.Now;

                drPart["ShortChar01"] = string.IsNullOrEmpty(model.CommodityCode) ? "" : model.CommodityCode;
                drPart["ShortChar02"] = string.IsNullOrEmpty(model.SpecCode) ? "" : model.SpecCode;
                drPart["ShortChar04"] = string.IsNullOrEmpty(model.BussinessType) ? "" : model.BussinessType;

                drPart["ShortChar05"] = string.IsNullOrEmpty(model.MakerCode) ? "" : model.MakerCode;
                drPart["ShortChar06"] = string.IsNullOrEmpty(model.MillCode) ? "" : model.MillCode;
                drPart["Character07"] = string.IsNullOrEmpty(model.ArticleNo) ? "" : model.ArticleNo;
                drPart["Number18"] = model.iRunning;
                drPart["ShortChar09"] = string.IsNullOrEmpty(model.CoatingCode) ? "" : model.CoatingCode;

                drPart["Number01"] = model.Thick;
                drPart["Number02"] = model.Width;
                drPart["Number03"] = model.Length;
                drPart["Number11"] = 1;
                drPart["Number12"] = 1;
                if (model.NGStatus == 1)
                {
                    drPart["Character10"] = "N";
                }
                else
                {
                    drPart["Character10"] = "B";
                }

                drPart["NetWeight"] = model.Weight;
                drPart.EndEdit();
                myPart.Update(dsPart);

                IsSucces = true;
                msgError = "";
            }
            catch (Exception ex)
            {
                IsSucces = false;
                msgError = ex.Message;
            }
            return IsSucces;
        }
Exemplo n.º 27
0
        public static bool CreatePartRevision(string PartNumber, string CurrentRev, string NewRev, string RevDesc)
        {
            bool _results;

            try
            {
                Part Part = new Part(DataList.EpicConn);

                PartDataSet PartData = new PartDataSet();

                PartData = Part.GetByID(PartNumber);

                Part.GetNewPartRev(PartData, PartNumber, CurrentRev);

                int Y = PartData.Tables["PartRev"].Rows.Count - 1;

                DataList.UpdateDatum(PartData, "PartRev", Y, "RevShortDesc", RevDesc);

                DataList.UpdateDatum(PartData, "PartRev", Y, "RevisionNum", NewRev);

                DataList.UpdateDatum(PartData, "PartRev", Y, "AltMethod", "");

                Part.Update(PartData);

                _results = true;
            }
            catch { _results = false; }
            finally
            {
                EpicClose();
            }

            return _results;
        }
Exemplo n.º 28
0
        public string NewPart(NewPartModel model, SessionInfo epiSession, int StoreInNo, out bool IsSucces, out string msgError)
        {
            int iRunning = RunningPart();
            string PartNum = GetSerialByFormat(iRunning);
            try
            {
                Session currSession = new Session(epiSession.UserID, epiSession.UserPassword, epiSession.AppServer, Session.LicenseType.Default);
                Part myPart = new Part(currSession.ConnectionPool);
                
                PartDataSet dsPart = new PartDataSet();
                myPart.GetNewPart(dsPart);

                DataRow drPart = dsPart.Tables[0].Rows[0];
                drPart.BeginEdit();
                drPart["PartNum"] = PartNum;
                drPart["PartDescription"] = PartNum;
                drPart["UOMClassID"] = "COUNT";
                drPart["IUM"] = "KG";
                drPart["PUM"] = "KG";
                drPart["TypeCode"] = "M";
                drPart["SalesUM"] = "KG";
                drPart["UserChar4"] = model.SupplierCode;
                drPart["UnitPrice"] = model.Amount;
                drPart["Character01"] = model.SaleContract;
                drPart["Character03"] = model.NGRemark;
                drPart["Character07"] = model.ArticleNo;
                drPart["Character07"] = model.CustID;
                drPart["Number10"] = model.Quantity;
                drPart["Date01"] = DateTime.Now;

                drPart["ShortChar01"] = string.IsNullOrEmpty(model.CommodityCode) ? "" : model.CommodityCode;
                drPart["ShortChar02"] = string.IsNullOrEmpty(model.SpecCode) ? "" : model.SpecCode;
                drPart["ShortChar04"] = model.BussinessType;

                drPart["ShortChar05"] = model.MakerCode;
                drPart["ShortChar06"] = model.MillCode;
                drPart["Character07"] = model.ArticleNo;
                drPart["ShortChar08"] = iRunning;
                drPart["ShortChar09"] = model.CoatingCode;

                drPart["Number01"] = model.Thick;
                drPart["Number02"] = model.Width;
                drPart["Number03"] = model.Length;
                drPart["Number11"] = 1;
                drPart["Number12"] = 1;
                if (model.NGStatus == 1)
                {
                    drPart["Character10"] = "N";
                }
                else
                {
                    drPart["Character10"] = "B";
                }

                drPart["NetWeight"] = model.Weight;
                drPart.EndEdit();
                myPart.Update(dsPart);

                currSession.Dispose();

                UpdateStock(PartNum, model.Quantity);
                IsSucces = true;
                msgError = "";
            }
            catch (Exception ex)
            {
                IsSucces = false;
                msgError = ex.Message;
            }
            return PartNum;
        }
Exemplo n.º 29
0
        private PartDataSet UpdateDataSet(PartDataSet Pdata, DataViewRowState RowState)
        {
            Part Part = new Part(DataList.EpicConn);

            DataList.AddDatum(Pdata, "Part", 0, "PartDescription", Description_txt.Text,RowState);

            if (RowState == DataViewRowState.Unchanged)
                RowState = DataViewRowState.ModifiedCurrent;

            //SearchWord has 8 character limit
            if (Description_txt.Text.Length > 8)
                DataList.AddDatum(Pdata, "Part", 0, "SearchWord", Description_txt.Text.Substring(0, 8), RowState);
            else
                DataList.AddDatum(Pdata, "Part", 0, "SearchWord", Description_txt.Text, RowState);

            DataList.AddDatum(Pdata, "Part", 0, "NetWeight", NetWeight.Text, RowState);

            DataList.AddDatum(Pdata, "Part", 0, "NetWeightUOM", uomweight_cbo.SelectedValue.ToString(), RowState);

            DataList.AddDatum(Pdata, "Part", 0, "IUM", uom_cbo.SelectedValue.ToString(), RowState);

            DataList.AddDatum(Pdata, "Part", 0, "ClassID", class_cbo.SelectedValue.ToString(), RowState);

            DataList.AddDatum(Pdata, "Part", 0, "QtyBearing", qtybearing.Checked.ToString(), RowState);

            DataList.AddDatum(Pdata, "Part", 0, "UsePartRev", userevision.Checked.ToString(), RowState);

            DataList.AddDatum(Pdata, "Part", 0, "PhantomBOM", phantom_chk.Checked.ToString(), RowState);

            string Type_Code = type_cbo.SelectedItem.ToString();

            Part.ChangePartTypeCode(Type_Code, Pdata);

            Part.ChangePartProdCode(group_cbo.SelectedValue.ToString(), Pdata);

            //add trackserial number if necessary
            if (trackserial.Checked && (SerialPrefix != "" || SerialPrefix != null))
            {
                if (SerialPrefix == "" || SerialPrefix == null)
                    MessageBox.Show("Cannot use null serial prefix.  Set the prefix or uncheck 'Track Serial Number'", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                else
                {
                    DataList.AddDatum(Pdata, "Part", 0, "EnableSerialNum", trackserial.Checked.ToString(), RowState);

                    DataList.AddDatum(Pdata, "Part", 0, "TrackSerialNum", trackserial.Checked.ToString(), RowState);

                    Part.ChangePartSNBaseDataType("MASK", Pdata);

                    Part.ChangeSNMask(SerialMask, Pdata);

                    Part.ChangePartSNMaskPrefixSuffix(SerialPrefix, "", Pdata);
                }
            }

            return Pdata;
        }
Exemplo n.º 30
0
        public void IssueMtl(int AssembleySeq, int MtlSeq, string PartNum, decimal QtyPer)
        {
            string JobNum = this.Jobnumber;
            JobMtlSearchDataSet jobmtlDS     = new JobMtlSearchDataSet();
            JobMtlSearch        jobmtlsearch = new JobMtlSearch(Program.SConnPool.ConnectionPool);

            try
            {
                jobmtlDS = jobmtlsearch.GetByID(
                    JobNum,
                    AssembleySeq,
                    MtlSeq);
            }
            catch (Exception e)
            {
                MessageBox.Show("[Job.IssueMtl]" + e.Message + "\n" +
                                e.InnerException.Message + "\n----\n" + JobNum.ToString() +
                                " / " + AssembleySeq.ToString() + " / " + MtlSeq.ToString());
                return;
            }
            IssueReturn        ir   = new IssueReturn(Program.SConnPool.ConnectionPool);
            IssueReturnDataSet irds = new IssueReturnDataSet();

            string pcmsg = "";

            ir.GetNewIssueReturnToJob(JobNum, AssembleySeq, "STK-MTL", "SwiftScan", out pcmsg, irds);

            irds.IssueReturn[0]["PartNum"] = PartNum;

            ir.OnChangePartNum(irds, "SwiftScan");

            irds.IssueReturn[0]["TranQty"] = QtyPer;


            Part        partx  = new Part(Program.SConnPool.ConnectionPool);
            PartDataSet partDS = new PartDataSet();

            bool   reqinp;
            string msg    = "";
            string allmsg = "";


            partDS = partx.GetByID(PartNum);

            irds.IssueReturn[0]["TranDate"]          = DateTime.Now;
            irds.IssueReturn[0]["DimCode"]           = partDS.Part.Rows[0]["IUM"].ToString();
            irds.IssueReturn[0]["FromWareHouseCode"] = "STORES"; //TODO: Ask Chris about this tooooo
            irds.IssueReturn[0]["FromBinNum"]        = "001";
            irds.IssueReturn[0]["QtyRequired"]       =
                Convert.ToDecimal(QtyPer);
            irds.IssueReturn[0]["ToJobSeq"]        = MtlSeq;
            irds.IssueReturn[0]["ToWarehouseCode"] = "STORES";
            irds.IssueReturn[0]["ToBinNum"]        = "001";
            irds.IssueReturn[0]["ToJobSeqPartNum"] = PartNum;
            irds.IssueReturn[0]["IssuedComplete"]  = "true";
            irds.IssueReturn[0]["DimConvFactor"]   = 1;
            irds.IssueReturn[0]["FromJobPlant"]    = "MfgSys";
            irds.IssueReturn[0]["ToJobPlant"]      = "MfgSys";
            irds.IssueReturn[0]["ProcessID"]       = "SwiftScan";
            irds.IssueReturn[0]["OnHandUM"]        = partDS.Part.Rows[0]["IUM"].ToString();
            irds.IssueReturn[0]["TranReference"]   = "Assigned from SwiftScan";


            irds.IssueReturn[0]["UM"]             = partDS.Part.Rows[0]["IUM"].ToString();
            irds.IssueReturn[0]["PartIUM"]        = partDS.Part.Rows[0]["IUM"].ToString();
            irds.IssueReturn[0]["RequirementUOM"] = partDS.Part.Rows[0]["IUM"].ToString();
            irds.IssueReturn[0]["ToJobNum"]       = JobNum;
            irds.IssueReturn[0]["ToJobPartNum"]   = JobNum;

            ir.OnChangeTranQty(Convert.ToDecimal(QtyPer), irds);

            ir.PrePerformMaterialMovement(irds, out reqinp);
            if (reqinp == true)
            {
                MessageBox.Show("Requires Input");
            }
            string neg1, neg2;

            ir.NegativeInventoryTest(
                PartNum,
                "STORES",
                "001",
                "",
                "",
                0,
                QtyPer,
                out neg1,
                out neg2);
            try
            {
                ir.PerformMaterialMovement(true, irds, out msg, out allmsg);
            }
            catch (Exception em)
            {
                MessageBox.Show(em.Message + "\n" + em.InnerException.Message);
                throw;
            }

            allmsg += msg;
        }
Exemplo n.º 31
0
        private void UpdateFormSet(string Pnum)
        {
            trackserial.CheckedChanged -= trackserial_CheckedChanged;

            Part Part = new Part(DataList.EpicConn);

            PartDataSet Pdata = new PartDataSet();

            Pdata = Part.GetByID(Pnum);

            Description_txt.Text = Pdata.Tables["Part"].Rows[0]["PartDescription"].ToString();

            NetWeight.Value = decimal.Parse(Pdata.Tables["Part"].Rows[0]["NetWeight"].ToString());

            uomweight_cbo.SelectedValue = Pdata.Tables["Part"].Rows[0]["NetWeightUOM"].ToString();

            uom_cbo.SelectedValue = Pdata.Tables["Part"].Rows[0]["IUM"].ToString();

            class_cbo.SelectedValue = Pdata.Tables["Part"].Rows[0]["ClassID"].ToString();

            type_cbo.SelectedValue = Pdata.Tables["Part"].Rows[0]["TypeCode"].ToString();

            group_cbo.SelectedValue = Pdata.Tables["Part"].Rows[0]["ProdCode"].ToString();

            //Should set backflush flag correctly on load now.
            bflush_chk.Checked = bool.Parse(Pdata.Tables["PartPlant"].Rows[0]["Backflush"].ToString());

            trackserial.Checked = bool.Parse(Pdata.Tables[0].Rows[0]["TrackSerialNum"].ToString());

            qtybearing.Checked = bool.Parse(Pdata.Tables[0].Rows[0]["QtyBearing"].ToString());

            phantom_chk.Checked = bool.Parse(Pdata.Tables[0].Rows[0]["PhantomBOM"].ToString());

            userevision.Checked = bool.Parse(Pdata.Tables[0].Rows[0]["UsePartRev"].ToString());

            whse_cbo.DataSource = Pdata.Tables["PartWhse"];

            whse_cbo.DisplayMember = "WarehouseDescription";

            whse_cbo.ValueMember = "WarehouseCode";

            for (int i = 0; i < Pdata.Tables["PartPlant"].Rows.Count; i++)
            {
                if (Pdata.Tables["PartPlant"].Rows[i]["Plant"].ToString() == "MfgSys")
                    planner_cbo.Text = Pdata.Tables["PartPlant"].Rows[i]["PersonID"].ToString();
            }

            SerialPrefix = Pdata.Tables[0].Rows[0]["SNMaskPrefix"].ToString();

            SerialMask = Pdata.Tables[0].Rows[0]["SNMask"].ToString();

            trackserial.CheckedChanged += trackserial_CheckedChanged;
        }
Exemplo n.º 32
0
        private void savebtn_Click(object sender, EventArgs e)
        {
            try
            {
                //Commit Part Changes

                Part Part = new Part(DataList.EpicConn);

                PartDataSet Pdata = new PartDataSet();

                //Pdata = (PartDataSet)DL.PartSearchDataSet("");

                string serialWarning;

                string questionString;

                bool multipleMatch;

                string PartNumber = Partnumber_txt.Text;

                Part.GetPartXRefInfo(ref PartNumber, "", "", out serialWarning, out questionString, out multipleMatch);

                if (!multipleMatch)
                {
                    Part.GetNewPart(Pdata);

                    Part.ChangePartNum(PartNumber, Pdata);

                    DataList.AddDatum(Pdata, "Part",  0, "PartDescription", Description_txt.Text);

                    //SearchWord has 8 character limit
                    if (Description_txt.Text.Length > 8)
                        DataList.AddDatum(Pdata, "Part", 0, "SearchWord", Description_txt.Text.Substring(0, 8));
                    else
                        DataList.AddDatum(Pdata, "Part", 0, "SearchWord", Description_txt.Text);

                    DataList.AddDatum(Pdata, "Part", 0, "NetWeight", NetWeight.Text);

                    DataList.AddDatum(Pdata, "Part", 0, "NetWeightUOM", uomweight_cbo.SelectedValue.ToString());

                    //DataList.AddDatum(Pdata, "Part", 0, "NetVolume", NetVolume.Text);

                    //DataList.AddDatum(Pdata, "Part", 0, "NetVolumeUOM", uomvol_cbo.SelectedValue.ToString());

                    DataList.AddDatum(Pdata, "Part", 0, "IUM", uom_cbo.SelectedValue.ToString());

                    DataList.AddDatum(Pdata, "Part", 0, "ClassID", class_cbo.SelectedValue.ToString());

                    string Type_Code = type_cbo.SelectedItem.ToString();

                    Part.ChangePartTypeCode(Type_Code, Pdata);

                    Part.ChangePartProdCode(group_cbo.SelectedValue.ToString(), Pdata);

                    //Add data to allow BO to create plant tables
                    Part.Update(Pdata);

                    //retrieve the new copy of the data
                    Pdata = Part.GetByID(PartNumber);

                    DataList.UpdateDatum(Pdata, "PartPlant", 0, "PrimWhse", whse_cbo.SelectedValue.ToString());

                    DataList.UpdateDatum(Pdata, "PartPlant", 0, "PrimWhseDescription", whse_cbo.Text);

                    DataList.UpdateDatum(Pdata, "PartPlant", 0, "DBRowIdent", null);

                    //Update with warehouse information
                    Part.Update(Pdata);

                    DataList.EpicClose();
                }
                else
                {
                    MessageBox.Show("Part already exists in database!  Use revision to make changes.");
                }
            }
            catch (System.Exception ex)
            {
                MessageBox.Show(ex.Message, "Error!", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
            }
            finally
            {
                this.Close();
            }
        }