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; //} }
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; } }
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; } }