/// <summary> /// Removes the specified service. /// </summary> /// <param name="service">The service.</param> public void Remove(Identification service) { SubscriptorEntity subscriptorEntity = _repository.FindOne(s => s.Service.Id == service.Id && s.Service.Type == service.Type); if (subscriptorEntity != null) { _repository.Remove(subscriptorEntity); } }
/// <summary> /// Adds the specified subscriptor. /// </summary> /// <param name="subscriptor">The subscriptor.</param> public void Add(Subscriptor subscriptor) { SubscriptorEntity subscriptorEntity = _repository.FindOne( s => s.Service.Id == subscriptor.Service.Id && s.Service.Type == subscriptor.Service.Type) ?? new SubscriptorEntity(); subscriptorEntity.From(subscriptor); _repository.Save(subscriptorEntity); }
/// <summary> /// Toes the subscriptor. /// </summary> /// <param name="subscriptorEntity">The subscriptor entity.</param> /// <param name="processor">The processor.</param> /// <returns></returns> public static Subscriptor ToSubscriptor(this SubscriptorEntity subscriptorEntity, Identification processor) { var subscriptor = new Subscriptor { Service = subscriptorEntity.Service, ServiceInputGateway = RouterGatewayFactory.CreateOutputGateway( new Uri(subscriptorEntity.InputGateway.Uri), (TransportType)subscriptorEntity.InputGateway.Transport), ServiceInputControlGateway = AgentGatewayFactory.CreateOutputGateway(processor, new Uri(subscriptorEntity.InputControlGateway.Uri), (TransportType)subscriptorEntity.InputControlGateway.Transport), }; foreach (var subscriptionTypeMessage in subscriptorEntity.SubcriptionTypes) { subscriptor.SubcriptionTypes.Add(subscriptionTypeMessage.ToSubscriptorKey()); } return(subscriptor); }
/// <summary> /// Froms the specified subscriptor entity. /// </summary> /// <param name="subscriptorEntity">The subscriptor entity.</param> /// <param name="subscriptor">The subscriptor.</param> public static void From(this SubscriptorEntity subscriptorEntity, Subscriptor subscriptor) { subscriptorEntity.InputGateway = new GatewayEntity { Uri = subscriptor.ServiceInputGateway.EndPoint.Uri.OriginalString, Transport = (int)subscriptor.ServiceInputGateway.EndPoint.Transport }; subscriptorEntity.InputControlGateway = new GatewayEntity { Uri = subscriptor.ServiceInputControlGateway.EndPoint.Uri. OriginalString, Transport = (int) subscriptor.ServiceInputControlGateway.EndPoint. Transport }; subscriptorEntity.Service = subscriptor.Service; subscriptorEntity.SubcriptionTypes = subscriptor.SubcriptionTypes.Where(t => t != null).Select(t => t.ToSubscriptorType()).ToList(); }