Ejemplo n.º 1
0
        internal void ModificaDescrizioneArticolo(ArticoloId articoloId, ArticoloDescrizione descrizione,
                                                  AccountInfo who, When when)
        {
            DomainRules.ChkArticoloDescrizione(descrizione);

            this.RaiseEvent(new DescrizioneArticoloModificata(articoloId, descrizione, who, when));
        }
Ejemplo n.º 2
0
        public DescrizioneArticoloModificata(ArticoloId articoloId, ArticoloDescrizione articoloDescrizione,
                                             AccountInfo who, When when) : base(who, when)
        {
            this.SetAggregateIdFromDomainId(articoloId);

            this.ArticoloId          = articoloId;
            this.ArticoloDescrizione = articoloDescrizione;
        }
Ejemplo n.º 3
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));
        }
Ejemplo n.º 4
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();
        }
Ejemplo n.º 5
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;
        }
Ejemplo n.º 6
0
        public async Task CreateArticoloAsync(ArticoloJson articoloToCreate, AccountInfo who, When when)
        {
            var articoloId = new ArticoloId(articoloToCreate.ArticoloId);

            var createArticoloCommand = new CreateArticolo(articoloId,
                                                           new ArticoloDescrizione(articoloToCreate.ArticoloDescrizione),
                                                           new UnitaMisura(articoloToCreate.UnitaMisura), new ScortaMinima(articoloToCreate.ScortaMinima),
                                                           who, when);

            await this._serviceBus.SendAsync(createArticoloCommand);
        }
        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));
        }
Ejemplo n.º 8
0
        public async Task <ArticoloJson> GetArticoloByIdAsync(ArticoloId articoloId)
        {
            try
            {
                var filter = Builders <NoSqlArticolo> .Filter.Eq("_id", articoloId.GetValue());

                var documentsResult = await this._documentUnitOfWork.NoSqlArticoloRepository.FindAsync(filter);

                return(documentsResult.Any()
                    ? documentsResult.First().ToJson()
                    : new ArticoloJson());
            }
            catch (Exception ex)
            {
                this._logger.LogError($"[ArticoloFactory.GetArticoloByIdAsync] - {CommonServices.GetErrorMessage(ex)}");
                throw new Exception($"[ArticoloFactory.GetArticoloByIdAsync] - {CommonServices.GetErrorMessage(ex)}");
            }
        }
Ejemplo n.º 9
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)}");
            }
        }
Ejemplo n.º 10
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;
            }
        }
Ejemplo n.º 11
0
 private NoSqlArticolo(ArticoloId articoloId, ArticoloDescrizione articoloDescrizione)
 {
     this.Id = articoloId.GetValue();
     this.ArticoloDescrizione = articoloDescrizione.GetValue();
 }
Ejemplo n.º 12
0
        public static NoSqlArticolo CreateNoSqlArticolo(ArticoloId articoloId, ArticoloDescrizione articoloDescrizione)

        {
            return(new NoSqlArticolo(articoloId, articoloDescrizione));
        }
Ejemplo n.º 13
0
 public static void ChkArticoloId(ArticoloId articoloId) =>
 articoloId.ChkIsValid(DomainExceptions.ArticoloIdNullException);
Ejemplo n.º 14
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));
 }
Ejemplo n.º 15
0
        public static NoSqlArticolo CreateNoSqlArticolo(ArticoloId articoloId, ArticoloDescrizione articoloDescrizione, UnitaMisura unitaMisura,
                                                        ScortaMinima scortaMinima)

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