internal void ModificaDescrizioneArticolo(ArticoloId articoloId, ArticoloDescrizione descrizione, AccountInfo who, When when) { DomainRules.ChkArticoloDescrizione(descrizione); this.RaiseEvent(new DescrizioneArticoloModificata(articoloId, descrizione, who, when)); }
public DescrizioneArticoloModificata(ArticoloId articoloId, ArticoloDescrizione articoloDescrizione, AccountInfo who, When when) : base(who, when) { this.SetAggregateIdFromDomainId(articoloId); this.ArticoloId = articoloId; this.ArticoloDescrizione = articoloDescrizione; }
private void Apply(ArticoloCreated @event) { this.Id = @event.AggregateId; this._articoloDescrizione = @event.ArticoloDescrizione; this._unitaMisura = @event.UnitaMisura; this._scortaMinima = @event.ScortaMinima; }
internal static Articolo CreateArticolo(ArticoloId articoloId, ArticoloDescrizione articoloDescrizione, UnitaMisura unitaMisura, ScortaMinima scortaMinima, AccountInfo who, When when) { DomainRules.ChkArticoloId(articoloId); DomainRules.ChkArticoloDescrizione(articoloDescrizione); DomainRules.ChkUnitaMisura(unitaMisura); return(new Articolo(articoloId, articoloDescrizione, unitaMisura, scortaMinima, who, when)); }
private NoSqlArticolo(ArticoloId articoloId, ArticoloDescrizione articoloDescrizione, UnitaMisura unitaMisura, ScortaMinima scortaMinima) { this.Id = articoloId.GetValue(); this.ArticoloDescrizione = articoloDescrizione.GetValue(); this.UnitaMisura = unitaMisura.GetValue(); this.ScortaMinima = scortaMinima.GetValue(); }
public ArticoloCreated(ArticoloId articoloId, ArticoloDescrizione articoloDescrizione, UnitaMisura unitaMisura, ScortaMinima scortaMinima, AccountInfo who, When when) : base(who, when) { this.SetAggregateIdFromDomainId(articoloId); this.ArticoloId = articoloId; this.ArticoloDescrizione = articoloDescrizione; this.UnitaMisura = unitaMisura; this.ScortaMinima = scortaMinima; }
public void ModificaArticoloHandler() { var descrizioneModificataEventHandler = this._container.Resolve <IHandleRequests <DescrizioneArticoloModificata> >(); var articoloId = new ArticoloId(Guid.NewGuid().ToString()); var descrizione = new ArticoloDescrizione("Nuova Descrizione"); var descrizioneArticoloModificata = new DescrizioneArticoloModificata(articoloId, descrizione, this._who, this._when); Exception ex = Assert.Throws <Exception>(() => descrizioneModificataEventHandler.Handle(descrizioneArticoloModificata)); Assert.Equal($"Articolo {articoloId.GetValue()} Non Trovato!", CommonServices.GetErrorMessage(ex)); }
public async Task CreateArticoloAsync(ArticoloId articoloId, ArticoloDescrizione articoloDescrizione) { try { var filter = Builders <NoSqlArticolo> .Filter.Eq("_id", articoloId.GetValue()); var documentsResult = await this._documentUnitOfWork.NoSqlArticoloRepository.FindAsync(filter); if (documentsResult.Any()) { return; } var noSqlDocument = NoSqlArticolo.CreateNoSqlArticolo(articoloId, articoloDescrizione); await this._documentUnitOfWork.NoSqlArticoloRepository.InsertOneAsync(noSqlDocument); } catch (Exception ex) { this._logger.LogError($"[ArticoloFactory.CreateArticoloAsync] - {CommonServices.GetErrorMessage(ex)}"); throw new Exception($"[ArticoloFactory.CreateArticoloAsync] - {CommonServices.GetErrorMessage(ex)}"); } }
public async Task ModificaDescrizioneArticoloAsync(ArticoloId articoloId, ArticoloDescrizione descrizione) { try { var filter = Builders <NoSqlArticolo> .Filter.Eq("_id", articoloId.GetValue()); var documentResults = await this._documentUnitOfWork.NoSqlArticoloRepository.FindAsync(filter); if (!documentResults.Any()) { throw new Exception($"Articolo {articoloId.GetValue()} Non Trovato!"); } var noSqlDocument = documentResults.First(); var update = noSqlDocument.UpdateDescrizione(descrizione); await this._documentUnitOfWork.NoSqlArticoloRepository.UpdateOneAsync(filter, update); } catch (Exception ex) { Console.WriteLine(ex); throw; } }
private NoSqlArticolo(ArticoloId articoloId, ArticoloDescrizione articoloDescrizione) { this.Id = articoloId.GetValue(); this.ArticoloDescrizione = articoloDescrizione.GetValue(); }
public static NoSqlArticolo CreateNoSqlArticolo(ArticoloId articoloId, ArticoloDescrizione articoloDescrizione) { return(new NoSqlArticolo(articoloId, articoloDescrizione)); }
public static void ChkArticoloDescrizione(ArticoloDescrizione articoloDescrizione) => articoloDescrizione.ChkIsValid(DomainExceptions.ArticoloDescrizioneNullException);
public UpdateDefinition <NoSqlArticolo> UpdateDescrizione(ArticoloDescrizione descrizione) { return(Builders <NoSqlArticolo> .Update.Set(a => a.ArticoloDescrizione, descrizione.GetValue())); }
private void Apply(DescrizioneArticoloModificata @event) { this._articoloDescrizione = @event.ArticoloDescrizione; }
internal Articolo(ArticoloId articoloId, ArticoloDescrizione articoloDescrizione, UnitaMisura unitaMisura, ScortaMinima scortaMinima, AccountInfo who, When when) { this.RaiseEvent(new ArticoloCreated(articoloId, articoloDescrizione, unitaMisura, scortaMinima, who, when)); }
public static NoSqlArticolo CreateNoSqlArticolo(ArticoloId articoloId, ArticoloDescrizione articoloDescrizione, UnitaMisura unitaMisura, ScortaMinima scortaMinima) { return(new NoSqlArticolo(articoloId, articoloDescrizione, unitaMisura, scortaMinima)); }