public CRMPicklist CRMGetStateStatus(CRMPicklist picklist) { OrganizationServiceProxy _serviceProxy; using (_serviceProxy = GetCRMConnection()) { try { RetrieveAttributeRequest retrieveAttributeStateRequest = new RetrieveAttributeRequest { EntityLogicalName = picklist.EntityLogicalName, LogicalName = "statecode", }; RetrieveAttributeResponse retrieveAttributeStateResponse = (RetrieveAttributeResponse)_serviceProxy.Execute(retrieveAttributeStateRequest); RetrieveAttributeRequest retrieveAttributeStatusRequest = new RetrieveAttributeRequest { EntityLogicalName = picklist.EntityLogicalName, LogicalName = "statuscode" }; RetrieveAttributeResponse retrieveAttributeStatusResponse = (RetrieveAttributeResponse)_serviceProxy.Execute(retrieveAttributeStatusRequest); StateAttributeMetadata state = (StateAttributeMetadata)retrieveAttributeStateResponse.AttributeMetadata; StatusAttributeMetadata status = (StatusAttributeMetadata)retrieveAttributeStatusResponse.AttributeMetadata; List <CRMPicklistOption> options = new List <CRMPicklistOption>(); foreach (StatusOptionMetadata o in status.OptionSet.Options) { OptionMetadata s = state.OptionSet.Options.Where(p => p.Value.Value == o.State.Value).First(); CRMPicklistOption option = new CRMPicklistOption(); option.PicklistValue = o.Value.HasValue ? o.Value.Value : 0; option.PicklistLabel = o.Label.UserLocalizedLabel.Label; option.PicklistParentLabel = s.Label.UserLocalizedLabel.Label.ToString(); option.PicklistParentValue = s.Value.HasValue ? s.Value.Value : 0; options.Add(option); } picklist.Picklist = options; } catch (Exception ex) { throw; } } return(picklist); }
public CRMPicklist CRMGetPicklist(CRMPicklist picklist) { OrganizationServiceProxy _serviceProxy; using (_serviceProxy = GetCRMConnection()) { try { RetrieveAttributeRequest retrieveAttributeRequest = new RetrieveAttributeRequest { EntityLogicalName = picklist.EntityLogicalName, LogicalName = picklist.AttributeLogicalName }; RetrieveAttributeResponse retrieveAttributeResponse = (RetrieveAttributeResponse)_serviceProxy.Execute(retrieveAttributeRequest); PicklistAttributeMetadata pick = (PicklistAttributeMetadata)retrieveAttributeResponse.AttributeMetadata; StateAttributeMetadata a = new StateAttributeMetadata(); List <CRMPicklistOption> options = new List <CRMPicklistOption>(); foreach (OptionMetadata o in pick.OptionSet.Options) { CRMPicklistOption option = new CRMPicklistOption(); option.PicklistValue = o.Value.HasValue ? o.Value.Value : 0; option.PicklistLabel = o.Label.UserLocalizedLabel.Label; options.Add(option); } picklist.Picklist = options; } catch (Exception ex) { throw; } } return(picklist); }
public CRMPicklist CRMGetStateStatus(CRMPicklist picklist) { CRMFunctions function = new CRMFunctions(picklist.Config); return function.CRMGetStateStatus(picklist); }
private void btnGenerateCRMProcess_Click(object sender, RoutedEventArgs e) { SourceCode.SmartObjects.Client.SmartObjectClientServer smoServer = new SmartObjectClientServer(); smoServer.CreateConnection(); smoServer.Connection.Open("Integrated=True;IsPrimaryLogin=True;Authenticate=True;EncryptedPassword=False;Host=localhost;Port=5555"); SmartObject smoCRM = smoServer.GetSmartObject("Demo_K2_CRM_Functions"); smoCRM.MethodToExecute = "GetAllEntities"; SmartObjectList smoEntities = smoServer.ExecuteList(smoCRM); // get state status details CRMPicklist pl = new CRMPicklist(); // pl.AttributeLogicalName = att.LogicalName; pl.EntityLogicalName = "lead"; CRMPicklist cp = functions.CRMGetStateStatus(pl); int seq = 0; foreach (CRMPicklistOption plo in cp.Picklist.OrderBy(p => p.PicklistParentValue).OrderBy(p => p.PicklistValue)) { StateStatus ss = new StateStatus(); ss.State = plo.PicklistParentValue; ss.StateName = plo.PicklistParentLabel; ss.Status = plo.PicklistValue; ss.StatusName = plo.PicklistLabel; ss.Sequence = seq; seq++; CRMSS.Add(ss); } bool ActiveOnly = true; string nowish = DateTime.Now.ToString("yyyyMMddHHmmss"); // Create new process process = WorkflowFactory.CreateProcess<DefaultProcess>(nowish, WizardNames.DefaultProcess); DataField dfEntityId = new DataField("Entity Id", ""); DataField dfEntityName = new DataField("Entity Name", ""); process.DataFields.Add(dfEntityId); process.DataFields.Add(dfEntityName); var dimensions = WorkflowHelpers.GetActivityDimensions(process.StartActivity); int x = Convert.ToInt32(Math.Round(dimensions.X + dimensions.Width + 40D)); int y = Convert.ToInt32(dimensions.Y) + 100; DefaultActivity PrevStatAct = null; DefaultActivity PrevReviewAct = null; PrevStatAct = CreateStartActivity("", dfEntityId, dfEntityName, x, ref y); SourceCode.Workflow.Authoring.Line startLine = WorkflowFactory.CreateLine("StartLine"); startLine.StartActivity = process.StartActivity; startLine.FinishActivity = PrevStatAct; process.Lines.Add(startLine); int c = 0; foreach (StateStatus ss in CRMSS.OrderBy(p => p.Sequence)) { DefaultActivity act = CreateStatusActivity(ss.StateName + " - " + ss.StatusName, dfEntityId, dfEntityName, x, ref y); if (PrevReviewAct != null) { PrevReviewAct.FinishLines[0].FinishActivity = act; } if (c == 0) { SourceCode.Workflow.Authoring.Line firstline = WorkflowFactory.CreateLine("Firstline"); firstline.StartActivity = PrevStatAct; firstline.FinishActivity = act; process.Lines.Add(firstline); } c++; DefaultActivity act1 = null; if (!ActiveOnly || ActiveOnly && ss.State == 0) { act1 = CreateCRMActivity(ss.StateName + " - " + ss.StatusName, dfEntityId, dfEntityName, x, ref y); SourceCode.Workflow.Authoring.Line line = WorkflowFactory.CreateLine("Line " + ss.Sequence); line.StartActivity = act; line.FinishActivity = act1; process.Lines.Add(line); if (PrevStatAct != null) { act1.FinishLines[1].FinishActivity = PrevStatAct; } } if (act1 == null && PrevStatAct.FinishLines.Count == 0) { PrevReviewAct = null; SourceCode.Workflow.Authoring.Line updateLine = WorkflowFactory.CreateLine("Update Line " + ss.Sequence); updateLine.StartActivity = PrevStatAct; updateLine.FinishActivity = act; process.Lines.Add(updateLine); } if (act != null) { WorkflowHelpers.AutoPositionLines(act.StartLines); WorkflowHelpers.AutoPositionLines(act.FinishLines); } if (act1 != null) { WorkflowHelpers.AutoPositionLines(act1.StartLines); WorkflowHelpers.AutoPositionLines(act1.FinishLines); } PrevReviewAct = act1; PrevStatAct = act; } process.FinishRule = new DesignCRMClient.CRMClientProcessFinishRule(); process.SaveAs(txtProcessPath.Text+nowish+".kprx"); process = null; }
private void btnGetPicklist_Click(object sender, RoutedEventArgs e) { CRMEntityMetadata emd = cbEntities.SelectedItem as CRMEntityMetadata; CRMAttribute att = cbAttributes.SelectedItem as CRMAttribute; CRMPicklist pl = new CRMPicklist(); pl.AttributeLogicalName = att.LogicalName; pl.EntityLogicalName = emd.LogicalName; CRMPicklist cp = functions.CRMGetPicklist(pl); cbOptions.ItemsSource = cp.Picklist.OrderByDescending(p => p.PicklistParentValue).OrderBy(p => p.PicklistValue); }
private void btnGetState_Click(object sender, RoutedEventArgs e) { CRMEntityMetadata emd = cbEntities.SelectedItem as CRMEntityMetadata; CRMAttribute att = cbAttributes.SelectedItem as CRMAttribute; CRMPicklist pl = new CRMPicklist(); pl.EntityLogicalName = emd.LogicalName; cbState.ItemsSource = functions.CRMGetStateStatus(pl).Picklist; }
public CRMPicklist CRMGetStateStatus(CRMPicklist picklist) { OrganizationServiceProxy _serviceProxy; using (_serviceProxy = GetCRMConnection()) { try { RetrieveAttributeRequest retrieveAttributeStateRequest = new RetrieveAttributeRequest { EntityLogicalName = picklist.EntityLogicalName, LogicalName = "statecode", }; RetrieveAttributeResponse retrieveAttributeStateResponse = (RetrieveAttributeResponse)_serviceProxy.Execute(retrieveAttributeStateRequest); RetrieveAttributeRequest retrieveAttributeStatusRequest = new RetrieveAttributeRequest { EntityLogicalName = picklist.EntityLogicalName, LogicalName = "statuscode" }; RetrieveAttributeResponse retrieveAttributeStatusResponse = (RetrieveAttributeResponse)_serviceProxy.Execute(retrieveAttributeStatusRequest); StateAttributeMetadata state = (StateAttributeMetadata)retrieveAttributeStateResponse.AttributeMetadata; StatusAttributeMetadata status = (StatusAttributeMetadata)retrieveAttributeStatusResponse.AttributeMetadata; List<CRMPicklistOption> options = new List<CRMPicklistOption>(); foreach (StatusOptionMetadata o in status.OptionSet.Options) { OptionMetadata s = state.OptionSet.Options.Where(p => p.Value.Value == o.State.Value).First(); CRMPicklistOption option = new CRMPicklistOption(); option.PicklistValue = o.Value.HasValue ? o.Value.Value : 0; option.PicklistLabel = o.Label.UserLocalizedLabel.Label; option.PicklistParentLabel = s.Label.UserLocalizedLabel.Label.ToString(); option.PicklistParentValue = s.Value.HasValue ? s.Value.Value : 0; options.Add(option); } picklist.Picklist = options; } catch (Exception ex) { throw; } } return picklist; }
public CRMPicklist CRMGetPicklist(CRMPicklist picklist) { OrganizationServiceProxy _serviceProxy; using (_serviceProxy = GetCRMConnection()) { try { RetrieveAttributeRequest retrieveAttributeRequest = new RetrieveAttributeRequest { EntityLogicalName = picklist.EntityLogicalName, LogicalName = picklist.AttributeLogicalName }; RetrieveAttributeResponse retrieveAttributeResponse = (RetrieveAttributeResponse)_serviceProxy.Execute(retrieveAttributeRequest); PicklistAttributeMetadata pick = (PicklistAttributeMetadata)retrieveAttributeResponse.AttributeMetadata; StateAttributeMetadata a = new StateAttributeMetadata(); List<CRMPicklistOption> options = new List<CRMPicklistOption>(); foreach (OptionMetadata o in pick.OptionSet.Options) { CRMPicklistOption option = new CRMPicklistOption(); option.PicklistValue = o.Value.HasValue ? o.Value.Value : 0; option.PicklistLabel = o.Label.UserLocalizedLabel.Label; options.Add(option); } picklist.Picklist = options; } catch (Exception ex) { throw; } } return picklist; }
private void GetStateStatusPicklist(ref ServiceObject so) { SourceCode.SmartObjects.Services.ServiceSDK.Objects.Method meth = so.Methods[0]; CRMPicklist picklist = new CRMPicklist(); picklist.Config = crmconfig; try { picklist.EntityLogicalName = NotNull(so.Properties["EntityLogicalName"].Value); CRMPicklist response = CRMFunctions.CRMGetStateStatus(picklist); so.Properties.InitResultTable(); foreach (CRMPicklistOption ret in response.Picklist) { for (int c = 0; c < meth.ReturnProperties.Count; c += 1) { Property prop = so.Properties[meth.ReturnProperties[c]]; prop = SetGetPicklistOptionProperties(prop, ret); } so.Properties.BindPropertiesToResultTable(); } } catch (Exception ex) { throw; } }