protected void ValidateCommonParamsAndSetOrg(UMDialPlanIdParameter dpParam, UMIPGatewayIdParameter gwParam, out Guid dpGuid, out Guid gwGuid, out string dpName, out string gwName) { dpGuid = Guid.Empty; gwGuid = Guid.Empty; dpName = string.Empty; gwName = string.Empty; if (dpParam == null && gwParam == null) { return; } IConfigurationSession session = this.CreateSessionToResolveConfigObjects(false); OrganizationId organizationId = null; if (dpParam != null) { UMDialPlan umdialPlan = (UMDialPlan)base.GetDataObject <UMDialPlan>(dpParam, session, null, new LocalizedString?(Strings.NonExistantDialPlan(dpParam.ToString())), new LocalizedString?(Strings.MultipleDialplansWithSameId(dpParam.ToString()))); dpGuid = umdialPlan.Guid; dpName = umdialPlan.Name; organizationId = umdialPlan.OrganizationId; } if (gwParam != null) { UMIPGateway umipgateway = (UMIPGateway)base.GetDataObject <UMIPGateway>(gwParam, session, null, new LocalizedString?(Strings.NonExistantIPGateway(gwParam.ToString())), new LocalizedString?(Strings.MultipleIPGatewaysWithSameId(gwParam.ToString()))); gwGuid = umipgateway.Guid; gwName = umipgateway.Name; if (organizationId != null && !organizationId.Equals(umipgateway.OrganizationId)) { base.WriteError(new InvalidParameterException(Strings.MismatchedOrgInDPAndGW(dpParam.ToString(), gwParam.ToString())), ErrorCategory.InvalidArgument, null); } else { organizationId = umipgateway.OrganizationId; } } if (this.Organization != null) { organizationId != null; } if (organizationId != null) { base.CurrentOrganizationId = organizationId; } }
protected override IConfigurable PrepareDataObject() { TaskLogger.LogEnter(); UMHuntGroup umhuntGroup = (UMHuntGroup)base.PrepareDataObject(); IConfigurationSession session = (IConfigurationSession)base.DataSession; UMDialPlanIdParameter umdialPlan = this.UMDialPlan; UMDialPlan umdialPlan2 = (UMDialPlan)base.GetDataObject <UMDialPlan>(umdialPlan, session, this.RootId, new LocalizedString?(Strings.NonExistantDialPlan(umdialPlan.ToString())), new LocalizedString?(Strings.MultipleDialplansWithSameId(umdialPlan.ToString()))); umhuntGroup.UMDialPlan = umdialPlan2.Id; if (umdialPlan2.URIType == UMUriType.SipName && !VariantConfiguration.InvariantNoFlightingSnapshot.UM.HuntGroupCreationForSipDialplans.Enabled) { base.WriteError(new CannotCreateHuntGroupForHostedSipDialPlanException(), ErrorCategory.InvalidOperation, umhuntGroup); } UMIPGatewayIdParameter umipgateway = this.UMIPGateway; UMIPGateway umipgateway2 = (UMIPGateway)base.GetDataObject <UMIPGateway>(umipgateway, session, this.RootId, new LocalizedString?(Strings.NonExistantIPGateway(umipgateway.ToString())), new LocalizedString?(Strings.MultipleIPGatewaysWithSameId(umipgateway.ToString()))); bool flag = false; foreach (UMHuntGroup umhuntGroup2 in umipgateway2.HuntGroups) { if (umhuntGroup2.PilotIdentifier == umhuntGroup.PilotIdentifier) { flag = true; break; } } if (flag) { HuntGroupAlreadyExistsException exception = new HuntGroupAlreadyExistsException(umipgateway2.Name, umhuntGroup.PilotIdentifier); base.WriteError(exception, ErrorCategory.InvalidArgument, null); } else { umhuntGroup.SetId(umipgateway2.Id.GetChildId(base.Name)); } TaskLogger.LogExit(); return(umhuntGroup); }