Example #1
0
        public async virtual Task <LoginSuccessDto> LoginAsync(LoginDto login)
        {
            var result = await _context.Customers.Where(c => c.Email == login.Username && c.Password == login.Password).Select(c => new LoginSuccessDto
            {
                Firstname       = c.Firstname,
                Lastname        = c.Lastname,
                Gender          = c.Gender,
                Dob             = c.Dob,
                Email           = c.Email,
                Fax             = c.Fax,
                MainAddressId   = c.MainAddressId,
                NewsLetterOpted = c.NewsLetterOpted,
                Telephone       = c.Telephone,
                Password        = c.Password,
            }).SingleOrDefaultAsync();

            if (result == null)
            {
                var message = new LoginSuccessDto
                {
                    Message = "Invalid username or password"
                };
            }
            return(result);
        }
Example #2
0
        public async Task <LoginSuccessDto> LoginAsync(LoginDto login)
        {
            //GenericRepository<Customer> generic = new GenericRepository<Customer>(_context, this.dbSet, _httpContextAccessor);
            //var result = await generic.LoginAsync(login);
            //if (result == null)
            //{
            //    return null;
            //}
            //return result;
            var result = await _context.Customers.Where(c => c.Email == login.Username && c.Password == login.Password && c.IsCustomer == true).Select(c => new LoginSuccessDto
            {
                Firstname       = c.Firstname,
                Lastname        = c.Lastname,
                Gender          = c.Gender,
                Dob             = c.Dob,
                Email           = c.Email,
                Fax             = c.Fax,
                MainAddressId   = c.MainAddressId,
                NewsLetterOpted = c.NewsLetterOpted,
                Telephone       = c.Telephone,
                Password        = c.Password,
                CustomerId      = c.Id
            }).SingleOrDefaultAsync();

            if (result == null)
            {
                var message = new LoginSuccessDto
                {
                    Message = "Invalid username or password"
                };
                return(message);
            }
            return(result);
        }
        public async Task <ActionResult <LoginSuccessDto> > Login(LoginDto loginData)
        {
            if (!await _authServive.UserExists(loginData.Username))
            {
                return(Unauthorized(new { error = "User not exist!" }));
            }

            var user = await _authServive.Login(username : loginData.Username, password : loginData.Password);

            if (user == null)
            {
                return(Unauthorized(new { error = "Username or Password is incorrect" }));
            }

            if (!user.IsVarified)
            {
                return(Unauthorized(new { error = "Your Account Not Yet Approved, Please Contact Admin Panel For More Info.." }));
            }
            var ugCollege = await _db.Mem_UgColleges.FirstOrDefaultAsync(x => x.Id == user.UgCollageId);

            var key          = GenerateId();
            var loginSuccess = new LoginSuccessDto
            {
                Id        = user.Id,
                Name      = user.Name,
                Token     = GenerateJwtToken(user, key),
                UgCollege = ugCollege.UgCollegeName,
                BatchId   = user.GroupId,
                ChapterId = (_db.Post_GroupMembers.FirstOrDefault(x => x.MemberId == user.Id && x.IsActive && x.GroupMaster.Type == GroupType.Chapter) ?? new Post_GroupMember()).GroupId,
                Photo     = (_db.Mem_Photos.FirstOrDefault(s => s.MemberId == user.Id && s.IsActive) ?? new Mem_Photo()).Image
            };
            await _db.Sett_LoginLogs.AddAsync(new Sett_LoginLog
            {
                MemberId  = user.Id,
                LoginTime = DateTime.UtcNow,
                KeyValue  = key
            });

            await _db.Sett_DeviceInfoLogs.AddAsync(new Sett_DeviceInfoLog
            {
                MemberId  = user.Id,
                CDate     = DateTime.UtcNow,
                DeviceKey = loginData.DeviceKey
            });

            try
            {
                await _db.SaveChangesAsync();
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(Ok(loginSuccess));
        }
 public async Task<IActionResult> Login([FromBody] AppUserLoginDto appUserLoginDto)
 {
     List<ErrorModel> errorModels = new List<ErrorModel>();
     var user = await _appUserService.FindByUserName(appUserLoginDto.Username);
     if (user == null)
     {
         var error = new ErrorModel()
         {
             FieldName = "Username",
             Message = $"{appUserLoginDto.Username} doesn't match."
         };
         errorModels.Add(error);
         var response = new ErrorResponse()
         {
             Errors = errorModels
         };
         return BadRequest(response);
     }
     else
     {
         if (_appUserService.CheckPassword(appUserLoginDto).Result)
         {
             var roles = await _appUserService.GetRolesByUserName(appUserLoginDto.Username);
             var token = _jwtService.GenerateJwt(user, roles);
             LoginSuccessDto loginSuccessDto = new LoginSuccessDto()
             {
                 Token = token,
                 Email = user.Email,
                 Username = user.Username,
                 ProfileImage = user.ProfileImage
             };
             return Ok(loginSuccessDto);
         }
         var error = new ErrorModel()
         {
             FieldName = "Password",
             Message = "Password doesn't match."
         };
         errorModels.Add(error);
         var response = new ErrorResponse()
         {
             Errors = errorModels
         };
         return BadRequest(response);
     }
 }