public async Task <IActionResult> SetCaja(int caja) { try { var cajas = new TCajas { Caja = caja, Estado = true, Asignada = false, Usuario = "Sin usuario" }; var data = _objeto._context.TCajas.Where(c => c.Caja.Equals(caja)).ToList(); if (0 == data.Count) { _objeto._context.Add(cajas); await _objeto._context.SaveChangesAsync(); } else { mensajeError = $"El numero de {caja} ya esta registrada"; } } catch (Exception ex) { mensajeError = ex.Message; } return(Redirect("/Cajas/Index")); }
public async Task <IActionResult> SessionClose() { var data = _objeto._cajas.GetCajas_registros(User); var cajas = new TCajas { ID = data[0], Caja = data[1], Estado = true, Asignada = false, Usuario = "Sin usuario" }; _objeto._context.Update(cajas); await _objeto._context.SaveChangesAsync(); //HttpContext.Session.Remove("User"); await _objeto._signInManager.SignOutAsync(); return(RedirectToAction(nameof(HomeController.Index), "Home")); }
internal async Task <List <object[]> > userLogin(string email, string password) { try { TCajas _caja = null; var appUser1 = _context.Users.Where(u => u.Email.Equals(email)).ToList(); if (0 < appUser1.Count) { var user = appUser1.ElementAt(0); _selectList = await _usersRole.getRole(_userManager, _roleManager, user.Id); var cajas = _context.TCajas.Where(c => c.Estado.Equals(true) && c.Asignada.Equals(false)).ToList(); var appUser = _context.TUsuarios.Where(u => u.IdUser.Equals(user.Id)).ToList().ElementAt(0); if (_selectList[0].Text.Equals("Admin")) { var result = await _signInManager.PasswordSignInAsync(email, password, false, lockoutOnFailure : false); if (result.Succeeded) { var registro = new TCajas_registros { IdUsuario = user.Id, Nombre = appUser.Nombre, Apellido = appUser.Apellido, Usuario = user.Email, Role = _selectList[0].Text, IdCaja = 0, Caja = 0, Estado = true, Hora = DateTime.Now.ToString("HH:mm:ss"), Dia = DateTime.Now.Day, Mes = DateTime.Now.ToString("MMM"), Year = DateTime.Now.ToString("yyy"), Fecha = DateTime.Now.ToString("dd/MMM/yyy") }; _context.Add(registro); await _context.SaveChangesAsync(); code = "0"; description = result.Succeeded.ToString(); } else { code = "1"; description = "Correo o contraseña inválidos"; } } else { if (0 < cajas.Count) { var result = await _signInManager.PasswordSignInAsync(email, password, false, lockoutOnFailure : false); if (result.Succeeded) { var strategy = _context.Database.CreateExecutionStrategy(); await strategy.ExecuteAsync(async() => { using (var transaction = _context.Database.BeginTransaction()) { _caja = cajas.ElementAt(0); _caja.Asignada = true; _caja.Usuario = user.Email; _context.Update(_caja); await _context.SaveChangesAsync(); var registro = new TCajas_registros { IdUsuario = user.Id, Nombre = appUser.Nombre, Apellido = appUser.Apellido, Usuario = user.Email, Role = _selectList[0].Text, IdCaja = _caja.ID, Caja = _caja.Caja, Estado = true, Hora = DateTime.Now.ToString("HH:mm:ss"), Dia = DateTime.Now.Day, Mes = DateTime.Now.ToString("MMM"), Year = DateTime.Now.ToString("yyy"), Fecha = DateTime.Now.ToString("dd/MMM/yyy") }; _context.Add(registro); await _context.SaveChangesAsync(); code = "0"; description = result.Succeeded.ToString(); transaction.Commit(); } }); } else { code = "1"; description = "Correo o contraseña inválidos"; } } else { description = "No hay cajas disponibles"; } } } else { description = "Usuario no registrado"; } } catch (Exception ex) { code = "2"; description = ex.Message; } _identityError = new IdentityError { Code = code, Description = description }; object[] data = { _identityError, _userData }; dataList.Add(data); return(dataList); }