Пример #1
0
        internal void ModificaDescrizioneArticolo(ArticoloId articoloId, ArticoloDescrizione descrizione,
                                                  AccountInfo who, When when)
        {
            DomainRules.ChkArticoloDescrizione(descrizione);

            this.RaiseEvent(new DescrizioneArticoloModificata(articoloId, descrizione, who, when));
        }
Пример #2
0
        public DescrizioneArticoloModificata(ArticoloId articoloId, ArticoloDescrizione articoloDescrizione,
                                             AccountInfo who, When when) : base(who, when)
        {
            this.SetAggregateIdFromDomainId(articoloId);

            this.ArticoloId          = articoloId;
            this.ArticoloDescrizione = articoloDescrizione;
        }
Пример #3
0
        private void Apply(ArticoloCreated @event)
        {
            this.Id = @event.AggregateId;

            this._articoloDescrizione = @event.ArticoloDescrizione;
            this._unitaMisura         = @event.UnitaMisura;
            this._scortaMinima        = @event.ScortaMinima;
        }
Пример #4
0
        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));
        }
Пример #5
0
        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();
        }
Пример #6
0
        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));
        }
Пример #8
0
        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)}");
            }
        }
Пример #9
0
        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;
            }
        }
Пример #10
0
 private NoSqlArticolo(ArticoloId articoloId, ArticoloDescrizione articoloDescrizione)
 {
     this.Id = articoloId.GetValue();
     this.ArticoloDescrizione = articoloDescrizione.GetValue();
 }
Пример #11
0
        public static NoSqlArticolo CreateNoSqlArticolo(ArticoloId articoloId, ArticoloDescrizione articoloDescrizione)

        {
            return(new NoSqlArticolo(articoloId, articoloDescrizione));
        }
Пример #12
0
 public static void ChkArticoloDescrizione(ArticoloDescrizione articoloDescrizione) =>
 articoloDescrizione.ChkIsValid(DomainExceptions.ArticoloDescrizioneNullException);
Пример #13
0
 public UpdateDefinition <NoSqlArticolo> UpdateDescrizione(ArticoloDescrizione descrizione)
 {
     return(Builders <NoSqlArticolo> .Update.Set(a => a.ArticoloDescrizione, descrizione.GetValue()));
 }
Пример #14
0
 private void Apply(DescrizioneArticoloModificata @event)
 {
     this._articoloDescrizione = @event.ArticoloDescrizione;
 }
Пример #15
0
 internal Articolo(ArticoloId articoloId, ArticoloDescrizione articoloDescrizione, UnitaMisura unitaMisura,
                   ScortaMinima scortaMinima, AccountInfo who, When when)
 {
     this.RaiseEvent(new ArticoloCreated(articoloId, articoloDescrizione, unitaMisura, scortaMinima, who, when));
 }
Пример #16
0
        public static NoSqlArticolo CreateNoSqlArticolo(ArticoloId articoloId, ArticoloDescrizione articoloDescrizione, UnitaMisura unitaMisura,
                                                        ScortaMinima scortaMinima)

        {
            return(new NoSqlArticolo(articoloId, articoloDescrizione, unitaMisura, scortaMinima));
        }