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;
 }
Example #3
0
 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;
 }
Example #7
0
 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;
 }
Example #9
0
 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);
 }
Example #12
0
 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;
 }
Example #13
0
 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;
 }
Example #14
0
 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);
 }