public void GetRoleProcess() { RoleList roleList; RoleInstanceList roleInstanceList; Func <Role, bool> func = null; Func <RoleInstance, bool> func1 = null; this.GetCurrentDeployment(); if (this.currentDeployment != null) { SwitchParameter instanceDetails = this.InstanceDetails; if (instanceDetails.IsPresent) { Collection <RoleInstanceContext> roleInstanceContexts = new Collection <RoleInstanceContext>(); if (!string.IsNullOrEmpty(this.RoleName)) { RoleInstanceList roleInstanceList1 = this.currentDeployment.RoleInstanceList; if (func1 == null) { func1 = (RoleInstance r) => r.RoleName.Equals(this.RoleName, StringComparison.OrdinalIgnoreCase); } roleInstanceList = new RoleInstanceList(roleInstanceList1.Where <RoleInstance>(func1)); } else { roleInstanceList = this.currentDeployment.RoleInstanceList; } foreach (RoleInstance roleInstance in roleInstanceList) { RoleInstanceContext roleInstanceContext = new RoleInstanceContext(); roleInstanceContext.ServiceName = this.ServiceName; roleInstanceContext.set_OperationId(this.getDeploymentOperation.OperationTrackingId); roleInstanceContext.set_OperationDescription(base.CommandRuntime.ToString()); roleInstanceContext.set_OperationStatus(this.getDeploymentOperation.Status); roleInstanceContext.InstanceErrorCode = roleInstance.InstanceErrorCode; roleInstanceContext.InstanceFaultDomain = roleInstance.InstanceFaultDomain; roleInstanceContext.InstanceName = roleInstance.InstanceName; roleInstanceContext.InstanceSize = roleInstance.InstanceSize; roleInstanceContext.InstanceStateDetails = roleInstance.InstanceStateDetails; roleInstanceContext.InstanceStatus = roleInstance.InstanceStatus; roleInstanceContext.InstanceUpgradeDomain = roleInstance.InstanceUpgradeDomain; roleInstanceContext.RoleName = roleInstance.RoleName; roleInstanceContext.DeploymentID = this.currentDeployment.PrivateID; roleInstanceContext.InstanceEndpoints = roleInstance.InstanceEndpoints; RoleInstanceContext roleInstanceContext1 = roleInstanceContext; roleInstanceContexts.Add(roleInstanceContext1); } base.WriteObject(roleInstanceContexts, true); } else { Collection <RoleContext> roleContexts = new Collection <RoleContext>(); if (!string.IsNullOrEmpty(this.RoleName)) { RoleList roleList1 = this.currentDeployment.RoleList; if (func == null) { func = (Role r) => r.RoleName.Equals(this.RoleName, StringComparison.OrdinalIgnoreCase); } roleList = new RoleList(roleList1.Where <Role>(func)); } else { roleList = this.currentDeployment.RoleList; } List <Role> .Enumerator enumerator = roleList.GetEnumerator(); try { Func <RoleInstance, bool> func2 = null; while (enumerator.MoveNext()) { Role current = enumerator.Current; RoleContext roleContext = new RoleContext(); RoleContext roleContext1 = roleContext; RoleInstanceList roleInstanceList2 = this.currentDeployment.RoleInstanceList; if (func2 == null) { func2 = (RoleInstance ri) => ri.RoleName.Equals(current.RoleName, StringComparison.OrdinalIgnoreCase); } roleContext1.InstanceCount = roleInstanceList2.Where <RoleInstance>(func2).Count <RoleInstance>(); roleContext.RoleName = current.RoleName; roleContext.set_OperationDescription(base.CommandRuntime.ToString()); roleContext.set_OperationStatus(this.getDeploymentOperation.Status); roleContext.set_OperationId(this.getDeploymentOperation.OperationTrackingId); roleContext.ServiceName = this.ServiceName; roleContext.DeploymentID = this.currentDeployment.PrivateID; RoleContext roleContext2 = roleContext; roleContexts.Add(roleContext2); } } finally { enumerator.Dispose(); } base.WriteObject(roleContexts, true); return; } } }