public async Task <long> Handle(CreateUsuarioCommand request, CancellationToken cancellationToken)
            {
                var entity = new Domain.Entities.Usuario
                {
                    NomUsuario  = request.NomUsuario,
                    NumCpf      = request.NumCpf,
                    Email       = request.Email,
                    NomPerfil   = request.NomPerfil,
                    NumTelefone = request.NumTelefone,
                    CriadoPor   = request.CriadoPor,
                    DataCriacao = DateTime.Now,
                    CodUnidadeInfraestrutura = request.CodUnidadeInfraestrutura,
                    CodEmpresa      = request.CodEmpresa,
                    CodPerfil       = request.CodPerfil,
                    CodUsuarioLogin = request.Id
                };

                _context.Usuario.Add(entity);

                await _context.SaveChangesAsync(cancellationToken);

                //Rn0101
                if (request.UsuarioSgso)
                {
                    var entityResponsavelTecnico = new Domain.Entities.ResponsavelTecnico
                    {
                        NomResponsavelTecnico = request.NomUsuario,
                        NumCpf      = request.NumCpf,
                        EndEmail    = request.Email,
                        NumTelefone = request.NumTelefone,
                        CriadoPor   = request.CriadoPor,
                        CodUnidadeInfraestrutura = request.CodUnidadeInfraestrutura,
                        FlagGestorSgso           = true,
                        DataCriacao = DateTime.Now
                    };

                    _context.ResponsavelTecnico.Add(entityResponsavelTecnico);

                    await _context.SaveChangesAsync(cancellationToken);

                    var entityVinculo = new Domain.Entities.VinculoResponsavelEmpresa
                    {
                        CodUnidadeInfraestrutura = request.CodUnidadeInfraestrutura,
                        CodEmpresa            = request.CodEmpresa,
                        CodResponsavelTecnico = entityResponsavelTecnico.CodResponsavelTecnico
                    };

                    _context.VinculoResponsavelEmpresa.Add(entityVinculo);

                    await _context.SaveChangesAsync(cancellationToken);
                }

                return(entity.CodUsuario);
            }
Exemplo n.º 2
0
            public async Task <long> Handle(CreateVinculoResponsavelEmpresaCommand request, CancellationToken cancellationToken)
            {
                var entity = new Domain.Entities.VinculoResponsavelEmpresa
                {
                    CodUnidadeInfraestrutura = request.CodUnidadeInfraestrutura,
                    CodEmpresa            = request.CodEmpresa,
                    CodResponsavelTecnico = request.CodResponsavelTecnico,
                    CriadoPor             = request.CriadoPor,
                    DataCriacao           = DateTime.Now
                };

                _context.VinculoResponsavelEmpresa.Add(entity);

                await _context.SaveChangesAsync(cancellationToken);

                return(entity.CodVinculoResponsavelEmpresa);
            }
            public async Task <bool> Handle(UpdateResponsavelTecnicoCommand request, CancellationToken cancellationToken)
            {
                var entity = await _context.ResponsavelTecnico.FindAsync(request.Id);

                if (entity == null)
                {
                    throw new NotFoundException(nameof(ResponsavelTecnico), request.Id);
                }

                entity.NomResponsavelTecnico = request.NomResponsavelTecnico;
                entity.NumDocumento          = request.NumDocumento;
                entity.EndEmail    = request.EndEmail;
                entity.NumTelefone = request.NumTelefone;
                entity.CodUnidadeInfraestrutura = request.CodUnidadeInfraestrutura;
                entity.AlteradoPor = request.AlteradoPor;

                await _context.SaveChangesAsync(cancellationToken);

                foreach (var vinc in request.ListVinculoResponsavelEmpresa)
                {
                    var delEntity = await _context.VinculoResponsavelEmpresa.FindAsync(vinc.CodVinculoResponsavelEmpresa);

                    _context.VinculoResponsavelEmpresa.Remove(delEntity);
                }

                await _context.SaveChangesAsync(cancellationToken);

                foreach (var item in request.arrEmpresa)
                {
                    var entityVinculo = new Domain.Entities.VinculoResponsavelEmpresa
                    {
                        CodUnidadeInfraestrutura = request.CodUnidadeInfraestrutura,
                        CodEmpresa            = Convert.ToInt32(item),
                        CodResponsavelTecnico = entity.CodResponsavelTecnico,
                        CriadoPor             = request.AlteradoPor,
                        DataCriacao           = DateTime.Now,
                        FlagAtivo             = true
                    };

                    _context.VinculoResponsavelEmpresa.Add(entityVinculo);
                }

                await _context.SaveChangesAsync(cancellationToken);

                return(true);
            }
            public async Task <long> Handle(CreateResponsavelTecnicoCommand request, CancellationToken cancellationToken)
            {
                var entity = new Domain.Entities.ResponsavelTecnico
                {
                    NomResponsavelTecnico = request.NomResponsavelTecnico,
                    NumCpf                   = request.NumCpf,
                    EndEmail                 = request.EndEmail,
                    NumTelefone              = request.NumTelefone,
                    NumDocumento             = request.NumDocumento,
                    CodUnidadeInfraestrutura = request.CodUnidadeInfraestrutura,
                    FlagGestorSgso           = false,
                    CriadoPor                = request.CriadoPor,
                    DataCriacao              = DateTime.Now
                };

                _context.ResponsavelTecnico.Add(entity);
                await _context.SaveChangesAsync(cancellationToken);

                foreach (var item in request.arrEmpresa)
                {
                    var entityVinculo = new Domain.Entities.VinculoResponsavelEmpresa
                    {
                        CodUnidadeInfraestrutura = request.CodUnidadeInfraestrutura,
                        CodEmpresa            = Convert.ToInt32(item),
                        CodResponsavelTecnico = entity.CodResponsavelTecnico,
                        CriadoPor             = request.CriadoPor,
                        DataCriacao           = DateTime.Now,
                        FlagAtivo             = true
                    };

                    _context.VinculoResponsavelEmpresa.Add(entityVinculo);
                }


                await _context.SaveChangesAsync(cancellationToken);

                return(entity.CodResponsavelTecnico);
            }