private OperatingContextRM CreateOperatingContextForAssociate(Commands.V1.OperatingContext.CreateForAssociate cmd) { Associate associate = _repository.GetAssociate(AssociateId.FromInt(cmd.AssociateId)); if (associate == null) { throw new InvalidOperationException($"Associate with id {cmd.AssociateId} cannot be found"); } OperatingContext operatingContext = new OperatingContext(_operatingContexts++, OperatingContextTypeLookup.OperatingContextTypes[cmd.OperatingContextType], cmd.FacilityId, cmd.ThirdPartySupplierId, ExternalAssociateTypeLookup.ActingAssociateTypes[cmd.ActingBATypeID], cmd.CertificationId, cmd.IsDeactivating, cmd.LegacyId, cmd.PrimaryAddressId, cmd.PrimaryEmailId, cmd.PrimaryPhoneId, cmd.ProviderType, cmd.StartDate, StatusCodeLookup.StatusCodes[cmd.Status]); _repository.AddOperatingContextForAssociate(operatingContext, associate.Id); return(Conversions.GetOperatingContextRM(operatingContext)); }