示例#1
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;
        }
示例#2
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();
                }
            }
        }