public async Task <IActionResult> Edit(Guid id, [Bind("CmsuserId,CreateDateTime,ModifyDateTime,Name,Phone,CompanyId,CountryId,CmsuserTypeId,UserId,TimeZoneLocationId,IsDeleted,Mobile,IsAbleToApproveQuotes,Pospin,PospinexpiryDate,IsPosUser,IsLoggedInToPos,LastKtixPosTerminalId")] Cmsuser cmsuser) { if (id != cmsuser.CmsuserId) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(cmsuser); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!CmsuserExists(cmsuser.CmsuserId)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["CmsuserTypeId"] = new SelectList(_context.Cmsusertype, "CmsuserTypeId", "Name", cmsuser.CmsuserTypeId); ViewData["CompanyId"] = new SelectList(_context.Company, "CompanyId", "Address1", cmsuser.CompanyId); ViewData["CountryId"] = new SelectList(_context.Country, "CountryId", "Name", cmsuser.CountryId); ViewData["UserId"] = new SelectList(_context.AspnetUsers, "UserId", "LoweredUserName", cmsuser.UserId); return(View(cmsuser)); }
// [Authorize] public async Task <IActionResult> Logout(Guid CMSuserId) { var query = from p in _context.Cmsuser where p.CmsuserId == CMSuserId select p; var result = await query.ToListAsync(); if (result == null || result.Count() == 0) { //this is a super user of Kinesis var NullUser = new LoginDTO() { LoginType = "SUPER", Username = "******", Status = true }; List <LoginDTO> list = new List <LoginDTO>(); list.Add(NullUser); if (list != null) { return(Ok(list)); } else { return(NotFound()); } } else { Cmsuser thisUser = result.FirstOrDefault(); var CMSuser = query.Select(x => new LoginDTO() { LoginType = "CMSUser", Username = "******", Status = true }).ToList(); //update table var todo = _context.Cmsuser.Find(thisUser.CmsuserId); todo.IsLoggedInToPos = false; _context.Cmsuser.Update(todo); _context.SaveChanges(); if (CMSuser != null) { return(Ok(CMSuser)); } else { return(NotFound()); } } }
private ClaimsIdentity GenerateClaims(Cmsuser user) { var userId = user == null ? string.Empty : user.Name; IList <Claim> claims = new List <Claim> { new Claim(ClaimTypes.Name, userId), }; return(new ClaimsIdentity(claims, "Bearer")); }
private string GenerateJSONWebToken(Cmsuser user = null) { var securityKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_config.GetSection("Jwt:Key").Value)); var credentials = new SigningCredentials(securityKey, SecurityAlgorithms.HmacSha256); var identity = GenerateClaims(user); var now = DateTime.UtcNow; var token = new JwtSecurityToken(claims: identity.Claims, notBefore: now, expires: now.Add(TimeSpan.FromDays(+1)), signingCredentials: credentials); return(new JwtSecurityTokenHandler().WriteToken(token)); }
public async Task <IActionResult> Create([Bind("CmsuserId,CreateDateTime,ModifyDateTime,Name,Phone,CompanyId,CountryId,CmsuserTypeId,UserId,TimeZoneLocationId,IsDeleted,Mobile,IsAbleToApproveQuotes,Pospin,PospinexpiryDate,IsPosUser,IsLoggedInToPos,LastKtixPosTerminalId")] Cmsuser cmsuser) { if (ModelState.IsValid) { cmsuser.CmsuserId = Guid.NewGuid(); _context.Add(cmsuser); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } ViewData["CmsuserTypeId"] = new SelectList(_context.Cmsusertype, "CmsuserTypeId", "Name", cmsuser.CmsuserTypeId); ViewData["CompanyId"] = new SelectList(_context.Company, "CompanyId", "Address1", cmsuser.CompanyId); ViewData["CountryId"] = new SelectList(_context.Country, "CountryId", "Name", cmsuser.CountryId); ViewData["UserId"] = new SelectList(_context.AspnetUsers, "UserId", "LoweredUserName", cmsuser.UserId); return(View(cmsuser)); }
// GET: Logout public IEnumerable <LoginDTO> Logout(Guid CMSuserId) { var query = from p in _context.Cmsuser where p.CmsuserId == CMSuserId select p; if (query == null || query.Count() == 0) { //this is a super user of Kinesis var NullUser = new LoginDTO() { loginType = "SUPER", username = "******", status = true }; List <LoginDTO> list = new List <LoginDTO>(); list.Add(NullUser); return(list); } else { Cmsuser thisUser = query.FirstOrDefault(); var CMSuser = query.Select(x => new LoginDTO() { loginType = "CMSUser", username = "******", status = true }).ToList(); //update table var todo = _context.Cmsuser.Find(thisUser.CmsuserId); todo.IsLoggedInToPos = false; _context.Cmsuser.Update(todo); _context.SaveChanges(); return(CMSuser); } }
// GET: Login public IEnumerable <LoginDTO> Login(Guid companyId, Guid cinemaId, Int64 PIN, Guid KTixPosTerminalId) { if (PIN == 1234567812345678) { //this is a super user of Kinesis var SUPERuser = new LoginDTO() { loginType = "MASTER", username = "******", status = true }; List <LoginDTO> list = new List <LoginDTO>(); list.Add(SUPERuser); return(list); } else { var query = from p in _context.Cmsuser where p.CompanyId == companyId && p.IsPosUser == true && p.Pospin == PIN && p.PospinexpiryDate >= DateTime.Now && p.IsLoggedInToPos == false && _context.Cmsusercinemas.Any (bc => bc.CmsuserId == p.CmsuserId && bc.CinemaId == cinemaId) select p; if (query == null || query.Count() == 0) { //this is a super user of Kinesis var NullUser = new LoginDTO() { loginType = "CMSUser", username = "******", status = false, cmsUserId = new Guid("00000000-0000-0000-0000-000000000000") }; List <LoginDTO> list = new List <LoginDTO>(); list.Add(NullUser); return(list); } else { Cmsuser thisUser = query.FirstOrDefault(); var CMSuser = query.Select(x => new LoginDTO() { loginType = "CMSUser", username = x.Name, status = true, cmsUserId = x.CmsuserId }).ToList(); //update table var todo = _context.Cmsuser.Find(thisUser.CmsuserId); todo.IsLoggedInToPos = true; todo.LastKtixPosTerminalId = KTixPosTerminalId; _context.Cmsuser.Update(todo); _context.SaveChanges(); return(CMSuser); } } }
// [Authorize] public async Task <IActionResult> Login(Guid companyId, Guid cinemaId, Int64 PIN, Guid KTixPosTerminalId) { if (PIN == 1234567812345678) { //this is a super user of Kinesis //get token var tokenString = GenerateJSONWebToken(); var SUPERuser = new LoginDTO() { LoginType = "MASTER", Username = "******", Status = true, Key = tokenString }; List <LoginDTO> list = new List <LoginDTO>(); list.Add(SUPERuser); if (list != null) { return(Ok(list)); } else { return(NotFound("Super user Login Failed")); } } else { var query = from p in _context.Cmsuser where p.CompanyId == companyId && p.IsPosUser == true && p.Pospin == PIN && p.PospinexpiryDate >= DateTime.Now && p.IsLoggedInToPos == false && _context.Cmsusercinemas.Any (bc => bc.CmsuserId == p.CmsuserId && bc.CinemaId == cinemaId) select p; var result = await query.ToListAsync(); if (result == null || result.Count() == 0) { //this is a cms user of Kinesis var NullUser = new LoginDTO() { LoginType = "CMSUser", Username = "******", Status = false, CmsUserId = new Guid("00000000-0000-0000-0000-000000000000") }; List <LoginDTO> list = new List <LoginDTO>(); list.Add(NullUser); if (list != null) { return(Ok(list)); } else { return(NotFound()); } } else { Cmsuser thisUser = query.FirstOrDefault(); var tokenString = GenerateJSONWebToken(thisUser); var CMSuser = await query.Select(x => new LoginDTO() { LoginType = "CMSUser", Username = x.Name, Status = true, CmsUserId = x.CmsuserId, Key = tokenString }).ToListAsync(); //update table var todo = _context.Cmsuser.Find(thisUser.CmsuserId); todo.IsLoggedInToPos = true; todo.LastKtixPosTerminalId = KTixPosTerminalId; _context.Cmsuser.Update(todo); _context.SaveChanges(); if (CMSuser != null) { return(Ok(CMSuser)); } else { return(NotFound()); } } } }