private Int32 ResolveProperty(PageExample example, PageEvaluataion page, ControlEvaluataion control) { var dynamicTotlal = 0; foreach (var property in control.Propertys) { if (!String.IsNullOrEmpty(property.OrignalScript)) { try { var scripts = ScriptUtility.GetMatchedScriptFromProperty(property.OrignalScript); foreach (Match script in scripts) { property.OrignalScript = property.OrignalScript.Replace( script.Value, PropertyValueTransform.TransformToScript(page, script.Value)); } ComplieScript(property); dynamicTotlal++; } catch (Exception ex) { PageLogger.RecordErrorLog("ResolvePageProperty", ex); } } } return dynamicTotlal; }
private bool IsExpired(PageExample page) { TimeSpan span = DateTime.Now - page.LastVisit; if (span.TotalSeconds > Parameters["Exipred"]) return true; return false; }
private void AddControlResponse(PageExample example, String eventParameter, KeyValuePair<string, Dictionary<string, string>> updateControl) { var controlResponse = new ControlResponse(); controlResponse.ControlId = updateControl.Key; var resultValue = new List<PropertyResponse>(); var updatePropertyList = updateControl.Value; AddPropertyResponse(example, eventParameter, updateControl, resultValue, updatePropertyList); controlResponse.AddPropertyResponses(resultValue); example.Response.AddControlResponse(controlResponse); }
private void ResolvePage(PageExample example) { var propertyTotlal = 0; var eventTotlal = 0; var page = example.Evaluataion; PageParameterTransform.TransformToPropertyEvaluataion(page); foreach (var control in page.PageControls) { propertyTotlal += ResolveProperty(example, page, control); eventTotlal += ResolveEvent(example, page, control); } page.IsResolved = true; PageLogger.RecordInfoLog(String.Format("Resolve Page script property = {0}, event = {1} ", propertyTotlal, eventTotlal)); }
public PageExample AddPageExample(AchieveRequest request, Int32 adminIdx) { var context = PageContextMaintenance.Instance.GetPageContext(request, adminIdx); var example = new PageExample(); example.Expression = context.Expression.Clone() as PageExpression; example.Expression.InstanceId = request.InstanceId; example.Evaluataion = context.Evaluataion.Clone() as PageEvaluataion; example.InstanceId = request.InstanceId; example.Response = new PageResponse(); example.Response.InstanceId = request.InstanceId; m_PageExamples.TryAdd(example.InstanceId, example); PageResolveParameterce.Instance.Resolve(example); return example; }
private Boolean IsCanEvaluation(PageExample example) { var result = false; if (example.Evaluataion.PageControls.Count > 0 && example.Evaluataion.IsResolved && !example.Evaluataion.IsEvaluating) { var user = UserInfoMaintenance.Instance[example.Evaluataion.InputUserName]; if (user != null && user.Token == example.Evaluataion.InputUserToken) { result = true; } } return result; }
private void AddPropertyResponse(PageExample example, String eventParameter, KeyValuePair<string, Dictionary<string, string>> updateControl, List<PropertyResponse> resultValue, Dictionary<string, string> updatePropertyList) { foreach (var updateProperty in updatePropertyList) { var valueResponse = new PropertyResponse(); valueResponse.Name = updateProperty.Key; valueResponse.Value = updateProperty.Value; valueResponse.Type = FindPropertyType(example, updateControl.Key, updateProperty.Key); if (ScriptUtility.IsEvaluateScript(updateProperty.Value)) { EvaluateScript(example, eventParameter, updateProperty, updateControl); } else { resultValue.Add(valueResponse); } } }
private void EvaluatePage(PageExample example) { var response = example.Response; var page = example.Evaluataion; foreach (var control in page.PageControls) { try { var propertys = EvaluateProperty(control); if (propertys.Count > 0) { var tempControl = ControlEvaluataionTransform.TransformToPropertyEvaluataion(control); tempControl.AddPropertyResponses(propertys); response.AddControlResponse(tempControl); } } catch (Exception ex) { PageLogger.RecordErrorLog("EvaluatePageParameter", ex); } } page.IsEvaluating = false; }
private void EvaluateScript(PageExample example, String eventParameter, KeyValuePair<String, String> updateProperty, KeyValuePair<String, Dictionary<String, String>> updateControl) { var parameters = ParameterTypeMapScritptUtility.ParseParameter(eventParameter); var control = FindControl(example, updateControl.Key); var property = FindProperty(example, control, updateProperty.Key); var script = ScriptUtility.TrimScript(updateProperty.Value); var scripts = ScriptUtility.GetMatchedScriptFromProperty(script); var page = example.Evaluataion.Clone() as PageEvaluataion; foreach (var parameter in parameters) { var tempparameter = page.PageParameters.FirstOrDefault(p => p.Name == parameter.Key); if (tempparameter != null) { tempparameter.Value = parameter.Value; } else { tempparameter = new PageParameter(); tempparameter.Name = parameter.Key; tempparameter.Value = parameter.Value; tempparameter.Type = ParameterTypeMapScritptUtility.MapToType(parameter.Key).ToString(); page.PageParameters.Add(tempparameter); } } foreach (Match matchScript in scripts) { script = script.Replace( matchScript.Value, PropertyValueTransform.TransformToScript(page, matchScript.Value)); } var code = EngineUtility.CompileExpression(script); property.CompiledScript = code; property.OrignalScript = updateProperty.Value; }
private Int32 ResolveEvent(PageExample example, PageEvaluataion page, ControlEvaluataion control) { var dynamicTotlal = 0; foreach (var events in control.Events) { if (!String.IsNullOrEmpty(events.OrignalScript)) { try { events.OrignalScript = EventValueTransform.TransformToScript(page, example.InstanceId, control.ControlId, events.Name, events.OrignalScript); ComplieScript(events); dynamicTotlal++; } catch (Exception ex) { PageLogger.RecordErrorLog("ResolvePageProperty", ex); } } } return dynamicTotlal; }
public void Resolve(PageExample example) { m_ResolvePort.Post(example); }
private String FindPropertyType(PageExample example, String controlId, String propertyId) { var result = PropertyValueType.str.ToString(); var control = example.Evaluataion.FindControl(controlId); if (control != null) { var property = control.Propertys.FirstOrDefault(p => p.Name == propertyId); if (property != null) { return property.Type; } } var eControl = example.Expression.FindControl(controlId); if (eControl != null) { var property = eControl.Properties.FirstOrDefault(p => p.Name == propertyId); if (property != null) { return property.Type; } } return result; }
private PropertyEvaluataion FindProperty(PageExample example, ControlEvaluataion control, String propertyId) { var property = control.Propertys.FirstOrDefault(p => p.Name == propertyId); if (property == null) { property = new PropertyEvaluataion(); property.Name = propertyId; property.Type = PropertyValueType.str.ToString(); property.OrignalScript = String.Empty; } return property; }
private ControlEvaluataion FindControl(PageExample example, String controlId) { var control = example.Evaluataion.PageControls.FirstOrDefault(c => c.ControlId == controlId); if (control == null) { control = new ControlEvaluataion(); control.ControlId = controlId; example.Evaluataion.PageControls.Add(control); } return control; }
public void Evaluate(PageExample example) { m_EvaluataionPort.Post(example); }