public async Task <IActionResult> recuperarcontra(string id)
        {
            if (ModelState.IsValid)
            {
                using (despensa1Context dc = new despensa1Context())
                {
                    var user = dc.Usuario.Where(a => a.CorreoElectronico.Equals(id)).FirstOrDefault();
                    if (user != null)
                    {
                        string resetCode = Guid.NewGuid().ToString();
                        EnviarEmail(user.CorreoElectronico, resetCode, 2);
                        user.Grid2 = resetCode;
                        _context.Update(user);
                        await _context.SaveChangesAsync();

                        return(RedirectToAction("Login"));
                    }
                }
            }
            else
            {
                return(RedirectToAction("Index", "Home"));
            }
            return(RedirectToAction("Index", "Home"));
        }
        //   public async Task<IActionResult> DeleteConfirmed(int id)
        public async Task compra(int id)
        {
            despensa1Context productModel = new despensa1Context();
            var productos = await productModel.Producto.FindAsync(id);

            if (SessionHelper.GetObjectFromJson <List <Item> >(HttpContext.Session, "cart") == null)
            {
                List <Item> cart = new List <Item>();
                cart.Add(new Item {
                    Product = productos, Quantity = 1, precio_total_articulo = productos.PrecioVenta
                });
                SessionHelper.SetObjectAsJson(HttpContext.Session, "cart", cart);
            }
            else
            {
                List <Item> cart  = SessionHelper.GetObjectFromJson <List <Item> >(HttpContext.Session, "cart");
                int         index = isExist(id);
                if (index != -1)
                {
                    cart[index].Quantity++;
                    cart[index].precio_total_articulo = cart[index].precio_total_articulo + productos.PrecioVenta;
                }
                else
                {
                    cart.Add(new Item {
                        Product = productos, Quantity = 1, precio_total_articulo = productos.PrecioVenta
                    });
                }
                SessionHelper.SetObjectAsJson(HttpContext.Session, "cart", cart);
            }
        }
        public async Task <IActionResult> Cambiar_foto(int id, [Bind("imagens")] Usuario usuario)
        {
            ClaimsPrincipal currentUser = this.User;
            var             identity    = (ClaimsIdentity)currentUser.Identity;

            id = Int32.Parse(identity.Claims.FirstOrDefault(c => c.Type == ClaimTypes.NameIdentifier)?.Value);
            Console.WriteLine("entre al editar" + id);
            if (ModelState.IsValid)
            {
                if (usuario.imagens != null)
                {
                    try
                    {
                        despensa1Context db = new despensa1Context();
                        var anterior        = await db.Usuario.FindAsync(id);

                        string carpeta       = HostEnvironment.WebRootPath;
                        string nombrearchivo = Path.GetFileNameWithoutExtension(usuario.imagens.FileName);
                        string extencion     = Path.GetExtension(usuario.imagens.FileName);
                        anterior.ImagenPerfil = nombrearchivo = "usua" + id + DateTime.Now.ToString("yymmssfff") + extencion;
                        string path = Path.Combine(carpeta + "/perfiles/", nombrearchivo);
                        using (var hola = new FileStream(path, FileMode.Create))
                        {
                            await usuario.imagens.CopyToAsync(hola);
                        }
                        _context.Update(anterior);
                        await _context.SaveChangesAsync();
                    }
                    catch (DbUpdateConcurrencyException)
                    {
                        if (!UsuarioExists(usuario.CodUsuario))
                        {
                            return(NotFound());
                        }
                        else
                        {
                            throw;
                        }
                    }
                    return(RedirectToAction("Details", "Usuarios", new { id = id }));
                }
                else
                {
                    ViewBag.Error1 = 1;
                    return(View("Details"));
                }
            }
            ViewData["CodGeneo"]  = new SelectList(_context.Genero, "CodGenero", "Genero1", usuario.CodGeneo);
            ViewData["CodEstado"] = new SelectList(_context.EstadoActividad, "CodEstado", "Estado", usuario.CodEstado);
            ViewData["CodRol"]    = new SelectList(_context.Rol, "CodRol", "Rol1", usuario.CodRol);
            return(RedirectToAction("Details", "Usuarios", new { id = id }));
        }
 public IActionResult cambiarContra(string id)
 {
     using (despensa1Context dc = new despensa1Context())
     {
         var user = dc.Usuario.Where(a => a.Grid2.Equals(id)).FirstOrDefault();
         if (user != null)
         {
             ViewBag.grid2 = id;
             return(View(user));
         }
     }
     return(RedirectToAction("Error", "Home"));
 }
        public async Task <IActionResult> Edit(int id, [Bind("CodFactura,FecEmision,TotalVendido,TotalCosto,CodEmpleado,CodCliente,CodEstado")] PredidoFactura predidoFactura)
        {
            ClaimsPrincipal currentUser = this.User;
            var             identity    = (ClaimsIdentity)currentUser.Identity;
            var             hola        = Int32.Parse(identity.Claims.FirstOrDefault(c => c.Type == ClaimTypes.NameIdentifier)?.Value);
            var             rol         = Int32.Parse(identity.Claims.FirstOrDefault(c => c.Type == ClaimTypes.Role)?.Value);

            if (id != predidoFactura.CodFactura)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    despensa1Context db = new despensa1Context();
                    var aux             = await db.PredidoFactura.FindAsync(id);

                    if (rol == 3)
                    {
                        aux.CodEstado = predidoFactura.CodEstado;
                    }
                    aux.CodEstado   = 2;
                    aux.CodEmpleado = hola;
                    Factura factura = new Factura();
                    factura.Fecha       = DateTime.Now;
                    factura.CodEmpleado = aux.CodEmpleado;
                    factura.CodCliente  = aux.CodCliente;
                    _context.Update(aux);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!PredidoFacturaExists(predidoFactura.CodFactura))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(PedidosPendientes)));
            }
            ViewData["CodCliente"]  = new SelectList(_context.Usuario, "CodUsuario", "CodUsuario", predidoFactura.CodCliente);
            ViewData["CodEmpleado"] = new SelectList(_context.Usuario, "CodUsuario", "CodUsuario", predidoFactura.CodEmpleado);
            ViewData["CodEstado"]   = new SelectList(_context.EstadoPedido, "CodEstado", "CodEstado", predidoFactura.CodEstado);
            return(View(predidoFactura));
        }
        public async Task <IActionResult> Cambiar_contaseña(int id, [Bind("CodUsuario,PrimerNombre,SegundoNombre,PrimerApellido,SegundoApellido,Contraseña,ConfirmarContraseña,CodGenero,Cui,Telefono,Direccion,Nit,CorreoElectronico,FecNac,CodGeneo,CodRol,CodEstado")] Usuario usuario)
        {
            ClaimsPrincipal currentUser = this.User;
            var             identity    = (ClaimsIdentity)currentUser.Identity;

            id = Int32.Parse(identity.Claims.FirstOrDefault(c => c.Type == ClaimTypes.NameIdentifier)?.Value);
            if (usuario.CodUsuario != id)
            {
                return(RedirectToAction("Details", "Usuarios", new { id = id }));
            }
            Console.WriteLine("entre al editar" + id);
            if (ModelState.IsValid)
            {
                if (usuario.Contraseña.Equals(usuario.ConfirmarContraseña))
                {
                    var contraseña = usuario.Contraseña;
                    try
                    {
                        despensa1Context db = new despensa1Context();
                        var anterior        = await db.Usuario.FindAsync(id);

                        usuario            = anterior;
                        usuario.Contraseña = Crypto.Hash(contraseña);
                        _context.Update(usuario);
                        await _context.SaveChangesAsync();
                    }
                    catch (DbUpdateConcurrencyException)
                    {
                        if (!UsuarioExists(usuario.CodUsuario))
                        {
                            return(NotFound());
                        }
                        else
                        {
                            throw;
                        }
                    }
                    return(RedirectToAction("Details", "Usuarios", new { id = id }));
                }
                else
                {
                    ViewBag.Error1 = 1;
                    return(View("Details"));
                }
            }
            ViewData["CodGeneo"]  = new SelectList(_context.Genero, "CodGenero", "Genero1", usuario.CodGeneo);
            ViewData["CodEstado"] = new SelectList(_context.EstadoActividad, "CodEstado", "Estado", usuario.CodEstado);
            ViewData["CodRol"]    = new SelectList(_context.Rol, "CodRol", "Rol1", usuario.CodRol);
            return(RedirectToAction("Details", "Usuarios", new { id = id }));
        }
        public async Task <IActionResult> cambiarContra(string id, string contra, string confirmarcontra)
        {
            if (ModelState.IsValid)
            {
                if (contra == confirmarcontra)
                {
                    using (despensa1Context dc = new despensa1Context())
                    {
                        var user = dc.Usuario.Where(a => a.Grid2.Equals(id)).FirstOrDefault();
                        if (user != null)
                        {
                            user.Contraseña = Crypto.Hash(contra);
                            user.Grid2      = null;
                            user.CodEstado  = 3;
                            _context.Update(user);
                            await _context.SaveChangesAsync();

                            ClaimsIdentity identity        = null;
                            bool           isAuthenticated = false;
                            identity = new ClaimsIdentity(new[] {
                                new Claim(ClaimTypes.Name, "" + user.PrimerNombre),
                                new Claim(ClaimTypes.Email, "" + user.SegundoNombre),
                                new Claim(ClaimTypes.NameIdentifier, "" + user.CodUsuario),
                                new Claim(ClaimTypes.Role, "" + user.CodRol)
                            }, CookieAuthenticationDefaults.AuthenticationScheme);

                            isAuthenticated = true;


                            if (isAuthenticated)
                            {
                                var principal = new ClaimsPrincipal(identity);
                                var loginA    = HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, principal);
                                return(RedirectToAction("Details", "Usuarios"));
                            }
                        }
                    }
                }
                else
                {
                    return(RedirectToAction("cambiarContra", "Usuarios", new { id = id }));
                }
            }
            else
            {
                return(RedirectToAction("Login"));
            }
            return(RedirectToAction("Login"));
        }
        public async Task <IActionResult> ConfirmarCuenta(string id)
        {
            if (ModelState.IsValid)
            {
                using (despensa1Context dc = new despensa1Context())
                {
                    var user = dc.Usuario.Where(a => a.Grid.Equals(id)).FirstOrDefault();
                    if (user != null)
                    {
                        user.CodEstado = 3;
                        user.Grid      = null;
                        //  dc.Configuration.ValidateOnSaveEnabled = false;
                        _context.Update(user);
                        await _context.SaveChangesAsync();

                        ClaimsIdentity identity        = null;
                        bool           isAuthenticated = false;
                        identity = new ClaimsIdentity(new[] {
                            new Claim(ClaimTypes.Name, "" + user.PrimerNombre),
                            new Claim(ClaimTypes.Email, "" + user.SegundoNombre),
                            new Claim(ClaimTypes.NameIdentifier, "" + user.CodUsuario),
                            new Claim(ClaimTypes.Role, "" + user.CodRol)
                        }, CookieAuthenticationDefaults.AuthenticationScheme);

                        isAuthenticated = true;


                        if (isAuthenticated)
                        {
                            //contador_sesion++;
                            var principal = new ClaimsPrincipal(identity);
                            var loginA    = HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, principal);
                            return(RedirectToAction("Details", "Usuarios"));
                        }
                    }
                }
            }
            else
            {
                return(RedirectToAction("Login"));
            }
            return(RedirectToAction("Login"));
        }
        public async Task <IActionResult> UsuarioAdmin(int id, [Bind("CodUsuario,CodRol,CodEstado")] Usuario usuario)
        {
            Console.WriteLine("usuario admin: " + usuario.CodUsuario + " " + usuario.CodRol + " " + usuario.CodEstado + " " + id);
            ClaimsPrincipal currentUser = this.User;
            var             identity    = (ClaimsIdentity)currentUser.Identity;
            var             id3         = Int32.Parse(identity.Claims.FirstOrDefault(c => c.Type == ClaimTypes.NameIdentifier)?.Value);

            if (usuario.CodUsuario == id3)
            {
                return(RedirectToAction("Index", "Usuarios", new { id = id }));
            }
            if (ModelState.IsValid)
            {
                try
                {
                    despensa1Context db = new despensa1Context();
                    var anterior        = await db.Usuario.FindAsync(usuario.CodUsuario);

                    anterior.CodRol    = usuario.CodRol;
                    anterior.CodEstado = usuario.CodEstado;
                    _context.Update(anterior);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!UsuarioExists(usuario.CodUsuario))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction("Index", "Usuarios"));
            }
            ViewData["CodGeneo"]  = new SelectList(_context.Genero, "CodGenero", "Genero1", usuario.CodGeneo);
            ViewData["CodEstado"] = new SelectList(_context.EstadoActividad, "CodEstado", "Estado", usuario.CodEstado);
            ViewData["CodRol"]    = new SelectList(_context.Rol, "CodRol", "Rol1", usuario.CodRol);
            return(RedirectToAction("Index", "Usuarios", new { id = id }));
        }
        public ActionResult Login(Usuario login, string ReturnUrl)
        {
            Console.WriteLine("\"" + login.Contraseña + "\"  \"" + login.CorreoElectronico + "\"");
            using (despensa1Context dc = new despensa1Context())
            {
                ClaimsIdentity identity        = null;
                bool           isAuthenticated = false;
                var            ad = dc.Usuario.FirstOrDefault();
                var            c  = dc.Usuario.Where(w => w.CorreoElectronico == login.CorreoElectronico).FirstOrDefault();
                //    Console.WriteLine("\"" + c.Contraseña + "\"  \"" + c.CorreoElectronico + "\"");
                if (c != null)
                {
                    if (string.Compare(Crypto.Hash(login.Contraseña), c.Contraseña) == 0)
                    {
                        if (c.CodEstado == 3)
                        {
                            var nombres = ad.PrimerNombre;

                            Console.WriteLine("Nombre Completo:" + nombres);
                            var nombre = c.PrimerNombre + c.PrimerApellido;

                            Console.WriteLine("Nombre Completo:" + nombre);
                            System.Diagnostics.Debug.WriteLine("nombre" + nombre);

                            var pers = dc.Rol.Where(p => p.CodRol == c.CodRol).FirstOrDefault();

                            Console.WriteLine("id_ROL:" + pers.CodRol);
                            System.Diagnostics.Debug.WriteLine("id_ROL:" + pers.CodRol);
                            identity = new ClaimsIdentity(new[] {
                                new Claim(ClaimTypes.Name, "" + c.PrimerNombre),
                                new Claim(ClaimTypes.Email, "" + c.SegundoNombre),
                                new Claim(ClaimTypes.NameIdentifier, "" + c.CodUsuario),
                                new Claim(ClaimTypes.Role, pers.CodRol + "")
                            }, CookieAuthenticationDefaults.AuthenticationScheme);

                            Console.WriteLine("rol \"" + pers.Rol1 + "\"");
                            isAuthenticated = true;


                            if (isAuthenticated)
                            {
                                //contador_sesion++;
                                var principal = new ClaimsPrincipal(identity);
                                var loginA    = HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, principal);
                                Console.WriteLine("este es el return" + ReturnUrl);
                                if (ReturnUrl != "")
                                {
                                    return(RedirectToAction("Index", "Categorias"));
                                }
                                else
                                {
                                    return(RedirectToAction(ReturnUrl));
                                }
                            }
                        }
                        else
                        {
                            ViewBag.ActividadCuenta = 1;
                            RedirectToAction("Login");
                        }
                    }
                    else
                    {
                        RedirectToAction("Login");
                    }
                }
                else
                {
                    RedirectToAction("Login");
                }
            }
            return(View());
        }
 public PredidoFacturasController(despensa1Context context)
 {
     _context = context;
 }
 public BitacorasController(despensa1Context context)
 {
     _context = context;
 }
 public ProveedoresController(despensa1Context context)
 {
     _context = context;
 }
Пример #14
0
 public MarcasController(despensa1Context context)
 {
     _context = context;
 }
Пример #15
0
 public HomeController(ILogger <HomeController> logger, despensa1Context context)
 {
     _context = context;
     _logger  = logger;
 }
 public CategoriasController(despensa1Context context, IWebHostEnvironment hostEnvironment)
 {
     _context             = context;
     this.HostEnvironment = hostEnvironment;
 }
 public UsuariosController(despensa1Context context, IWebHostEnvironment hostEnvironment)
 {
     this.HostEnvironment = hostEnvironment;
     _context             = context;
 }
 public ProductoesController(despensa1Context context, IWebHostEnvironment hostEnvironment)
 {
     this.HostEnvironment = hostEnvironment;
     _context             = context;
 }