private NoSqlCliente(ClienteId clienteId, RagioneSociale ragioneSociale,
                      PartitaIva partitaIva, CodiceFiscale codiceFiscale)
 {
     this.Id             = clienteId.GetValue();
     this.RagioneSociale = ragioneSociale.GetValue();
     this.PartitaIva     = partitaIva.GetValue();
     this.CodiceFiscale  = codiceFiscale.GetValue();
 }
Exemple #2
0
        private void Apply(ClienteCreated @event)
        {
            this.Id = @event.AggregateId;

            this._ragioneSociale = @event.RagioneSociale;
            this._partitaIva     = @event.PartitaIva;
            this._codiceFiscale  = @event.CodiceFiscale;
        }
Exemple #3
0
        public ClienteCreated(ClienteId clienteId, RagioneSociale ragioneSociale, PartitaIva partitaIva,
                              CodiceFiscale codiceFiscale, AccountInfo who, When when) : base(who, when)
        {
            this.SetAggregateIdFromDomainId(clienteId);

            this.ClienteId      = clienteId;
            this.RagioneSociale = ragioneSociale;
            this.PartitaIva     = partitaIva;
            this.CodiceFiscale  = codiceFiscale;
        }
        internal static Cliente CreateCliente(ClienteId clienteId, RagioneSociale ragioneSociale,
                                              CodiceFiscale codiceFiscale, PartitaIva partitaIva, AccountInfo who, When when)
        {
            DomainRules.ChkClienteId(clienteId);
            DomainRules.ChkRagioneSociale(ragioneSociale);
            DomainRules.ChkPartitaIva(partitaIva);
            DomainRules.ChkCodiceFiscale(codiceFiscale);

            return(new Cliente(clienteId, ragioneSociale, codiceFiscale, partitaIva, who, when));
        }
        public async Task CreateClienteAsync(ClienteId clienteId, RagioneSociale ragioneSociale, CodiceFiscale codiceFiscale,
                                             PartitaIva partitaIva)
        {
            try
            {
                var filter = Builders <NoSqlCliente> .Filter.Eq("_id", clienteId.GetValue());

                var documentResults = await this._documentUnitOfWork.NoSqlClienteRepository.FindAsync(filter);

                if (documentResults.Any())
                {
                    return;
                }

                var noSqlDocument =
                    NoSqlCliente.CreateNoSqlCliente(clienteId, ragioneSociale, partitaIva, codiceFiscale);
                await this._documentUnitOfWork.NoSqlClienteRepository.InsertOneAsync(noSqlDocument);
            }
            catch (Exception ex)
            {
                this._logger.LogError($"[ClienteFactory.CreateClienteAsync] - {CommonServices.GetErrorMessage(ex)}");
                throw new Exception($"[ClienteFactory.CreateClienteAsync] - {CommonServices.GetErrorMessage(ex)}");
            }
        }
Exemple #6
0
 internal Cliente(ClienteId clienteId, RagioneSociale ragioneSociale,
                  CodiceFiscale codiceFiscale, PartitaIva partitaIva, AccountInfo who, When when)
 {
     this.RaiseEvent(new ClienteCreated(clienteId, ragioneSociale, partitaIva, codiceFiscale, who, when));
 }
 public static void ChkPartitaIva(PartitaIva partitaIva) =>
 partitaIva.ChkIsValid(DomainExceptions.PartitaIvaNullException);
 public static NoSqlCliente CreateNoSqlCliente(ClienteId clienteId, RagioneSociale ragioneSociale,
                                               PartitaIva partitaIva, CodiceFiscale codiceFiscale)
 {
     return(new NoSqlCliente(clienteId, ragioneSociale, partitaIva, codiceFiscale));
 }