Ejemplo n.º 1
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.º 2
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;
            }
        }
        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.º 4
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.º 5
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.º 6
0
 private NoSqlArticolo(ArticoloId articoloId, ArticoloDescrizione articoloDescrizione)
 {
     this.Id = articoloId.GetValue();
     this.ArticoloDescrizione = articoloDescrizione.GetValue();
 }