public List <String> GetAttributeInstance(int _M_AttributeSetInstance_ID, int _M_Product_ID, bool _productWindow, int windowNo, Ctx ctx, int AD_Column_ID, int attrcode) { List <String> attrValues = new List <String>(); int attr_ID = 0; StringBuilder sql = new StringBuilder(); MAttributeSet aset = null; MAttribute[] attributes = null; MAttributeSetInstance _masi = MAttributeSetInstance.Get(ctx, _M_AttributeSetInstance_ID, _M_Product_ID); // Get Attribute Set aset = _masi.GetMAttributeSet(); // Product has no Attribute Set if (aset == null) { Msg.GetMsg("PAttributeNoAttributeSet", null); return(null);; } string attrsetQry = @"SELECT ats.M_AttributeSet_ID FROM M_ProductAttributes patr LEFT JOIN M_AttributeSetInstance ats ON (patr.M_AttributeSetInstance_ID=ats.M_AttributeSetInstance_ID) where patr.UPC='" + attrcode + "'"; int attributeSet = Util.GetValueOfInt(DB.ExecuteScalar(attrsetQry)); if (attributeSet != aset.Get_ID()) { return(null); } if (!_productWindow && aset.IsLot()) { sql.Append("SELECT ats.Lot,ats.SerNo,ats.GuaranteeDate "); } // Lot //if (!_productWindow && aset.IsSerNo()) //{ // sql.Append(" SELECT ats.SerNo"); //} //if (!_productWindow && aset.IsGuaranteeDate()) //{ // if (sql.Length > 0) // { // sql.Append(",ats.GuaranteeDate"); // } // else // { // sql.Append("SELECT ats.GuaranteeDate"); // } //} // GuaranteeDate if (sql.Length > 0) { sql.Append(@" FROM M_ProductAttributes patr INNER JOIN M_AttributeSetInstance ats ON (patr.m_attributesetinstance_id=ats.m_attributesetinstance_id) WHERE patr.UPC='" + attrcode + "'"); DataSet ds1 = null; try { ds1 = DB.ExecuteDataset(sql.ToString(), null, null); if (ds1 != null) { if (ds1.Tables[0].Rows.Count > 0) { if (!_productWindow && aset.IsLot()) { attrValues.Add(Util.GetValueOfString(ds1.Tables[0].Rows[0]["Lot"])); } // Lot else { attrValues.Add(""); } if (!_productWindow && aset.IsSerNo()) { attrValues.Add(Util.GetValueOfString(ds1.Tables[0].Rows[0]["SerNo"])); } else { attrValues.Add(""); } if (!_productWindow && aset.IsGuaranteeDate()) { attrValues.Add(Util.GetValueOfString(ds1.Tables[0].Rows[0]["GuaranteeDate"])); } // GuaranteeDate else { attrValues.Add(""); } ds1.Dispose(); } else { ds1.Dispose(); } } else { ds1.Dispose(); } } catch { attrValues.Clear(); } finally { ds1.Dispose(); } } if (attrValues.Count == 0) { attrValues.Add(""); attrValues.Add(""); attrValues.Add(""); } return(attrValues); }
//Dictionary<MAttribute, KeyValuePair<MAttributeInstance, MAttributeValue[]>> attributesList = new Dictionary<MAttribute, KeyValuePair<MAttributeInstance, MAttributeValue[]>>(4); public AttributesObjects LoadInit(int _M_AttributeSetInstance_ID, int _M_Product_ID, bool _productWindow, int windowNo, Ctx ctx, int AD_Column_ID, int window_ID, bool IsSOTrx, string IsInternalUse) { AttributesObjects obj = new AttributesObjects(); MAttributeSet aset = null; MAttribute[] attributes = null; // Get Model MAttributeSetInstance _masi = MAttributeSetInstance.Get(ctx, _M_AttributeSetInstance_ID, _M_Product_ID); MProduct _prd = new MProduct(ctx, _M_Product_ID, null); if (_masi == null) { obj.IsReturnNull = true; obj.Error = "No Model for M_AttributeSetInstance_ID=" + _M_AttributeSetInstance_ID + ", M_Product_ID=" + _M_Product_ID; return(obj); } // Get Attribute Set aset = _masi.GetMAttributeSet(); // Product has no Attribute Set if (aset == null) { obj.IsReturnNull = true; obj.Error = "PAttributeNoAttributeSet"; return(obj); } obj.MAttributeSetID = aset.Get_ID(); // Product has no Instance Attributes if (!_productWindow && !aset.IsInstanceAttribute()) { obj.Error = "NPAttributeNoInstanceAttribute="; return(obj); } if (_productWindow) { attributes = aset.GetMAttributes(false); } else { attributes = aset.GetMAttributes(true); } //Row 0 obj.tableStucture = "<table style='width: 100%;'><tr>"; if (_productWindow) { for (int i = 0; i < attributes.Length; i++) { obj.tableStucture = AddAttributeLine(attributes[i], _M_AttributeSetInstance_ID, true, false, windowNo, obj, i); } } else { var newEditContent = VAdvantage.Utility.Util.CleanMnemonic(Msg.GetMsg(ctx, "NewRecord")); if (_M_AttributeSetInstance_ID > 0) { newEditContent = VAdvantage.Utility.Util.CleanMnemonic(Msg.GetMsg(ctx, "EditRecord")); } //column 1 obj.tableStucture += "<td style = 'visibility: hidden;'>"; obj.tableStucture += "<input type='checkbox' id='chkNewEdit_" + windowNo + "' ><label class='VIS_Pref_Label_Font'>" + newEditContent + "</label>"; obj.tableStucture += "</td>"; //column 2 obj.tableStucture += "<td>"; obj.tableStucture += "<button type='button' style='margin-bottom: 10px;' id='btnSelect_" + windowNo + "' role='button' aria-disabled='false'><img style='float: left;' src='~/Areas/VIS/Images/base/Delete24.PNG' /><span style='float: left;margin-left: 5px;margin-right: 5px;' >" + VAdvantage.Utility.Util.CleanMnemonic(Msg.GetMsg(ctx, "SelectExisting")) + "</span></button>"; obj.tableStucture += "</td>"; obj.tableStucture += "</tr>"; //Change 20-May-2015 Bharat var label = Msg.Translate(ctx, "AttrCode"); obj.tableStucture += "<tr>"; obj.tableStucture += "<td>"; obj.tableStucture += "<label style='padding-bottom: 10px; padding-right: 5px;' id=lot_" + windowNo + "' class='VIS_Pref_Label_Font'>" + label + "</label>"; obj.tableStucture += "</td>"; //column 2 obj.tableStucture += "<td>"; obj.tableStucture += "<input style='width: 100%;' id='txtAttrCode_" + windowNo + "' value='' class='VIS_Pref_pass' type='text'>"; obj.tableStucture += "</td>"; obj.tableStucture += "</tr>"; //Row 1 obj.tableStucture += "<tr>"; // All Attributes for (int i = 0; i < attributes.Length; i++) { obj.tableStucture = AddAttributeLine(attributes[i], _M_AttributeSetInstance_ID, true, false, windowNo, obj, i); } } // Lot if (!_productWindow && aset.IsLot()) { //column 1 var label = Msg.Translate(ctx, "Lot"); obj.tableStucture += "<td>"; obj.tableStucture += "<label style='padding-bottom: 10px; padding-right: 5px;' id=lot_" + windowNo + "' class='VIS_Pref_Label_Font'>" + label + "</label>"; obj.tableStucture += "</td>"; //column 2 obj.tableStucture += "<td>"; obj.tableStucture += "<input style='width: 100%;' id='txtLotString_" + windowNo + "' value='" + _masi.GetLot() + "' class='VIS_Pref_pass' type='text'>"; obj.tableStucture += "</td>"; obj.tableStucture += "</tr>"; //Row 1 if (!IsSOTrx || IsInternalUse == "N" || window_ID == 191 || window_ID == 140) { obj.tableStucture += "<tr>"; //column 1 label = Msg.Translate(ctx, "M_Lot_ID"); obj.tableStucture += "<td>"; obj.tableStucture += "<label style='padding-bottom: 10px; padding-right: 5px;' id=M_Lot_ID_" + windowNo + "' class='VIS_Pref_Label_Font'>" + label + "</label>"; obj.tableStucture += "</td>"; String sql = "SELECT M_Lot_ID, Name " + "FROM M_Lot l " + "WHERE EXISTS (SELECT M_Product_ID FROM M_Product p " + "WHERE p.M_AttributeSet_ID=" + _masi.GetM_AttributeSet_ID() + " AND p.M_Product_ID=l.M_Product_ID)"; KeyNamePair[] data = DB.GetKeyNamePairs(sql, true); //column 2 obj.tableStucture += "<td>"; obj.tableStucture += "<select style='width: 100%;margin-bottom: 10px;' id='cmbLot_" + windowNo + "'>"; obj.tableStucture += " <option selected value='" + 0 + "' > </option>"; for (int i = 1; i < data.Length; i++) { if (Convert.ToInt32(data[i].Key) == _masi.GetM_Lot_ID()) { obj.tableStucture += " <option selected value='" + data[i].Key + "' >" + data[i].Name + "</option>"; } else { obj.tableStucture += " <option value='" + data[i].Key + "' >" + data[i].Name + "</option>"; } } obj.tableStucture += "</select>"; obj.tableStucture += "</td>"; obj.tableStucture += "</tr>"; //Row 2 obj.tableStucture += "<tr>"; // New Lot Button if (_masi.GetMAttributeSet().GetM_LotCtl_ID() != 0) { if (MRole.GetDefault(ctx).IsTableAccess(MLot.Table_ID, false) && MRole.GetDefault(ctx).IsTableAccess(MLotCtl.Table_ID, false)) { if (!_masi.IsExcludeLot(AD_Column_ID, IsSOTrx))//_windowNoParent { //column 1 obj.tableStucture += "<td></td>"; //column 2 obj.tableStucture += "<td>"; obj.tableStucture += "<button type='button' style='margin-bottom: 10px;' id='btnLot_" + windowNo + "' role='button' aria-disabled='false'><span >" + VAdvantage.Utility.Util.CleanMnemonic(Msg.GetMsg(ctx, "New")) + "</span></button>"; obj.tableStucture += "</td>"; obj.tableStucture += "</tr>"; //Row 3 obj.tableStucture += "<tr>"; } } } } //mZoom = new System.Windows.Forms.ToolStripMenuItem(Msg.GetMsg(Env.GetContext(), "Zoom"), Env.GetImageIcon("Zoom16.gif")); //mZoom.Click += new EventHandler(mZoom_Click); //ctxStrip.Items.Add(mZoom); } // SerNo if (!_productWindow && aset.IsSerNo()) { //column 1 var label = Msg.Translate(ctx, "SerNo"); obj.tableStucture += "<td>"; obj.tableStucture += "<label style='padding-bottom: 10px; padding-right: 5px;' id=SerNo_" + windowNo + "' class='VIS_Pref_Label_Font'>" + label + "</label>"; obj.tableStucture += "</td>"; //column 2 // txtSerNo.Text = _masi.GetSerNo(); obj.tableStucture += "<td>"; obj.tableStucture += "<input style='width: 100%;' id='txtSerNo_" + windowNo + "' value='" + _masi.GetSerNo() + "' class='VIS_Pref_pass' type='text'>"; obj.tableStucture += "</td>"; obj.tableStucture += "</tr>"; //Row 1 obj.tableStucture += "<tr>"; // New SerNo Button if (_masi.GetMAttributeSet().GetM_SerNoCtl_ID() != 0) { if (MRole.GetDefault(ctx).IsTableAccess(MSerNoCtl.Table_ID, false)) { if (!_masi.IsExcludeSerNo(AD_Column_ID, IsSOTrx))//_windowNoParent { //column 1 obj.tableStucture += "<td></td>"; obj.tableStucture += "<td>"; obj.tableStucture += "<button type='button' style='margin-bottom: 10px;' id='btnSerNo_" + windowNo + "' role='button' aria-disabled='false'><span >" + VAdvantage.Utility.Util.CleanMnemonic(Msg.GetMsg(ctx, "New")) + "</span></button>"; obj.tableStucture += "</td>"; } obj.tableStucture += "</tr>"; //Row 2 obj.tableStucture += "<tr>"; } } } // SerNo //// GuaranteeDate if (!_productWindow && aset.IsGuaranteeDate()) { var dtpicGuaranteeDate = TimeUtil.AddDays(DateTime.Now, _prd.GetGuaranteeDays()); if (_M_AttributeSetInstance_ID > 0) { dtpicGuaranteeDate = (DateTime)(_masi.GetGuaranteeDate()); } var label = Msg.Translate(ctx, "GuaranteeDate"); //Column 1 obj.tableStucture += "<td>"; obj.tableStucture += "<label style='padding-bottom: 10px; padding-right: 5px;' id='guaranteeDate_" + windowNo + "' class='VIS_Pref_Label_Font'>" + label + "</label>"; obj.tableStucture += "</td>"; //Column 2 obj.tableStucture += "<td>"; //obj.tableStucture += "<input style='width: 100%;' value='" + String.Format("{0:yyyy-MM-dd}", dtpicGuaranteeDate) + "' type='date' id='dtpicGuaranteeDate_" + windowNo + "' class='VIS_Pref_pass'/>"; obj.tableStucture += "<input style='width: 100%;' value='" + String.Format("{0:yyyy-MM-dd}", dtpicGuaranteeDate) + "' type='date' id='dtpicGuaranteeDate_" + windowNo + "' class='VIS_Pref_pass'/>"; obj.tableStucture += "</td>"; obj.tableStucture += "</tr>"; //Row 2 obj.tableStucture += "<tr>"; } //string[] sep = new string[1]; //sep[0] = "<tr>"; //sep = obj.tableStucture.Split(sep, StringSplitOptions.RemoveEmptyEntries); //if (sep.Length <= 3) //{ // obj.Error = "PAttributeNoInfo"; // obj.IsReturnNull = true; // return null; //} // New/Edit Window if (!_productWindow) { //chkNewEdit.IsChecked = _M_AttributeSetInstance_ID == 0; } // Attrribute Set Instance Description //Column 1 var label1 = Msg.Translate(ctx, "Description"); obj.tableStucture += "<td>"; obj.tableStucture += "<label style='padding-bottom: 10px; padding-right: 5px;' id='description_" + windowNo + "' class='VIS_Pref_Label_Font'>" + label1 + "</label>"; obj.tableStucture += "</td>"; //Column 2 obj.tableStucture += "<td>"; obj.tableStucture += "<input style='width: 100%;' readonly id='txtDescription_" + windowNo + "' value='" + _masi.GetDescription() + "' class='VIS_Pref_pass vis-gc-vpanel-table-readOnly' type='text'>"; obj.tableStucture += "</td>"; obj.tableStucture += "</tr>"; //Add Ok and Cancel button //Last row obj.tableStucture += "<tr>"; obj.tableStucture += "<td style='text-align:right' colspan='2'>"; obj.tableStucture += "<button style='margin-bottom:0px;margin-top:0px; float:right' type='button' class='VIS_Pref_btn-2' style='float: right;' id='btnCancel_" + windowNo + "' role='button' aria-disabled='false'>" + VAdvantage.Utility.Util.CleanMnemonic(Msg.GetMsg(ctx, "Cancel")) + "</button>"; obj.tableStucture += "<button style='margin-bottom:0px;margin-top:0px; float:right; margin-right: 10px;' type='button' class='VIS_Pref_btn-2' style='float: right; margin-right: 10px;' id='btnOk_" + windowNo + "' role='button' aria-disabled='false'>" + VAdvantage.Utility.Util.CleanMnemonic(Msg.GetMsg(ctx, "OK")) + "</button>"; obj.tableStucture += "</td>"; obj.tableStucture += "</tr>"; obj.tableStucture += "</table>"; if (obj.ControlList != null) { if (obj.ControlList.Length > 1) { obj.ControlList = obj.ControlList.Substring(0, obj.ControlList.Length - 1); } ; } return(obj); }
public List <String> GetAttribute(int _M_AttributeSetInstance_ID, int _M_Product_ID, bool _productWindow, int windowNo, Ctx ctx, int AD_Column_ID, int attrcode) { List <String> attrValues = new List <String>(); int attr_ID = 0; StringBuilder sql = new StringBuilder(); MAttributeSet aset = null; MAttribute[] attributes = null; MAttributeSetInstance _masi = MAttributeSetInstance.Get(ctx, _M_AttributeSetInstance_ID, _M_Product_ID); // Get Attribute Set aset = _masi.GetMAttributeSet(); // Product has no Attribute Set if (aset == null) { Msg.GetMsg("PAttributeNoAttributeSet", null); return(null);; } string attrsetQry = @"SELECT ats.M_AttributeSet_ID FROM M_ProductAttributes patr LEFT JOIN M_AttributeSetInstance ats ON (patr.M_AttributeSetInstance_ID=ats.M_AttributeSetInstance_ID) where patr.UPC='" + attrcode + "'"; int attributeSet = Util.GetValueOfInt(DB.ExecuteScalar(attrsetQry)); if (attributeSet != aset.Get_ID()) { return(null); } //// Product has no Instance Attributes //if (!_productWindow && !aset.IsInstanceAttribute()) //{ // Dispatcher.BeginInvoke(() => Classes.ShowMessage.Error("PAttributeNoInstanceAttribute", null)); // //ADialog.error(m_WindowNo, this, "PAttributeNoInstanceAttribute"); // return; //} if (_productWindow) { attributes = aset.GetMAttributes(false); log.Fine("Product Attributes=" + attributes.Length); } else { attributes = aset.GetMAttributes(true); } if (attributes.Length > 0) { string attrQry = @"SELECT ats.M_Attribute_ID,ats.M_AttributeValue_ID,ats.Value,att.attributevaluetype FROM M_ProductAttributes patr LEFT JOIN M_AttributeInstance ats ON (patr.M_AttributeSetInstance_ID=ats.M_AttributeSetInstance_ID) inner join M_attributesetinstance ast ON (patr.M_AttributeSetInstance_ID=ast.M_AttributeSetInstance_ID) LEFT JOIN M_Attribute att ON ats.M_Attribute_ID=att.M_Attribute_ID where patr.UPC='" + attrcode + "' AND ast.M_AttributeSet_ID = " + _masi.GetM_AttributeSet_ID() + " Order By ats.M_Attribute_ID"; DataSet ds = null; try { ds = DB.ExecuteDataset(attrQry, null, null); if (ds != null) { if (ds.Tables[0].Rows.Count > 0) { for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { if (Util.GetValueOfString(ds.Tables[0].Rows[i]["AttributeValueType"]) == "L") { attrValues.Add(Util.GetValueOfString(ds.Tables[0].Rows[i]["M_AttributeValue_ID"])); } else { attrValues.Add(Util.GetValueOfString(ds.Tables[0].Rows[i]["Value"])); } } ds.Dispose(); } else { ds.Dispose(); } } else { ds.Dispose(); } } catch { } finally { ds.Dispose(); } } if (attrValues.Count == 0) { attrValues.Add(""); } return(attrValues); }