// 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); } } }
//KtixPosTerminalId,KtixPosUseTypeId,KtixDescription,CompanyId,CinemaId,DeviceName,DeviceId,DeviceModel,Ipaddress,ApiendPoint public IEnumerable <KtixPosTerminalDTO> UpdateOrCreatePosTerminal(Guid KTixPosTerminalId, int KtixPosUseTypeId, String KtixDescription, Guid CompanyId, Guid CinemaId, String DeviceName, String DeviceId, String DeviceModel, String Ipaddress, String ApiendPoint) { var query = from p in _context.Ktixposterminal where p.KtixPosTerminalId == KTixPosTerminalId select p; if (query == null || query.Count() == 0) { //create a new record Ktixposterminal newTerminal = new Ktixposterminal() { KtixPosTerminalId = Guid.NewGuid(), KtixPosUseTypeId = KtixPosUseTypeId, KtixDescription = KtixDescription, CompanyId = CompanyId, CinemaId = CinemaId, DeviceName = DeviceName, DeviceId = DeviceId, DeviceModel = DeviceModel, Ipaddress = Ipaddress, ApiendPoint = ApiendPoint }; _context.Add(newTerminal); _context.SaveChanges(); //returm DTO object back List <KtixPosTerminalDTO> Poslist = new List <KtixPosTerminalDTO>(); var pos = new KtixPosTerminalDTO() { KTixPosTerminalId = newTerminal.KtixPosTerminalId, KTixPosUseTypeId = newTerminal.KtixPosUseTypeId, KTixDescription = newTerminal.KtixDescription, companyId = newTerminal.CompanyId, cinemaId = newTerminal.CinemaId, DeviceName = newTerminal.DeviceName, DeviceId = newTerminal.DeviceId, DeviceModel = newTerminal.DeviceModel, IPAddress = newTerminal.Ipaddress, APIEndPoint = newTerminal.ApiendPoint }; Poslist.Add(pos); return(Poslist); } //update else { //update object Ktixposterminal thisTerminal = query.FirstOrDefault(); var todo = _context.Ktixposterminal.Find(thisTerminal.KtixPosTerminalId); todo.KtixPosUseTypeId = KtixPosUseTypeId; todo.KtixDescription = KtixDescription; todo.CompanyId = CompanyId; todo.CinemaId = CinemaId; todo.DeviceName = DeviceName; todo.DeviceId = DeviceId; todo.DeviceModel = DeviceModel; todo.Ipaddress = Ipaddress; todo.ApiendPoint = ApiendPoint; _context.Ktixposterminal.Update(todo); _context.SaveChanges(); //returm DTO object back var pos = query.Select(x => new KtixPosTerminalDTO() { KTixPosTerminalId = x.KtixPosTerminalId, KTixPosUseTypeId = x.KtixPosUseTypeId, KTixDescription = x.KtixDescription, companyId = x.CompanyId, cinemaId = x.CinemaId, DeviceName = x.DeviceName, DeviceId = x.DeviceId, DeviceModel = x.DeviceModel, IPAddress = x.Ipaddress, APIEndPoint = x.ApiendPoint }).ToList(); return(pos); } }
// [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()); } } } }