public void ExecuteGetUser(Property[] inputs, RequiredProperties required, Property[] returns, MethodType methodType, ServiceObject serviceObject) { serviceObject.Properties.InitResultTable(); Functions.CRMFunctions CRMFunctions = new Functions.CRMFunctions(Utilities.FunctionsUtils.GetCRMConfig(serviceBroker.Service.ServiceConfiguration)); Functions.CRMUser CRMUserInput = new Functions.CRMUser(); Functions.CRMUser CRMUserResult = null; try { CRMUserInput.UserFQN = inputs.Where(p => p.Name.Equals("userfqn", StringComparison.OrdinalIgnoreCase)).First().Value.ToString(); CRMUserResult = CRMFunctions.CRMGetUser(CRMUserInput); if (CRMUserResult != null) { returns.Where(p => p.Name.Equals("userfqn")).First().Value = CRMUserInput.UserFQN; returns.Where(p => p.Name.Equals("userid")).First().Value = CRMUserResult.UserId; returns.Where(p => p.Name.Equals("responsestatus")).First().Value = ResponseStatus.Success; } else { throw new Exception("CRMUserResult is null."); } } catch (Exception ex) { returns.Where(p => p.Name.Equals("responsestatus")).First().Value = ResponseStatus.Error; returns.Where(p => p.Name.Equals("responsestatusdescription")).First().Value = ex.Message; } serviceObject.Properties.BindPropertiesToResultTable(); }
public MainWindow() { InitializeComponent(); K2.Demo.CRM.Functions.CRMConfig crmconfig = new K2.Demo.CRM.Functions.CRMConfig { CRMURL = "http://crm.denallix.com", CRMOrganization = "Denallix" }; functions = new Functions.CRMFunctions(crmconfig); }
public void ExecuteCreateTask(Property[] inputs, RequiredProperties required, Property[] returns, MethodType methodType, ServiceObject serviceObject) { serviceObject.Properties.InitResultTable(); Functions.CRMFunctions CRMFunctions = new Functions.CRMFunctions(Utilities.FunctionsUtils.GetCRMConfig(serviceBroker.Service.ServiceConfiguration)); Functions.CRMTask CRMTaskInput = new Functions.CRMTask(); Functions.CRMTask CRMTaskResult = null; try { PropertyInfo[] PropInfoCRMTask = CRMTaskResult.GetType().GetProperties(BindingFlags.Public); foreach (Property prop in inputs) { if (prop.Value != null) { //PropertyInfo RefProp = PropInfoCRMTask.Where(p => p.Name.Equals(prop.Name, StringComparison.OrdinalIgnoreCase)).First(); PropertyInfo RefProp = PropInfoCRMTask.GetType().GetProperty(prop.Name); if (RefProp != null) { //prop.Value = Utilities.ReflectionUtils.GetPropValue(CRMTaskResult, RefProp.Name); Utilities.ReflectionUtils.SetPropValue<Functions.CRMTask>(CRMTaskInput, prop.Name, prop.Value); } } } //required //CRMTaskInput.Category = inputs.Where(p => p.Name.Equals("category", StringComparison.OrdinalIgnoreCase)).First().Value.ToString(); //CRMTaskInput.Description = inputs.Where(p => p.Name.Equals("description", StringComparison.OrdinalIgnoreCase)).First().Value.ToString(); ////required //CRMTaskInput.DueDate = DateTime.Parse(inputs.Where(p => p.Name.Equals("duedate", StringComparison.OrdinalIgnoreCase)).First().Value.ToString()); ////required //CRMTaskInput.Duration = int.Parse(inputs.Where(p => p.Name.Equals("duration", StringComparison.OrdinalIgnoreCase)).First().Value.ToString()); //CRMTaskInput.OwnerFQN = inputs.Where(p => p.Name.Equals("ownerfqn", StringComparison.OrdinalIgnoreCase)).First().Value.ToString(); //CRMTaskInput.Owner = inputs.Where(p => p.Name.Equals("owner", StringComparison.OrdinalIgnoreCase)).First().Value.ToString(); //CRMTaskInput.OwnerId = inputs.Where(p => p.Name.Equals("ownerid", StringComparison.OrdinalIgnoreCase)).First().Value.ToString(); ////required //CRMTaskInput.Priority = int.Parse(inputs.Where(p => p.Name.Equals("priority", StringComparison.OrdinalIgnoreCase)).First().Value.ToString()); //CRMTaskInput.Regarding = inputs.Where(p => p.Name.Equals("regarding", StringComparison.OrdinalIgnoreCase)).First().Value.ToString(); //CRMTaskInput.RegardingId = inputs.Where(p => p.Name.Equals("regardingid", StringComparison.OrdinalIgnoreCase)).First().Value.ToString(); ////required //CRMTaskInput.State = int.Parse(inputs.Where(p => p.Name.Equals("state", StringComparison.OrdinalIgnoreCase)).First().Value.ToString()); ////required //CRMTaskInput.Status = int.Parse(inputs.Where(p => p.Name.Equals("status", StringComparison.OrdinalIgnoreCase)).First().Value.ToString()); ////required //CRMTaskInput.Subcategory = inputs.Where(p => p.Name.Equals("subcategory", StringComparison.OrdinalIgnoreCase)).First().Value.ToString(); ////required //CRMTaskInput.Subject = inputs.Where(p => p.Name.Equals("subject", StringComparison.OrdinalIgnoreCase)).First().Value.ToString(); //CRMTaskInput.K2SerialNumber = inputs.Where(p => p.Name.Equals("k2serialnumber", StringComparison.OrdinalIgnoreCase)).First().Value.ToString(); //CRMTaskInput.K2ProcessName = inputs.Where(p => p.Name.Equals("k2processname", StringComparison.OrdinalIgnoreCase)).First().Value.ToString(); //CRMTaskInput.K2ActivityName = inputs.Where(p => p.Name.Equals("k2activityname", StringComparison.OrdinalIgnoreCase)).First().Value.ToString(); //int procInstId; //if (int.TryParse(inputs.Where(p => p.Name.Equals("k2processinstanceid", StringComparison.OrdinalIgnoreCase)).First().Value.ToString(), out procInstId)) //{ // CRMTaskInput.K2ProcessInstanceId = procInstId; //} CRMTaskResult = CRMFunctions.CRMCreateTask(CRMTaskInput); //List<string> OProps = new List<string>(); //OProps.Where(p => p == "").First(); if (CRMTaskResult != null) { //foreach(PropertyInfo prop in CRMTaskResult.GetType().GetProperties(BindingFlags.Public)) foreach(Property prop in returns) { //PropertyInfo RefProp = PropInfoCRMTask.Where(p => p.Name.Equals(prop.Name, StringComparison.OrdinalIgnoreCase)).First(); PropertyInfo RefProp = PropInfoCRMTask.GetType().GetProperty(prop.Name); if( RefProp != null) { prop.Value = Utilities.ReflectionUtils.GetPropValue(CRMTaskResult, RefProp.Name); } //PropertyInfo aa = PropInfoCRMTask.Where(p => p.Name.Equals(prop.Name, StringComparison.OrdinalIgnoreCase)).First(); //if (returns.Where(p => p.Name.Equals(prop.Name, StringComparison.OrdinalIgnoreCase)).First() != null) //{ // returns.Where(p => p.Name.Equals(prop.Name, StringComparison.OrdinalIgnoreCase)).First().Value = Utilities.ReflectionUtils.GetPropValue(CRMTaskResult, prop.Name); //} } returns.Where(p => p.Name.Equals("responsestatus")).First().Value = ResponseStatus.Success; } else { throw new Exception("CRMTaskResult is null."); } } catch (Exception ex) { returns.Where(p => p.Name.Equals("responsestatus")).First().Value = ResponseStatus.Error; returns.Where(p => p.Name.Equals("responsestatusdescription")).First().Value = ex.Message; } serviceObject.Properties.BindPropertiesToResultTable(); }
public void ExecuteCreateTask(Property[] inputs, RequiredProperties required, Property[] returns, MethodType methodType, ServiceObject serviceObject) { serviceObject.Properties.InitResultTable(); Functions.CRMFunctions CRMFunctions = new Functions.CRMFunctions(Utilities.FunctionsUtils.GetCRMConfig(serviceBroker.Service.ServiceConfiguration)); Functions.CRMTask CRMTaskInput = new Functions.CRMTask(); Functions.CRMTask CRMTaskResult = null; try { PropertyInfo[] PropInfoCRMTask = CRMTaskResult.GetType().GetProperties(BindingFlags.Public); foreach (Property prop in inputs) { if (prop.Value != null) { //PropertyInfo RefProp = PropInfoCRMTask.Where(p => p.Name.Equals(prop.Name, StringComparison.OrdinalIgnoreCase)).First(); PropertyInfo RefProp = PropInfoCRMTask.GetType().GetProperty(prop.Name); if (RefProp != null) { //prop.Value = Utilities.ReflectionUtils.GetPropValue(CRMTaskResult, RefProp.Name); Utilities.ReflectionUtils.SetPropValue <Functions.CRMTask>(CRMTaskInput, prop.Name, prop.Value); } } } //required //CRMTaskInput.Category = inputs.Where(p => p.Name.Equals("category", StringComparison.OrdinalIgnoreCase)).First().Value.ToString(); //CRMTaskInput.Description = inputs.Where(p => p.Name.Equals("description", StringComparison.OrdinalIgnoreCase)).First().Value.ToString(); ////required //CRMTaskInput.DueDate = DateTime.Parse(inputs.Where(p => p.Name.Equals("duedate", StringComparison.OrdinalIgnoreCase)).First().Value.ToString()); ////required //CRMTaskInput.Duration = int.Parse(inputs.Where(p => p.Name.Equals("duration", StringComparison.OrdinalIgnoreCase)).First().Value.ToString()); //CRMTaskInput.OwnerFQN = inputs.Where(p => p.Name.Equals("ownerfqn", StringComparison.OrdinalIgnoreCase)).First().Value.ToString(); //CRMTaskInput.Owner = inputs.Where(p => p.Name.Equals("owner", StringComparison.OrdinalIgnoreCase)).First().Value.ToString(); //CRMTaskInput.OwnerId = inputs.Where(p => p.Name.Equals("ownerid", StringComparison.OrdinalIgnoreCase)).First().Value.ToString(); ////required //CRMTaskInput.Priority = int.Parse(inputs.Where(p => p.Name.Equals("priority", StringComparison.OrdinalIgnoreCase)).First().Value.ToString()); //CRMTaskInput.Regarding = inputs.Where(p => p.Name.Equals("regarding", StringComparison.OrdinalIgnoreCase)).First().Value.ToString(); //CRMTaskInput.RegardingId = inputs.Where(p => p.Name.Equals("regardingid", StringComparison.OrdinalIgnoreCase)).First().Value.ToString(); ////required //CRMTaskInput.State = int.Parse(inputs.Where(p => p.Name.Equals("state", StringComparison.OrdinalIgnoreCase)).First().Value.ToString()); ////required //CRMTaskInput.Status = int.Parse(inputs.Where(p => p.Name.Equals("status", StringComparison.OrdinalIgnoreCase)).First().Value.ToString()); ////required //CRMTaskInput.Subcategory = inputs.Where(p => p.Name.Equals("subcategory", StringComparison.OrdinalIgnoreCase)).First().Value.ToString(); ////required //CRMTaskInput.Subject = inputs.Where(p => p.Name.Equals("subject", StringComparison.OrdinalIgnoreCase)).First().Value.ToString(); //CRMTaskInput.K2SerialNumber = inputs.Where(p => p.Name.Equals("k2serialnumber", StringComparison.OrdinalIgnoreCase)).First().Value.ToString(); //CRMTaskInput.K2ProcessName = inputs.Where(p => p.Name.Equals("k2processname", StringComparison.OrdinalIgnoreCase)).First().Value.ToString(); //CRMTaskInput.K2ActivityName = inputs.Where(p => p.Name.Equals("k2activityname", StringComparison.OrdinalIgnoreCase)).First().Value.ToString(); //int procInstId; //if (int.TryParse(inputs.Where(p => p.Name.Equals("k2processinstanceid", StringComparison.OrdinalIgnoreCase)).First().Value.ToString(), out procInstId)) //{ // CRMTaskInput.K2ProcessInstanceId = procInstId; //} CRMTaskResult = CRMFunctions.CRMCreateTask(CRMTaskInput); //List<string> OProps = new List<string>(); //OProps.Where(p => p == "").First(); if (CRMTaskResult != null) { //foreach(PropertyInfo prop in CRMTaskResult.GetType().GetProperties(BindingFlags.Public)) foreach (Property prop in returns) { //PropertyInfo RefProp = PropInfoCRMTask.Where(p => p.Name.Equals(prop.Name, StringComparison.OrdinalIgnoreCase)).First(); PropertyInfo RefProp = PropInfoCRMTask.GetType().GetProperty(prop.Name); if (RefProp != null) { prop.Value = Utilities.ReflectionUtils.GetPropValue(CRMTaskResult, RefProp.Name); } //PropertyInfo aa = PropInfoCRMTask.Where(p => p.Name.Equals(prop.Name, StringComparison.OrdinalIgnoreCase)).First(); //if (returns.Where(p => p.Name.Equals(prop.Name, StringComparison.OrdinalIgnoreCase)).First() != null) //{ // returns.Where(p => p.Name.Equals(prop.Name, StringComparison.OrdinalIgnoreCase)).First().Value = Utilities.ReflectionUtils.GetPropValue(CRMTaskResult, prop.Name); //} } returns.Where(p => p.Name.Equals("responsestatus")).First().Value = ResponseStatus.Success; } else { throw new Exception("CRMTaskResult is null."); } } catch (Exception ex) { returns.Where(p => p.Name.Equals("responsestatus")).First().Value = ResponseStatus.Error; returns.Where(p => p.Name.Equals("responsestatusdescription")).First().Value = ex.Message; } serviceObject.Properties.BindPropertiesToResultTable(); }