/// <summary> /// Code to fetch positions based on supplier proposalID for price comparision module /// </summary> /// <param name="ObjESupplier"></param> /// <param name="_IsCalculate"></param> /// <returns></returns> public ESupplier GetProposalPostions(ESupplier ObjESupplier, bool _IsCalculate = true) { try { ObjESupplier = ObjDSupplier.GetProposalPostions(ObjESupplier); ObjESupplier.dtPositions.Columns["Cheapest"].Caption = "Niedrigstpreis"; DataTable dtTemp = ObjESupplier.dtPositions.Clone(); ChangeCultureInfo(dtTemp); foreach (DataColumn dc in dtTemp.Columns) { if (dc.ColumnName.Contains("Check")) { dc.DataType = System.Type.GetType("System.Boolean"); dc.Caption = ""; } else if (dtTemp.Columns[dc.ColumnName + "Check"] != null) { dc.DataType = System.Type.GetType("System.Decimal"); } else if (dc.ColumnName.Contains("Multi")) { dc.DataType = System.Type.GetType("System.Decimal"); } } foreach (DataRow dr in ObjESupplier.dtPositions.Rows) { dtTemp.ImportRow(dr); } ObjESupplier.dtPositions = new DataTable(); ChangeCultureInfo(ObjESupplier.dtPositions); ObjESupplier.dtPositions = dtTemp.Copy(); ObjESupplier.dtPositions.Columns.Add("SID", typeof(int)); int iindex = 0; foreach (DataRow dr in ObjESupplier.dtPositions.Rows) { iindex++; dr["SID"] = iindex; } if (_IsCalculate) { ObjESupplier = CalculateCheapestValues(ObjESupplier); } } catch (Exception ex) { throw; } return(ObjESupplier); }