public async Task <string> Handle(CreatePersonaExpositorCommand request, CancellationToken cancellationToken)
            {
                // try {
                string codPersona = _context.TPersona.Where(p => p.NroDocumento == request.NroDocumento).Select(r => r.CodPersona).FirstOrDefault();

                if (codPersona == null)
                {
                    codPersona = _context.TPersona.Where(p => p.ApellidoPaterno == request.ApellidoPaterno && p.ApellidoMaterno == request.ApellidoMaterno && p.Nombres == request.Nombres).Select(r => r.CodPersona).FirstOrDefault();
                }
                if (codPersona == null)
                {
                    codPersona = "E0" + request.NroDocumento;
                    var entityP = new TPersona();
                    entityP.CodPersona      = codPersona;
                    entityP.NroDocumento    = request.NroDocumento;
                    entityP.ApellidoPaterno = request.ApellidoPaterno;
                    entityP.ApellidoMaterno = request.ApellidoMaterno;
                    entityP.Nombres         = request.Nombres;
                    entityP.Sexo            = request.Sexo;
                    //entityP.CodTipoPersona = TipoPersona.Contratista;
                    entityP.CodTipoPersona = "2";
                    entityP.Ocupacion      = request.Ocupacion;
                    entityP.Empresa        = request.Empresa;
                    _context.TPersona.Add(entityP);
                    //  await _context.SaveChangesAsync(cancellationToken);
                }
                var Usuario = _context.TUsuario.Where(u => u.CodPersona == codPersona).FirstOrDefault();

                if (Usuario == null)
                {
                    var entityU = new TUsuario();
                    entityU.Usuario    = request.NroDocumento;
                    entityU.CodPersona = codPersona;
                    entityU.Password   = request.NroDocumento;
                    entityU.TipoLogueo = false;

                    var entityUR = new TUsuarioRol();
                    entityUR.CodUsuario = entityU.CodUsuario;
                    entityUR.CodRol     = int.Parse(_configuration["appSettings:RolCapExterno"]);

                    entityU.UsuarioRoles.Add(entityUR);
                    _context.TUsuario.Add(entityU);
                }
                await _context.SaveChangesAsync(cancellationToken);

                return(codPersona);
                //} catch (Exception e) {
                //    new GeneralFailureException("Nodo padre no fue encontrado");
                //    throw;
                //}
            }
示例#2
0
            public async Task <Unit> Handle(UpdateUsuarioCommand request, CancellationToken cancellationToken)
            {
                try
                {
                    var _usuario = _context.TUsuario.First(t => t.CodUsuario == Int32.Parse(request.codUsuario));

                    if (_usuario == null)
                    {
                        throw new Exception("usuario no existe, operacion invalida");
                    }

                    var existe = _context.TUsuario.Where(t => t.Usuario.Equals(request.usuario)).Count();
                    if (existe > 0 && _usuario.Usuario != request.usuario)
                    {
                        throw new Exception("existe usuario, pruebe otro nombre de usuario");
                    }

                    if (request.password != null && !request.password.Equals(""))
                    {
                        _usuario.Password = request.password;
                    }
                    _usuario.TipoLogueo = request.tipoLogueo;
                    _usuario.Usuario    = request.usuario;

                    var _usuario_rol       = _context.TUsuarioRol.FirstOrDefault(t => t.CodUsuario == Int32.Parse(request.codUsuario));
                    var _usuario_rol_nuevo = new TUsuarioRol();

                    if (_usuario_rol == null)
                    {
                        throw new Exception("rol no asociado ");
                    }

                    _usuario_rol_nuevo.CodRol = Int32.Parse(request.rol);
                    _usuario.UsuarioRoles.Remove(_usuario_rol);
                    _usuario.UsuarioRoles.Add(_usuario_rol_nuevo);

                    _context.TUsuario.Update(_usuario);
                    await _context.SaveChangesAsync(cancellationToken);

                    return(Unit.Value);
                }
                catch (Exception e)
                {
                    throw e;
                }
            }
示例#3
0
            public async Task <Unit> Handle(CreateUsuarioContratistaCommand request, CancellationToken cancellationToken)
            {
                try
                {
                    var existe = _context.TUsuario.Where(t => t.Usuario.Equals(request.data.usuario)).Count();
                    if (existe > 0)
                    {
                        throw new Exception("existe usuario");
                    }

                    var codmax = nextCod(_context.TUsuario.Max(t => (t.CodUsuario)));
                    CreateUsuarioDto VMUsuarioRol = request.data;

                    VMUsuarioRol.codUsuario = "0";
                    VMUsuarioRol.tipoLogueo = false;
                    var usuario = _mapper.Map <CreateUsuarioDto, TUsuario>(VMUsuarioRol);

                    usuario.CodUsuario = codmax;
                    var usuarioRol = new TUsuarioRol();

                    usuario.CodPersona    = VMUsuarioRol.ruc;
                    usuarioRol.CodRol     = 6;
                    usuarioRol.CodUsuario = codmax;

                    _context.TUsuario.Add(usuario);
                    _context.TUsuarioRol.Add(usuarioRol);

                    await _context.SaveChangesAsync(cancellationToken);

                    return(Unit.Value);
                }
                catch (Exception e)
                {
                    System.Console.WriteLine(e.ToString());
                    throw e;
                }
            }