//public static Envio GetEnvio(Guid id, string stateKey = null, ServicioId servicioId = null, // EnvioPersona remitente = null, EnvioPersona destinatario = null, Direccion direccionEntrega = null, // Direccion direccionRecogida = null, IEnumerable<Bulto> bultos = null) //{ // return new Envio(id, stateKey, servicioId ?? new ServicioId(Guid.NewGuid()), // remitente ?? new EnvioPersona("nombreRemitente", "apellido1Remitente", "apellido2Remitente"), // destinatario ?? new EnvioPersona("nombreDestinario", "apellido1Destinario", "apellido2Destinario"), // direccionEntrega ?? new Direccion("tipoViaE", "nombreCalleE", "numeroPortalE", "pisoE", "puertaE", // "escaleraE", "codigoPostalE", "localidadE", "provinciaE"), // direccionRecogida ?? new Direccion("tipoViaR", "nombreCalleR", "numeroPortalR", "pisoR", "puertaR", // "escaleraR", "codigoPostalR", "localidadR", "provinciaR"), // bultos ?? new List<Bulto> // { // new Bulto(new Peso(UnidadPeso.Kilo, 5d), new Dimensiones(1d, 2d, 3d)), // new Bulto(new Peso(UnidadPeso.Kilo, 6d), new Dimensiones(4d, 5d, 6d)) // } // ); //} public static Envio BuildEnvio(Guid id, string stateKey = null, Guid?servicioId = null, EnvioPersona remitente = null, EnvioPersona destinatario = null, Direccion direccionEntrega = null, Direccion direccionRecogida = null, IEnumerable <Bulto> bultos = null) { return(new Envio(id, stateKey, servicioId, remitente, destinatario, direccionEntrega, direccionRecogida, bultos)); }
public void AsignarNuevoRemitente() { Envio sut = new Envio(Guid.NewGuid()); EnvioPersona nuevaPersona = new EnvioPersona("Nombre", "Apellido1", "Apellido2"); sut.AsignarRemitente(nuevaPersona); sut.Remitente.ShouldBe(nuevaPersona); }
public void AsignarRemitentePorSegundaVez() { Envio sut = new Envio(Guid.NewGuid()); EnvioPersona nuevaPersona = new EnvioPersona("Nombre", "Apellido1", "Apellido2"); EnvioPersona nuevaPersona2 = new EnvioPersona("Nombre", "Apellido1", "Apellido2"); sut.AsignarRemitente(nuevaPersona); sut.AsignarRemitente(nuevaPersona2); ReferenceEquals(sut.Remitente, nuevaPersona2).ShouldBe(true); }
public Envio(Guid id, string stateKey, Guid?servicioId, EnvioPersona remitente, EnvioPersona destinatario, Direccion direccionEntrega, Direccion direccionRecogida, IEnumerable <Bulto> bultos) : this(id) { myState = stateKey == null ? EnvioState.Creado : Enumeration.FromValue <EnvioState>(stateKey); if (servicioId.HasValue) { this.ServicioId = new ServicioId(servicioId.Value); } Remitente = remitente; Destinatario = destinatario; DireccionEntrega = direccionEntrega; DireccionRecogida = direccionRecogida; _bultos = new List <Bulto>(bultos ?? Enumerable.Empty <Bulto>()); }
public void AsignarNuevoDestinatario( ) { IEventAggregatorReactive domainDispacher = ContainerFactory.Resolve <IEventAggregatorReactive>(); using (domainDispacher.GetEvent <DestinatarioAsignado>().Subscribe(c => EventoEjecutadoSpy(c))) { Envio sut = new Envio(Guid.NewGuid()); EnvioPersona nuevaPersona = new EnvioPersona("Nombre", "Apellido1", "Apellido2"); sut.AsignarDestinatario(nuevaPersona); sut.Destinatario.ShouldBe(nuevaPersona); } eventoEjecutado.ShouldBe(true); }
public void AsignarRemitente(EnvioPersona nuevoRemitente) { if (!IsInProgress) { throw new InvalidOperationException(); } if (Remitente == nuevoRemitente) { return; } Remitente = nuevoRemitente; //Notificamos }
public void AsignarDestinatario(EnvioPersona nuevoDestinatario) { if (!IsInProgress) { throw new InvalidOperationException(); } if (Destinatario == nuevoDestinatario) { return; } Destinatario = nuevoDestinatario; IEventAggregatorReactive eventAggregator = ContainerFactory.Resolve <IEventAggregatorReactive>(); eventAggregator.Raise <DestinatarioAsignado>(new DestinatarioAsignado(nuevoDestinatario.Id, nuevoDestinatario.Nombre, nuevoDestinatario.Apellido1, nuevoDestinatario.Apellido2, Id)); }