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