private void SaveInjection() { try { var ctlModule = new InjectionController(); InjectionInfo objInj = null; objInj = !string.IsNullOrEmpty(hidInjectionId.Value) ? ctlModule.GetInjectionContent(int.Parse(hidInjectionId.Value)) : new InjectionInfo(); PopulateInjectionForSave(ref objInj); if (!string.IsNullOrEmpty(hidInjectionId.Value)) { ctlModule.UpdateInjectionContent(objInj); } else { ctlModule.AddInjectionContent(objInj); } } catch (Exception ex) { HandleException(ex); } }
public static InjectionType GetInjectionType(InjectionInfo injection) { Requires.NotNull("injection", injection); var isHtmlType = IsHtmlInjectionType(injection); if (isHtmlType && injection.InjectTop) { return(InjectionType.HtmlTop); } else if (isHtmlType && !injection.InjectTop) { return(InjectionType.HtmlBottom); } if (injection.InjectContent.EndsWith(".js")) { return(InjectionType.JavaScript); } if (Regex.IsMatch(injection.InjectContent, CSS_PATTERN, RegexOptions.IgnoreCase)) { return(InjectionType.CSS); } throw new ArgumentOutOfRangeException("InjectionType", "InjectionType parameters do not match a known injection type."); }
public InjectionInfo GetInjectionContent(int InjectionContentId) { InjectionInfo objInj = new InjectionInfo(); objInj.Fill(DataProvider.Instance().GetInjectionContent(InjectionContentId)); return(objInj); }
private static bool IsHtmlInjectionType(InjectionInfo injection) { if (injection.CustomProperties.Any(p => p.Name == InjectionInfoMembers.InjectionTypeField)) { return (injection.CustomProperties.FirstOrDefault(p => p.Name == InjectionInfoMembers.InjectionTypeField) .Value == "1"); } return(true); }
public static int GetCrmPriority(InjectionInfo injection) { Requires.NotNull("injection", injection); Requires.NotNull("injection.CustomProperties", injection.CustomProperties); if (!injection.CustomProperties.Any(p => p.Name == InjectionInfoMembers.CrmPriorityField)) return Null.NullInteger; var priorityInput = injection.CustomProperties.FirstOrDefault(p => p.Name == InjectionInfoMembers.CrmPriorityField).Value; return GetCrmPriority(priorityInput); }
public object Get(Type type, ParameterList parameterList) { if (!injectionHash.ContainsKey(type.FullName)) { return(null); } InjectionInfo injectionInfo = injectionHash[type.FullName] as InjectionInfo; Type serviceType = injectionInfo.ServiceType; if (injectionInfo.Instance != null) { return(injectionInfo.Instance); } if (parameterList == null) { parameterList = new ParameterList(); } object instance; if (injectionInfo.CreationFunc != null) { instance = injectionInfo.CreationFunc(type, this, parameterList); } else { ConstructorInfo constInfo = GetConstructorInfo(injectionInfo, parameterList); object[] parameters = GetConstructorParameterList(type, constInfo, parameterList); instance = constInfo.Invoke(parameters); } if (injectionInfo.IsSingleton) { injectionInfo.Instance = instance; } if (injectionInfo.IsPropertiesAutowired) { InjectProperty(instance, parameterList); } if (injectionInfo.PostFunc != null) { injectionInfo.PostFunc(type, instance, this, parameterList); } return(instance); }
public void Into_Condition_Correct() { //Arrange IBinder binder = new Binder(); InjectionInfo Context = new InjectionInfo(); Context.parentType = typeof(object); //Act binder.Bind <object>().As(1).Into(typeof(object)); //Assert Assert.AreEqual( true, binder.GetBinding <object>(1).condition(Context)); }
public static string GetCrmProvider(InjectionInfo injection) { Requires.NotNull("injection", injection); Requires.NotNull("injection.CustomProperties", injection.CustomProperties); if (!injection.CustomProperties.Any(p => p.Name == InjectionInfoMembers.CrmProviderField)) { return(string.Empty); } var provider = injection.CustomProperties.FirstOrDefault(p => p.Name == InjectionInfoMembers.CrmProviderField).Value; return(GetCrmProvider(provider)); }
public void ImportModule(int ModuleID, string Content, string Version, int UserID) { try { var injContents = DotNetNuke.Common.Globals.GetContent(Content, "//injectionContents"); foreach (XmlNode injContent in injContents.SelectNodes("//injectionContent")) { var objInj = new InjectionInfo(); objInj.ModuleId = ModuleID; if ((injContent.SelectSingleNode("injectTop") != null)) { objInj.InjectTop = bool.Parse(injContent.SelectSingleNode("injectTop").InnerText); } if ((injContent.SelectSingleNode("injectName") != null)) { objInj.InjectName = injContent.SelectSingleNode("injectName").InnerText; } if ((injContent.SelectSingleNode("injectContent") != null)) { objInj.InjectContent = injContent.SelectSingleNode("injectContent").InnerText; } if ((injContent.SelectSingleNode("isEnabled") != null)) { objInj.IsEnabled = bool.Parse(injContent.SelectSingleNode("isEnabled").InnerText); } if ((injContent.SelectSingleNode("orderShown") != null)) { objInj.OrderShown = int.Parse(injContent.SelectSingleNode("orderShown").InnerText, System.Globalization.NumberStyles.Integer); } if ((injContent.SelectSingleNode("customProperties") != null)) { objInj.CustomProperties = (List <CustomPropertyInfo>)injContent.SelectSingleNode("customProperties").InnerText.FromJson(typeof(CustomPropertyInfo)); } AddInjectionContent(objInj); } } catch (Exception ex) { Exceptions.LogException(ex); } }
public static int GetCrmPriority(InjectionInfo injection) { Requires.NotNull("injection", injection); Requires.NotNull("injection.CustomProperties", injection.CustomProperties); if (!injection.CustomProperties.Any(p => p.Name == InjectionInfoMembers.CrmPriorityField)) { return(Null.NullInteger); } var priorityInput = injection.CustomProperties.FirstOrDefault(p => p.Name == InjectionInfoMembers.CrmPriorityField).Value; return(GetCrmPriority(priorityInput)); }
public void When_Condition_Correct() { //Arrange IBinder binder = new Binder(); InjectionInfo Context = new InjectionInfo(); object o = new object(); Context.id = o; //Act binder.Bind <object>().As(1).When((context) => { return(context.id == o); }); //Assert Assert.AreEqual( true, binder.GetBinding <object>(1).condition(Context)); }
public object Create(InjectionInfo context) { var cube = this.container.Resolve <Cube>(); var rotator = cube.gameObject.AddComponent <Rotator>(); rotator.speed = Random.Range(0.05f, 5.0f); cube.color = new Color(Random.Range(0, 1.0f), Random.Range(0, 1.0f), Random.Range(0, 1.0f)); var transform = cube.GetComponent <Transform>(); transform.position = new Vector3(1.5f * this.currentColumn++, -1.5f * this.currentLine, 0); if (this.currentColumn >= MAX_COLUMNS) { this.currentLine++; this.currentColumn = 0; } return(cube.gameObject); }
private ConstructorInfo GetConstructorInfo(InjectionInfo injectionInfo, ParameterList parameterList) { ConstructorInfo targetConstInfo = injectionInfo.ServiceConstructor; if (targetConstInfo != null) { return(targetConstInfo); } int maxCount = 0; int count = 0; foreach (ConstructorInfo constInfo in injectionInfo.ServiceType.GetConstructors()) { count = 0; foreach (ParameterInfo paramInfo in constInfo.GetParameters()) { if (parameterList.ContainsKey(injectionInfo.ImplementType, paramInfo.Name) && IsCast(parameterList[injectionInfo.ImplementType, paramInfo.Name].GetType(), paramInfo.ParameterType)) { count++; } else if (Has(paramInfo.ParameterType)) { count++; } } if (count > maxCount) { targetConstInfo = constInfo; maxCount = count; } } return(targetConstInfo); }
virtual public object Create(InjectionInfo context) { return(this); }
public void ImportModule(int ModuleID, string Content, string Version, int UserID) { try { var injContents = DotNetNuke.Common.Globals.GetContent(Content, "//injectionContents"); foreach (XmlNode injContent in injContents.SelectNodes("//injectionContent")) { var objInj = new InjectionInfo(); objInj.ModuleId = ModuleID; if ((injContent.SelectSingleNode("injectTop") != null)) { objInj.InjectTop = bool.Parse(injContent.SelectSingleNode("injectTop").InnerText); } if ((injContent.SelectSingleNode("injectName") != null)) { objInj.InjectName = injContent.SelectSingleNode("injectName").InnerText; } if ((injContent.SelectSingleNode("injectContent") != null)) { objInj.InjectContent = injContent.SelectSingleNode("injectContent").InnerText; } if ((injContent.SelectSingleNode("isEnabled") != null)) { objInj.IsEnabled = bool.Parse(injContent.SelectSingleNode("isEnabled").InnerText); } if ((injContent.SelectSingleNode("orderShown") != null)) { objInj.OrderShown = int.Parse(injContent.SelectSingleNode("orderShown").InnerText, System.Globalization.NumberStyles.Integer); } if ((injContent.SelectSingleNode("customProperties") != null)) { objInj.CustomProperties = (List<CustomPropertyInfo>)injContent.SelectSingleNode("customProperties").InnerText.FromJson(typeof(CustomPropertyInfo)); } AddInjectionContent(objInj); } } catch (Exception ex) { Exceptions.LogException(ex); } }
private void BindForm(int ItemId) { var ctlModule = new InjectionController(); var injection = new InjectionInfo(); injection = ctlModule.GetInjectionContent(ItemId); txtName.Text = injection.InjectName; txtContent.Text = Server.HtmlDecode(injection.InjectContent); radInject.ClearSelection(); if (injection.InjectTop) { radInject.Items.FindByText(GetLocalizedString("radInject.0.Text")).Selected = true; } else { radInject.Items.FindByText(GetLocalizedString("radInject.1.Text")).Selected = true; } chkEnabled.Checked = injection.IsEnabled; hidInjectionId.Value = injection.InjectionId.ToString(); cvName.Enabled = false; cmdDelete.Visible = !string.IsNullOrEmpty(hidInjectionId.Value); if (injection.CustomProperties.Any(p => p.Name == InjectionInfoMembers.CrmPriorityField)) { var priorityLevel = injection.CustomProperties.FirstOrDefault(p => p.Name == InjectionInfoMembers.CrmPriorityField).Value; txtCrmPriority.Text = (priorityLevel == "-1") ? string.Empty : priorityLevel; } if (injection.CustomProperties.Any(p => p.Name == InjectionInfoMembers.CrmProviderField)) { var provider = injection.CustomProperties.FirstOrDefault(p => p.Name == InjectionInfoMembers.CrmProviderField).Value; ddlCrmProvider.ClearSelection(); ddlCrmProvider.SelectedIndex = int.Parse(provider); } if (injection.CustomProperties.Any(p => p.Name == InjectionInfoMembers.LastUpdatedByField)) { var updatedBy = injection.CustomProperties.FirstOrDefault(p => p.Name == InjectionInfoMembers.LastUpdatedByField); var updatedDate = injection.CustomProperties.FirstOrDefault(p => p.Name == InjectionInfoMembers.LastUpdatedDateField); var user = UserController.GetUserById(PortalSettings.PortalId, int.Parse(updatedBy.Value, NumberStyles.Integer)); lblAudit.Text = string.Format(GetLocalizedString("lblAudit"), user.DisplayName, updatedDate.Value); } if (injection.CustomProperties.Any(p => p.Name == InjectionInfoMembers.InjectionTypeField)) { var intType = int.Parse( injection.CustomProperties.FirstOrDefault(p => p.Name == InjectionInfoMembers.InjectionTypeField) .Value); radType.SelectedIndex = intType; } else { // the default for existing injections is 1 because JS/CSS wasn't an option in the past radType.SelectedIndex = 1; } ToggleType(); }
private void PopulateInjectionForSave(ref InjectionInfo injection) { var security = new PortalSecurity(); injection.InjectContent = Server.HtmlEncode(txtContent.Text); injection.InjectName = security.InputFilter(txtName.Text, PortalSecurity.FilterFlag.NoMarkup); injection.InjectTop = radInject.Items.FindByText(GetLocalizedString("radInject.0.Text")).Selected; injection.IsEnabled = chkEnabled.Checked; injection.ModuleId = ModuleId; if (injection.CustomProperties.Any(p => p.Name == InjectionInfoMembers.InjectionTypeField)) { // update the existing injection type injection.CustomProperties.FirstOrDefault(p => p.Name == InjectionInfoMembers.InjectionTypeField) .Value = radType.SelectedIndex.ToString(); } else { // create new injection type injection.CustomProperties.Add(new CustomPropertyInfo() { Name = InjectionInfoMembers.InjectionTypeField, Value = radType.SelectedIndex.ToString() }); } // CRM PRIORITY LEVEL var priorityLevel = ParsePriotityLevel(security); if (injection.CustomProperties.Any(p => p.Name == InjectionInfoMembers.CrmPriorityField)) { // update existing CRM/CDF priority level injection.CustomProperties.FirstOrDefault(p => p.Name == InjectionInfoMembers.CrmPriorityField) .Value = priorityLevel.ToString(); } else { // create new CRM/CDF priority level injection.CustomProperties.Add(new CustomPropertyInfo() { Name = InjectionInfoMembers.CrmPriorityField, Value = priorityLevel.ToString() }); } // CRM PAGE PROVIDER var provider = ddlCrmProvider.SelectedIndex; if (injection.CustomProperties.Any(p => p.Name == InjectionInfoMembers.CrmProviderField)) { // update existing CRM/CDF provider injection.CustomProperties.FirstOrDefault(p => p.Name == InjectionInfoMembers.CrmProviderField).Value = provider.ToString(); } else { // create new CRM/CDF provider injection.CustomProperties.Add(new CustomPropertyInfo() { Name = InjectionInfoMembers.CrmProviderField, Value = provider.ToString() }); } if (injection.CustomProperties.Any(p => p.Name == InjectionInfoMembers.CrmPriorityField)) { injection.CustomProperties.FirstOrDefault(p => p.Name == InjectionInfoMembers.CrmPriorityField) .Value = security.InputFilter(txtCrmPriority.Text.Trim(), PortalSecurity.FilterFlag.NoMarkup); } else { injection.CustomProperties.Add(new CustomPropertyInfo() { Name = InjectionInfoMembers.CrmPriorityField, Value = security.InputFilter(txtCrmPriority.Text.Trim(), PortalSecurity.FilterFlag.NoMarkup) }); } if (injection.CustomProperties.Any(p => p.Name == InjectionInfoMembers.LastUpdatedByField)) { // update the existing auditing fields injection.CustomProperties.FirstOrDefault(p => p.Name == InjectionInfoMembers.LastUpdatedByField) .Value = UserInfo.UserID.ToString(); injection.CustomProperties.FirstOrDefault(p => p.Name == InjectionInfoMembers.LastUpdatedDateField) .Value = DateTime.UtcNow.ToString(); } else { // adding new audting fields injection.CustomProperties.Add(new CustomPropertyInfo() { Name = InjectionInfoMembers.LastUpdatedByField, Value = UserInfo.UserID.ToString() }); injection.CustomProperties.Add(new CustomPropertyInfo() { Name = InjectionInfoMembers.LastUpdatedDateField, Value = DateTime.UtcNow.ToString() }); } }
public void UpdateInjectionContent(InjectionInfo objInjection) { DataProvider.Instance().UpdateInjectionContent(objInjection.InjectionId, objInjection.ModuleId, objInjection.InjectTop, objInjection.InjectName, objInjection.InjectContent, objInjection.IsEnabled, objInjection.OrderShown, objInjection.CustomProperties.ToJson()); }
private static bool IsHtmlInjectionType(InjectionInfo injection) { if (injection.CustomProperties.Any(p => p.Name == InjectionInfoMembers.InjectionTypeField)) { return injection.CustomProperties.FirstOrDefault(p => p.Name == InjectionInfoMembers.InjectionTypeField) .Value == "1"; } return true; }
public InjectionInfo GetInjectionContent(int InjectionContentId) { InjectionInfo objInj = new InjectionInfo(); objInj.Fill(DataProvider.Instance().GetInjectionContent(InjectionContentId)); return objInj; }
public static InjectionType GetInjectionType(InjectionInfo injection) { Requires.NotNull("injection", injection); var isHtmlType = IsHtmlInjectionType(injection); if (isHtmlType && injection.InjectTop) { return InjectionType.HtmlTop; } else if (isHtmlType && !injection.InjectTop) { return InjectionType.HtmlBottom; } if (injection.InjectContent.EndsWith(".js")) { return InjectionType.JavaScript; } if (Regex.IsMatch(injection.InjectContent, CSS_PATTERN, RegexOptions.IgnoreCase)) { return InjectionType.CSS; } throw new ArgumentOutOfRangeException("InjectionType", "InjectionType parameters do not match a known injection type."); }
public static string GetCrmProvider(InjectionInfo injection) { Requires.NotNull("injection", injection); Requires.NotNull("injection.CustomProperties", injection.CustomProperties); if (!injection.CustomProperties.Any(p => p.Name == InjectionInfoMembers.CrmProviderField)) return string.Empty; var provider = injection.CustomProperties.FirstOrDefault(p => p.Name == InjectionInfoMembers.CrmProviderField).Value; return GetCrmProvider(provider); }
public int AddInjectionContent(InjectionInfo objInjection) { return(Convert.ToInt32(DataProvider.Instance().AddInjectionContent(objInjection.ModuleId, objInjection.InjectTop, objInjection.InjectName, objInjection.InjectContent, objInjection.IsEnabled, objInjection.OrderShown, objInjection.CustomProperties.ToJson()))); }
override public object Create(InjectionInfo context) { return(2); }
private void BindForm(int ItemId) { var ctlModule = new InjectionController(); var injection = new InjectionInfo(); injection = ctlModule.GetInjectionContent(ItemId); txtName.Text = injection.InjectName; txtContent.Text = Server.HtmlDecode(injection.InjectContent); radInject.ClearSelection(); if (injection.InjectTop) { radInject.Items.FindByText(GetLocalizedString("radInject.0.Text")).Selected = true; } else { radInject.Items.FindByText(GetLocalizedString("radInject.1.Text")).Selected = true; } chkEnabled.Checked = injection.IsEnabled; hidInjectionId.Value = injection.InjectionId.ToString(); cvName.Enabled = false; cmdDelete.Visible = !string.IsNullOrEmpty(hidInjectionId.Value); if (injection.CustomProperties.Any(p => p.Name == InjectionInfoMembers.CrmPriorityField)) { var priorityLevel = injection.CustomProperties.FirstOrDefault(p => p.Name == InjectionInfoMembers.CrmPriorityField).Value; txtCrmPriority.Text = (priorityLevel == "-1") ? string.Empty : priorityLevel; } if (injection.CustomProperties.Any(p => p.Name == InjectionInfoMembers.CrmProviderField)) { var provider = injection.CustomProperties.FirstOrDefault(p => p.Name == InjectionInfoMembers.CrmProviderField).Value; ddlCrmProvider.ClearSelection(); ddlCrmProvider.SelectedIndex = int.Parse(provider); } if (injection.CustomProperties.Any(p => p.Name == InjectionInfoMembers.LastUpdatedByField)) { var updatedBy = injection.CustomProperties.FirstOrDefault(p => p.Name == InjectionInfoMembers.LastUpdatedByField); var updatedDate = injection.CustomProperties.FirstOrDefault(p => p.Name == InjectionInfoMembers.LastUpdatedDateField); var user = UserController.GetUserById(PortalSettings.PortalId, int.Parse(updatedBy.Value, NumberStyles.Integer)); lblAudit.Text = string.Format(GetLocalizedString("lblAudit"), user.DisplayName, updatedDate.Value); } if (injection.CustomProperties.Any(p => p.Name == InjectionInfoMembers.InjectionTypeField)) { var intType =int.Parse( injection.CustomProperties.FirstOrDefault(p => p.Name == InjectionInfoMembers.InjectionTypeField) .Value); radType.SelectedIndex = intType; } else { // the default for existing injections is 1 because JS/CSS wasn't an option in the past radType.SelectedIndex = 1; } ToggleType(); }
public int AddInjectionContent(InjectionInfo objInjection) { return Convert.ToInt32(DataProvider.Instance().AddInjectionContent(objInjection.ModuleId, objInjection.InjectTop, objInjection.InjectName, objInjection.InjectContent, objInjection.IsEnabled, objInjection.OrderShown, objInjection.CustomProperties.ToJson())); }