/// <summary> /// Load genral attribute /// </summary> /// <param name="mAttributeSetInstanceId"></param> /// <param name="vadms_AttributeSet_ID"></param> /// <param name="windowNo"></param> /// <param name="ctx"></param> /// <returns></returns> public AttributesObjects LoadInit(int mAttributeSetInstanceId, int vadms_AttributeSet_ID, int windowNo, Ctx ctx, HttpServerUtilityBase objBase) { AttributesObjects obj = new AttributesObjects(); MGenAttributeSet aset = null; MGenAttribute[] attributes = null; // Get Model var _masi = new MGenAttributeSetInstance(ctx, mAttributeSetInstanceId, null); _masi.SetC_GenAttributeSet_ID(vadms_AttributeSet_ID); if (_masi == null) { // log.Severe("No Model for M_AttributeSetInstance_ID=" + _M_AttributeSetInstance_ID + ", M_Product_ID=" + _M_Product_ID); return(null); } /* set context to client side */ ctx.SetContext(windowNo, "C_GenAttributeSet_ID", _masi.GetC_GenAttributeSet_ID()); // Get Attribute Set aset = _masi.GetMGenAttributeSet(); // Product has no Attribute Set if (aset == null) { obj.IsReturnNull = true; obj.Error = "GenAttributeNoAttributeSet"; return(obj); } attributes = aset.GetCGenAttributes(false); for (int i = 0; i < attributes.Length; i++) { MGenAttribute a = attributes[i]; MGenAttributeInstance ins = a.GetCGenAttributeInstance(mAttributeSetInstanceId); MGenAttributeValue[] v = null; if (MGenAttribute.ATTRIBUTEVALUETYPE_List.Equals(a.GetAttributeValueType())) { v = a.GetMAttributeValues(); } attributesList[a] = new KeyValuePair <MGenAttributeInstance, MGenAttributeValue[]>(ins, v); } //Row 0 obj.tableStucture = "<table style='width: 100%;'><tr>"; for (int i = 0; i < attributes.Length; i++) { obj.tableStucture = AddAttributeLine(attributes[i], false, windowNo, obj, i); } // 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' 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'>" + 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'>" + 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); }
/// <summary> /// Table line structure /// </summary> /// <param name="attribute"></param> /// <param name="product"></param> /// <param name="readOnly"></param> private string AddAttributeLine(MGenAttribute attribute, bool readOnly, int windowNo, AttributesObjects obj, int count) { //Column 1 obj.tableStucture += "<td>"; obj.tableStucture += "<label style='padding-bottom: 10px; padding-right: 5px;' class='VIS_Pref_Label_Font' id=" + attribute.GetName().Replace(" ", "") + "_" + windowNo + " >" + attribute.GetName() + "</label>"; obj.tableStucture += "</td>"; MGenAttributeInstance instance = attributesList[attribute].Key; if (MGenAttribute.ATTRIBUTEVALUETYPE_List.Equals(attribute.GetAttributeValueType())) { MGenAttributeValue[] values = attributesList[attribute].Value; //Column 2 obj.tableStucture += "<td>"; if (readOnly) { obj.tableStucture += "<select style='width: 100%;' class='VIS_Pref_pass' readonly id='cmb_" + count + "_" + windowNo + "'>"; } else { obj.tableStucture += "<select style='width: 100%;' class='VIS_Pref_pass' id='cmb_" + count + "_" + windowNo + "'>"; } obj.ControlList += "cmb_" + count + "_" + windowNo + ","; bool found = false; if (instance != null) { for (int i = 0; i < values.Length; i++) { if (values[i] == null && i == 0) { obj.tableStucture += " <option value='0' > </option>"; } else if (values[i] != null) { if (values[i].GetC_GenAttributeValue_ID() == instance.GetC_GenAttributeValue_ID()) { obj.tableStucture += " <option selected value='" + values[i].GetC_GenAttributeValue_ID() + "' >" + values[i].GetName() + "</option>"; } else { obj.tableStucture += " <option value='" + values[i].GetC_GenAttributeValue_ID() + "' >" + values[i].GetName() + "</option>"; } } } if (found) { log.Fine("Attribute=" + attribute.GetName() + " #" + values.Length + " - found: " + instance); } else { log.Warning("Attribute=" + attribute.GetName() + " #" + values.Length + " - NOT found: " + instance); } } else { //if instance value is null for (int i = 0; i < values.Length; i++) { if (values[i] == null && i == 0) { obj.tableStucture += " <option value='0' > </option>"; } else if (values[i] != null) { obj.tableStucture += " <option value='" + values[i].GetC_GenAttributeValue_ID() + "' >" + values[i].GetName() + "</option>"; } } log.Fine("Attribute=" + attribute.GetName() + " #" + values.Length + " no instance"); } obj.tableStucture += "</select>"; obj.tableStucture += "</td>"; } else if (MGenAttribute.ATTRIBUTEVALUETYPE_Number.Equals(attribute.GetAttributeValueType())) { //Column 2 obj.tableStucture += "<td>"; var instanceValue = 0.0M; if (instance != null) { instanceValue = instance.GetValueNumber(); } if (readOnly) { obj.tableStucture += "<input style='width: 100%;' class='VIS_Pref_pass' readonly id='txt" + attribute.GetName().Replace(" ", "") + "_" + windowNo + "' value='" + instanceValue + "' class='' type='number'>"; } else { obj.tableStucture += "<input style='width: 100%;' class='VIS_Pref_pass' id='txt" + attribute.GetName().Replace(" ", "") + "_" + windowNo + "' value='" + instanceValue + "' class='' type='number'>"; } obj.ControlList += "txt" + attribute.GetName().Replace(" ", "") + "_" + windowNo + ","; obj.tableStucture += "</td>"; } else // Text Field { //Column 2 obj.tableStucture += "<td>"; var val = ""; if (instance != null) { val = instance.GetValue(); } if (readOnly) { obj.tableStucture += "<input style='width: 100%;' class='VIS_Pref_pass' readonly id='txt" + attribute.GetName().Replace(" ", "") + "_" + windowNo + "' value='" + val + "' class='' type='text'>"; } else { obj.tableStucture += "<input style='width: 100%;' class='VIS_Pref_pass' id='txt" + attribute.GetName().Replace(" ", "") + "_" + windowNo + "' value='" + val + "' class='' type='text'>"; } obj.ControlList += "txt" + attribute.GetName().Replace(" ", "") + "_" + windowNo + ","; obj.tableStucture += "</td>"; } obj.tableStucture += "</tr>"; //Row Add obj.tableStucture += "<tr>"; return(obj.tableStucture); }