Ejemplo n.º 1
0
        /// <summary>
        /// Validar usuario y clave de un cliente especifico.
        /// </summary>
        /// <param name="login"></param>
        /// <returns></returns>
        public void RegistrarUsuario(LoginFilter login)
        {
            ILoginRepository loginRepository = DependencyInjectionContainer.Resolve <ILoginRepository>();
            ILoginDomain     loginDomain     = DependencyInjectionContainer.Resolve <ILoginDomain>();

            Usuario usuario = new Usuario()
            {
                Apellido      = login.Apellido,
                Cedula        = login.Cedula,
                Clave         = login.Clave,
                FechaCreacion = DateTime.Now,
                Login         = login.Login,
                Nombre        = login.Nombre
            };

            //Verificar si el usuario ya esta registrado.
            bool UsuarioRegistrado = loginDomain.ValidarUsuarioRegistrado(usuario.Cedula, loginRepository);

            //Registrar el usuario si no existe
            if (!UsuarioRegistrado)
            {
                loginRepository.RegistrarUsuario(usuario);
            }
            else
            {
                throw new BussinesException(Messages.ErrorUsuarioRegistrado);
            }
        }
Ejemplo n.º 2
0
        public async Task <UserDTO> Login(LoginFilter filter, CancellationToken cancellationToken = default)
        {
            try
            {
                var user = await _userQueryHandler.HandleAsync(filter, cancellationToken);

                if (user == null)
                {
                    throw new ArgumentNullException(nameof(user));
                }

                if (!user.Active)
                {
                    throw new InvalidOperationException("user is currently not active.");
                }

                // create token data
                var tokenData = new TokenData(user.Company, user.Name, user.Email, user.CPF);

                // create and save a token for the logged user
                user.Token = _securityTokenService.CreateToken(tokenData);
                var loginCommand = new LoginUserCommand(user.Id, user.Token);
                await _userCommandHandler.ExecuteAsync(loginCommand, cancellationToken);

                return(user);
            }
            catch (Exception ex)
            { throw ex; }
        }
Ejemplo n.º 3
0
        public async Task <IActionResult> Login([FromBody] LoginRequest request, CancellationToken cancellationToken = default)
        {
            var response = new LoginResponse();

            try
            {
                var filter = new LoginFilter(request.Company, request.CPF, request.Password);
                var user   = await _userAppService.Login(filter, cancellationToken);

                if (user == null)
                {
                    response.StatusCode = 404;
                    response.Messages.Add(ResponseMessage.Create("", "Cannot find user with this parameters."));
                    return(NotFound(response));
                }

                response.StatusCode = 200;
                response.Data       = user.Token;

                return(Ok(response));
            }
            catch (Exception ex)
            {
                response.StatusCode = 500;
                response.Messages.Add(ResponseMessage.Create(ex, ""));
                return(StatusCode(500, response));
            }
        }
Ejemplo n.º 4
0
        public ActionResult ShowUserTickets()
        {
            int userId = LoginFilter.GetUserId();
            TicketRepository repository = new TicketRepository();
            List <Ticket>    tickets    = repository.GetAll();

            List <Ticket> userTickets = new List <Ticket>();

            foreach (var tick in tickets)
            {
                if (tick.UserId == userId)
                {
                    userTickets.Add(tick);
                }
                else
                {
                    ViewBag.Message = "This user has no tickets yet!";
                    // return RedirectToAction("Index", "Home");
                }
            }

            TicketsListViewModel model = new TicketsListViewModel();

            model.Tickets = userTickets;


            return(View(model));
        }
Ejemplo n.º 5
0
        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }

            var jwtSecret = Configuration["jwt.secret"];

            var configuration = new OcelotPipelineConfiguration
            {
                AuthenticationMiddleware = async(ctx, next) =>
                {
                    LoginFilter loginFilter = new LoginFilter();
                    string      json        = "";
                    var         flag        = loginFilter.NeedLogin(ctx.HttpContext, Configuration, out json);
                    if (!flag)
                    {
                        await ctx.HttpContext.Response.WriteAsync(json);

                        return;
                    }
                    await next.Invoke();
                }
            };

            app.UseOcelot(configuration).Wait();
            app.Run(async(context) =>
            {
                await context.Response.WriteAsync("");
            });
        }
        public ActionResult ShowTeacherSubjects()
        {
            int userId = LoginFilter.GetUserId();
            SubjectRepository repository = new SubjectRepository();
            List <Subject>    subjects   = repository.GetAll();

            List <Subject> teacherSubjects = new List <Subject>();

            foreach (var subject in subjects)
            {
                if (subject.TeacherId == userId)
                {
                    teacherSubjects.Add(subject);
                }
                else
                {
                    ViewBag.Message = "This user has no subjects yet!";
                }
            }

            SubjectListViewModel model = new SubjectListViewModel();

            model.Subjects = teacherSubjects;

            return(View(model));
        }
        public void ValidarUsuarioTest()
        {
            LoginApplication target  = new LoginApplication();
            UsuarioDTO       usuario = new UsuarioDTO();
            LoginFilter      filtro  = new LoginFilter();

            filtro.Login = "******";
            filtro.Clave = "tnsclave";
            usuario      = target.ValidarUsuario(filtro);
            Assert.IsNotNull(usuario);
        }
Ejemplo n.º 8
0
        public User loginUser(LoginFilter filter)
        {
            User   userToLogin  = electContext.Users.FirstOrDefault(u => u.Username == filter.Username);
            string userPassword = UserUtils.getPasswordHash(filter.Password, userToLogin.salt);

            if (userToLogin.Password == userPassword)
            {
                return(userToLogin);
            }
            return(null);
        }
Ejemplo n.º 9
0
        public async Task <UserDTO> HandleAsync(LoginFilter filter, CancellationToken cancellationToken = default)
        {
            try
            {
                ValidateFilter(filter);

                var user = await _userRepository.GetOneAsync(filter, cancellationToken);

                return(user.ToDTO());
            }
            catch (Exception ex)
            { throw ex; }
        }
Ejemplo n.º 10
0
 public IActionResult LoginUser([FromBody] LoginFilter filter)
 {
     if (ModelState.IsValid)
     {
         Users usersModel = new Users(electContext);
         User  user       = usersModel.loginUser(filter);
         if (user != null)
         {
             return(Ok(new { id = user.ID, username = user.Username, LIK = user.LIK, role = user.Role.ToString("g"), isCastingDone = user.isCastingDone }));
         }
     }
     return(BadRequest());
 }
Ejemplo n.º 11
0
        public ActionResult Create(int id)
        {
            int userId = LoginFilter.GetUserId();

            Ticket ticket = new Ticket();

            ticket.EventId = id;
            ticket.UserId  = userId;



            var repository = new TicketRepository();

            repository.Insert(ticket);

            return(RedirectToAction("Index"));
        }
Ejemplo n.º 12
0
        public ActionResult ShowProfile()
        {
            int               id         = LoginFilter.GetUserId();
            UserRepository    repository = new UserRepository();
            UserEditViewModel model      = new UserEditViewModel();
            User              user       = repository.GetById(id);

            model.Id        = LoginFilter.GetUserId();
            model.ImgURL    = user.ImgURL;
            model.Username  = user.Username;
            model.Password  = user.Password;
            model.Email     = user.Email;
            model.FirstName = user.FirstName;
            model.LastName  = user.LastName;
            user.IsAdmin    = model.IsAdmin;

            return(View(model));
        }
Ejemplo n.º 13
0
        public ActionResult Delete(UserDeleteViewModel model)
        {
            int id = LoginFilter.GetUserId();

            UserRepository repository = new UserRepository();

            if (model.Id.ToString() != String.Empty)
            {
                repository.Delete(model.Id);
            }
            if (model.Id == id)
            {
                return(RedirectToAction("Logout", "Home"));
            }
            else
            {
                return(RedirectToAction("Index"));
            }
        }
        public ActionResult ShowProfile()
        {
            int id = LoginFilter.GetUserId();
            TeacherRepository    repository = new TeacherRepository();
            CRUDTeacherViewModel model      = new CRUDTeacherViewModel();
            Teacher teacher = repository.GetById(id);

            model.Id        = LoginFilter.GetUserId();
            model.ImgURL    = teacher.ImgURL;
            model.Username  = teacher.Username;
            model.Password  = teacher.Password;
            model.Email     = teacher.Email;
            model.FirstName = teacher.FirstName;
            model.LastName  = teacher.LastName;
            teacher.IsAdmin = model.IsAdmin;
            model.Subject   = teacher.Subject;
            model.IsTeacher = teacher.IsTeacher;

            return(View(model));
        }
Ejemplo n.º 15
0
        public IActionResult RegistrarUsuario([FromBody] LoginFilter login)
        {
            try
            {
                if (login == null)
                {
                    return(BadRequest(BadRequestError));
                }

                new LoginApplication().RegistrarUsuario(login);
                return(Ok());
            }
            catch (BussinesException ex)
            {
                return(StatusCode((int)HttpStatusCode.Conflict, ex.Message));
            }
            catch (Exception ex)
            {
                logger.Error(ex, InternalServerErrorRegistrarUsuario);
                return(StatusCode((int)HttpStatusCode.InternalServerError, InternalServerErrorRegistrarUsuario));
            }
        }
Ejemplo n.º 16
0
        /// <summary>
        /// Validar usuario y clave de un cliente especifico.
        /// </summary>
        /// <param name="login"></param>
        /// <returns></returns>
        public UsuarioDTO ValidarUsuario(LoginFilter filtro)
        {
            var usuarioValido = new UsuarioDTO();

            using (AerolineaTnsEntities context = new AerolineaTnsEntities())
            {
                var usuario = context.Set <Usuario>()
                              .Where(item => item.Login == filtro.Login &&
                                     item.Clave == filtro.Clave);

                usuarioValido = usuario.Select(usuarioDto => new UsuarioDTO()
                {
                    Apellido        = usuarioDto.Apellido,
                    Cedula          = usuarioDto.Cedula,
                    IdUsuario       = usuarioDto.IdUsuario,
                    Login           = usuarioDto.Login,
                    Nombre          = usuarioDto.Nombre,
                    FechaNacimiento = usuarioDto.FechaNacimiento
                }).FirstOrDefault();
            }

            return(usuarioValido);
        }
        public void RegistrarUsuarioTest()
        {
            LoginApplication target = new LoginApplication();

            LoginFilter filtro = new LoginFilter
            {
                Nombre   = "David",
                Apellido = "Lopez",
                Cedula   = "708743564",
                Login    = "******",
                Clave    = "davidclave"
            };

            try
            {
                target.RegistrarUsuario(filtro);
            }
            catch (BussinesException ex)
            {
                //Excepción esperada según alguna regla de negocio.
                Assert.IsNotNull(ex);
            }
        }
Ejemplo n.º 18
0
        public ActionResult ShowProfile()
        {
            int id = LoginFilter.GetUserId();
            StudentRepository    repository = new StudentRepository();
            CRUDStudentViewModel model      = new CRUDStudentViewModel();
            Student student = repository.GetById(id);

            model.Id            = LoginFilter.GetUserId();
            model.ImgURL        = student.ImgURL;
            model.Username      = student.Username;
            model.Password      = student.Password;
            model.Email         = student.Email;
            model.FirstName     = student.FirstName;
            model.LastName      = student.LastName;
            student.IsAdmin     = model.IsAdmin;
            model.FacultyNumber = student.FacultyNumber;
            model.Specialty     = student.Specialty;
            model.GroupId       = student.GroupId;
            model.IsTeacher     = student.IsTeacher;
            model.IsStudent     = student.IsStudent;

            return(View(model));
        }
Ejemplo n.º 19
0
        public IActionResult ValidarUsuario([FromQuery] LoginFilter filtro)
        {
            try
            {
                if (string.IsNullOrEmpty(filtro.Login) || string.IsNullOrEmpty(filtro.Clave))
                {
                    return(BadRequest(BadRequestError));
                }

                UsuarioDTO usuario = new LoginApplication().ValidarUsuario((LoginFilter)filtro);

                if (usuario == null)
                {
                    return(NotFound(NotFoundError));
                }

                return(Ok(usuario));
            }
            catch (Exception ex)
            {
                logger.Error(ex, InternalServerErrorValidarUsuario);
                return(StatusCode((int)HttpStatusCode.InternalServerError, InternalServerErrorValidarUsuario));
            }
        }
Ejemplo n.º 20
0
        /// <summary>
        /// Validar usuario y clave de un cliente especifico.
        /// </summary>
        /// <param name="login"></param>
        /// <returns></returns>
        public UsuarioDTO ValidarUsuario(LoginFilter login)
        {
            ILoginRepository loginRepository = DependencyInjectionContainer.Resolve <ILoginRepository>();

            return(loginRepository.ValidarUsuario(login));
        }