using Core.StlMes.Client.Qcm.BLL; using Core.StlMes.Client.Qcm.model; using CoreFS.CA06; using CoreFS.SA06; using Infragistics.Win.UltraWinGrid; using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Windows.Forms; namespace Core.StlMes.Client.Qcm.Control { public partial class ComBasePurchaseStdIdxCtrl : UserControl { private CtrlMscChem _ctrlMscChem; private CtrlMscMaterial _ctrlMscMaterial; private CtrlMscTolerances _ctrlMscTolerances; private CtrlMSCDetection _ctrlMscDetection; private CtrlMscProductWater _ctrlMscWater; private CtrlMSCStdProcess _ctrlMscProcess; private ComBasePurchaseProviderCtrl _providerCtrl; private ComBasePurchaseStdIdxBLL _purchaseStdIdxBLL; private ComBasePurchaseRangeCtrl _purchaseRangeCtrl; public ComBasePurchaseStdIdxCtrl(System.Windows.Forms.Control container, OpeBase ob) { InitializeComponent(); _purchaseStdIdxBLL = new ComBasePurchaseStdIdxBLL(ob); this.Dock = DockStyle.Fill; _ctrlMscChem = new CtrlMscChem(ultraTabPageControl1); _ctrlMscChem.Grid.BeforeRowInsert += Grid_BeforeRowInsert; _ctrlMscMaterial = new CtrlMscMaterial(ultraTabPageControl2); _ctrlMscMaterial.Grid.BeforeRowInsert += Grid_BeforeRowInsert; _ctrlMscMaterial.Grid.DisplayLayout.Bands[0].Columns["UnboundColumn1"].Hidden = true; _ctrlMscTolerances = new CtrlMscTolerances(ultraTabPageControl3); _ctrlMscTolerances.Grid.BeforeRowInsert += Grid_BeforeRowInsert; _ctrlMscDetection = new CtrlMSCDetection(ultraTabPageControl4); _ctrlMscDetection.Grid.BeforeRowInsert += Grid_BeforeRowInsert; _ctrlMscWater = new CtrlMscProductWater(ultraTabPageControl5); _ctrlMscWater.Grid.BeforeRowInsert += Grid_BeforeRowInsert; _ctrlMscWater.Grid.DisplayLayout.Bands[1].Columns["RatioMng"].Hidden = true; _ctrlMscProcess = new CtrlMSCStdProcess(ultraTabPageControl6); _ctrlMscProcess.Grid.BeforeRowInsert += Grid_BeforeRowInsert; _ctrlMscChem.ShowPurchaseGrid(ob); _ctrlMscMaterial.ShowPurchaseGrid(ob); _ctrlMscTolerances.ShowPurchaseGrid(ob); _ctrlMscDetection.ShowPurchaseGrid(ob); _ctrlMscWater.ShowPurchaseGrid(ob); _ctrlMscProcess.ShowPurchaseGrid(ob); _providerCtrl = new ComBasePurchaseProviderCtrl(splitContainer1.Panel1, ob); _providerCtrl.UltraGrid1.AfterRowActivate += UltraGrid1_AfterRowActivate; _purchaseRangeCtrl = new ComBasePurchaseRangeCtrl(splitContainer1.Panel2, ob); container.Controls.Add(this); } void UltraGrid1_AfterRowActivate(object sender, EventArgs e) { string suppCode = _providerCtrl.UltraGrid1.GetActiveRowValue("suppCode"); _purchaseRangeCtrl.Query(suppCode); } void Grid_BeforeRowInsert(object sender, Infragistics.Win.UltraWinGrid.BeforeRowInsertEventArgs e) { e.Cancel = true; } public List GetSaveParms() { IEnumerable rows; List saveParms = new List(); switch (ultraTabControl1.ActiveTab.Key) { case "CIC": rows = _ctrlMscChem.Grid.Rows.Where(a => a.GetValue("CHC") == "True"); foreach (var row in rows) { var purchaseStdIdx = new ComBasePurchaseStdIdxEntity(); purchaseStdIdx.StdIdx = row.GetValue("CIC"); purchaseStdIdx.StdIdxType = "CIC"; purchaseStdIdx.AgreementCode = agreementCode; purchaseStdIdx.CreateName = CoreUserInfo.UserInfo.GetUserName(); saveParms.Add(purchaseStdIdx); } break; case "PIC": rows = _ctrlMscMaterial.Grid.Rows.Where(a => a.GetValue("CHC") == "True"); foreach (var row in rows) { var purchaseStdIdx = new ComBasePurchaseStdIdxEntity(); purchaseStdIdx.StdIdx = row.GetValue("PIC"); purchaseStdIdx.StdIdxType = "PIC"; purchaseStdIdx.AgreementCode = agreementCode; purchaseStdIdx.CreateName = CoreUserInfo.UserInfo.GetUserName(); saveParms.Add(purchaseStdIdx); } break; case "SIC": rows = _ctrlMscTolerances.Grid.Rows.Where(a => a.GetValue("CHC") == "True"); foreach (var row in rows) { var purchaseStdIdx = new ComBasePurchaseStdIdxEntity(); purchaseStdIdx.StdIdx = row.GetValue("SIC"); purchaseStdIdx.StdIdxType = "SIC"; purchaseStdIdx.AgreementCode = agreementCode; purchaseStdIdx.CreateName = CoreUserInfo.UserInfo.GetUserName(); saveParms.Add(purchaseStdIdx); } break; case "DIC": rows = _ctrlMscDetection.Grid.Rows.Where(a => a.GetValue("CHC") == "True"); foreach (var row in rows) { var purchaseStdIdx = new ComBasePurchaseStdIdxEntity(); purchaseStdIdx.StdIdx = row.GetValue("DIC"); purchaseStdIdx.StdIdxType = "DIC"; purchaseStdIdx.AgreementCode = agreementCode; purchaseStdIdx.CreateName = CoreUserInfo.UserInfo.GetUserName(); saveParms.Add(purchaseStdIdx); } break; case "WIC": rows = _ctrlMscWater.Grid.Rows.Where(a => a.GetValue("CHC") == "True"); foreach (var row in rows) { var purchaseStdIdx = new ComBasePurchaseStdIdxEntity(); purchaseStdIdx.StdIdx = row.GetValue("WIC"); purchaseStdIdx.StdIdxType = "WIC"; purchaseStdIdx.AgreementCode = agreementCode; purchaseStdIdx.CreateName = CoreUserInfo.UserInfo.GetUserName(); saveParms.Add(purchaseStdIdx); } break; case "GIC": rows = _ctrlMscProcess.Grid.Rows.Where(a => a.GetValue("CHC") == "True"); foreach (var row in rows) { var purchaseStdIdx = new ComBasePurchaseStdIdxEntity(); purchaseStdIdx.StdIdx = row.GetValue("GIC"); purchaseStdIdx.StdIdxType = "GIC"; purchaseStdIdx.AgreementCode = agreementCode; purchaseStdIdx.CreateName = CoreUserInfo.UserInfo.GetUserName(); saveParms.Add(purchaseStdIdx); } break; case "SUPP": break; } return saveParms; } public List GetProviderParms() { return _providerCtrl.GetSaveParms(); } private string agreementCode = ""; private string validflag = ""; private string stdCodeNk = ""; public void Query(string agreementCode, string stdCodeNk, string validflag) { this.agreementCode = agreementCode; this.validflag = validflag; this.stdCodeNk = stdCodeNk; if (ultraTabControl1.ActiveTab == null) return; switch (ultraTabControl1.ActiveTab.Key) { case "CIC": _ctrlMscChem.QueryPurchaseAgreement(stdCodeNk); SetGridChkCic(); break; case "PIC": _ctrlMscMaterial.QueryPurchaseAgreement(stdCodeNk); SetGridChkPic(); break; case "SIC": _ctrlMscTolerances.QueryPurchaseAgreement(stdCodeNk); SetGridChkSic(); break; case "DIC": _ctrlMscDetection.QueryPurchaseAgreement(stdCodeNk); SetGridChkDic(); break; case "WIC": _ctrlMscWater.QueryPurchaseAgreement(stdCodeNk); SetGridChkWic(); break; case "GIC": _ctrlMscProcess.QueryPurchaseAgreement(stdCodeNk); SetGridChkGic(); break; case "SUPP": _purchaseRangeCtrl.Clear(); _providerCtrl.Query(agreementCode); break; } } public void Clear() { _ctrlMscChem.Clear(); _ctrlMscMaterial.Clear(); _ctrlMscDetection.Clear(); _ctrlMscTolerances.Clear(); _ctrlMscWater.Clear(); _ctrlMscProcess.Clear(); _providerCtrl.Clear(); _purchaseRangeCtrl.Clear(); agreementCode = ""; } private void SetGridChkCic() { List stdIdxs = _purchaseStdIdxBLL.Query(agreementCode, "CIC"); foreach (var row in _ctrlMscChem.Grid.Rows) { foreach (ComBasePurchaseStdIdxEntity stdIdx in stdIdxs) { if (stdIdx.StdIdx == row.GetValue("CIC")) { row.SetValue("CHC", "True"); } } } _ctrlMscChem.Grid.UpdateData(); } private void SetGridChkPic() { List stdIdxs = _purchaseStdIdxBLL.Query(agreementCode, "PIC"); foreach (var row in _ctrlMscMaterial.Grid.Rows) { foreach (ComBasePurchaseStdIdxEntity stdIdx in stdIdxs) { if (stdIdx.StdIdx == row.GetValue("PIC")) { row.SetValue("CHC", "True"); } } } _ctrlMscMaterial.Grid.UpdateData(); } private void SetGridChkSic() { List stdIdxs = _purchaseStdIdxBLL.Query(agreementCode, "SIC"); foreach (var row in _ctrlMscTolerances.Grid.Rows) { foreach (ComBasePurchaseStdIdxEntity stdIdx in stdIdxs) { if (stdIdx.StdIdx == row.GetValue("SIC")) { row.SetValue("CHC", "True"); } } } _ctrlMscTolerances.Grid.UpdateData(); } private void SetGridChkDic() { List stdIdxs = _purchaseStdIdxBLL.Query(agreementCode, "DIC"); foreach (var row in _ctrlMscDetection.Grid.Rows) { foreach (ComBasePurchaseStdIdxEntity stdIdx in stdIdxs) { if (stdIdx.StdIdx == row.GetValue("DIC")) { row.SetValue("CHC", "True"); } } } _ctrlMscDetection.Grid.UpdateData(); } private void SetGridChkWic() { List stdIdxs = _purchaseStdIdxBLL.Query(agreementCode, "WIC"); foreach (var row in _ctrlMscWater.Grid.Rows) { foreach (ComBasePurchaseStdIdxEntity stdIdx in stdIdxs) { if (stdIdx.StdIdx == row.GetValue("WIC")) { row.SetValue("CHC", "True"); } } } _ctrlMscWater.Grid.UpdateData(); } private void SetGridChkGic() { List stdIdxs = _purchaseStdIdxBLL.Query(agreementCode, "GIC"); foreach (var row in _ctrlMscProcess.Grid.Rows) { foreach (ComBasePurchaseStdIdxEntity stdIdx in stdIdxs) { if (stdIdx.StdIdx == row.GetValue("GIC")) { row.SetValue("CHC", "True"); } } } _ctrlMscProcess.Grid.UpdateData(); } private void ultraTabControl1_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e) { try { ((Form)this.TopLevelControl).Cursor = Cursors.WaitCursor; if (agreementCode == "") return; Query(agreementCode, stdCodeNk, validflag); } finally { ((Form)this.TopLevelControl).Cursor = Cursors.Default; } } } }