예제 #1
0
 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"));
 }
예제 #2
0
        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"));
        }
예제 #3
0
        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);
        }