public override void Calculate(ObjectProperties Item, string FieldName, ObjectCalulatorCalculateType CalculateType) { base.Calculate(Item, FieldName, CalculateType); if (CalculateType == ObjectCalulatorCalculateType.Initialize) { Item.SF("STATE", "ID <> 1"); TYPE(Item); RATE(Item); } if (CalculateType == ObjectCalulatorCalculateType.Calculate) { switch (FieldName) { case "PRICEFROMAGENT": case "PRICEFORCLIENT": Item.SVC("PROFIT", Item.AsDbl("PRICEFORCLIENT") - Item.AsDbl("PRICEFROMAGENT")); break; case "TYPE": TYPE(Item); break; case "AGENTCURRENCY": RATE(Item); break; case "PROFIT": Item.SS("PROFIT", CalulatorFieldState.Manual); break; } } }
private void TAG(ObjectProperties Item) { if (Item.AsInt("TYPE") != 3) { Item.SM("TAG", "r:phone"); } else { Item.SM("TAG", null); } }
private void RATE(ObjectProperties Item) { if (Item.AsInt("AGENTCURRENCY") != 0) { Item.SR("RATE", false); } else { Item.SV("RATE", 1); Item.SR("RATE", true); } }
private void TYPE(ObjectProperties Item) { if (DbContext.GetScalarInt("SELECT TYPE FROM DEAL_TYPE WHERE ID = {0}", Item.GV("TYPE")) == 1) { Item.SR("VISA_COUNTRY", false); Item.SR("VISA_DURATION", false); } else { Item.SV("VISA_COUNTRY", System.DBNull.Value); Item.SV("VISA_DURATION", System.DBNull.Value); Item.SR("VISA_COUNTRY", true); Item.SR("VISA_DURATION", true); } }
public void Load(ObjectProperties ObjectProperties) { if (_dataTable != null) { _dataTable.Fill(string.Format("TABLE_NAME = '{0}' AND OBJID = {1}", ObjectProperties.tableContext.XOTable.Source, ObjectProperties.GetValue(ObjectProperties.tableContext.PkFieldName))); foreach (var r in _dataTable.Rows.Cast<System.Data.DataRow>() .Select(p => new { state = p.Field<string>("STATE"), fields = p.Field<string>("COLS").Split(',') })) { foreach (string field in r.fields) { ObjectProperties.SetState(field, r.state); } } _dataTable.Clear(); } }
public override void Calculate(ObjectProperties Item, string FieldName, ObjectCalulatorCalculateType CalculateType) { base.Calculate(Item, FieldName, CalculateType); if (CalculateType == ObjectCalulatorCalculateType.Initialize) { TAG(Item); } if (CalculateType == ObjectCalulatorCalculateType.Calculate) { switch (FieldName) { case "TYPE": TAG(Item); break; } } }
public void Save(ObjectProperties ObjectProperties) { if (ObjectProperties[ObjectProperties.STATE_PROP_NAME] != null) { _dataTable.Fill(string.Format("TABLE_NAME = '{0}' AND OBJID = {1}", ObjectProperties.tableContext.Source, ObjectProperties.GetValue(ObjectProperties.tableContext.PkFieldName))); foreach (System.Data.DataRow dataRow in _dataTable.Rows.Cast<System.Data.DataRow>()) { dataRow.Delete(); } foreach (var r in ObjectProperties[ObjectProperties.STATE_PROP_NAME].value.GroupBy(p => p.value). Select(p => new { state = p.Key, fields = p.Select(s=>s.key).ToString(",") })) { _dataTable.Rows.Add(ObjectProperties.tableContext.Source, r.state, ObjectProperties.GetValue(ObjectProperties.tableContext.PkFieldName), r.fields); } _dataTable.Update(); _dataTable.Clear(); } }
public void Merge(ObjectProperties ObjectProperties) { foreach (var r in ObjectProperties) { foreach (var i in r.value.value) { if (i.value != null) this[r.key, i.key] = i.value; } } }