public ActionResult InicioSesion(FormCollection form)
        {
            var email = form["correoElectronico"];
            var pass  = form["contraseña"];

            if (ModelState.IsValid)
            {
                using (serviciosCREntities db = new serviciosCREntities())
                {
                    var u = db.Usuarios.Where(a => a.correo.Equals(email)).FirstOrDefault();
                    if ((u != null) && (u.idRolUsuario == 1))   // existe el usuario y es tipo regular
                    {
                        if (string.Compare(Crypto.Hash(pass), u.contrasena) == 0)
                        {
                            Usuario user = new Usuario();
                            user.idUsuario  = u.idUsuario;
                            user.correo     = u.correo;
                            Session["USER"] = user;

                            return(RedirectToAction("Categorias", "Administrador"));
                        }
                        else
                        {
                            ViewBag.Error = "Contraseña incorrecta";
                        }
                    }
                    else
                    {
                        ViewBag.Error = "Este correo no esta registrado en nuestro sistema.";
                    }
                }
            }
            return(PartialView(form));
        }
        public ActionResult AgregarServicio()
        {
            serviciosCREntities db = new serviciosCREntities();
            var categorias         = db.Categorias.ToList();

            return(View(categorias));
        }
Example #3
0
        public ActionResult CalificarServicio(FormCollection form)
        {
            Usuario      user         = (Usuario)Session["USER"];
            Calificacion calificacion = new Calificacion();


            calificacion.comentario    = form["comentario"];
            calificacion.calificacion1 = Convert.ToDecimal(form["calificacion"], CultureInfo.InvariantCulture);
            calificacion.fechaHora     = DateTime.Now;
            calificacion.idServicio    = (string)Session["IDServicio"];
            calificacion.idUsuario     = user.idUsuario;
            calificacion.Usuario       = user;
            user.contrasena            = "";


            neo.usuario_x_Servicio(calificacion);

            calificacion.Usuario = null;
            if (ModelState.IsValid)
            {
                using (serviciosCREntities db = new serviciosCREntities())
                {
                    db.Calificacions.Add(calificacion);
                    db.SaveChanges();
                    ViewBag.Error         = "Servicio calificado!";
                    Session["IDServicio"] = null;
                    return(RedirectToAction("Ordenes", "Cliente"));
                }
            }

            return(View(form));
        }
 public bool emailExist(string email)
 {
     using (serviciosCREntities db = new serviciosCREntities())
     {
         var v = db.Usuarios.Where(a => a.correo == email).FirstOrDefault();
         return(v != null);
     }
 }
Example #5
0
        public ActionResult Registrarse(FormCollection form)
        {
            Usuario user    = new Usuario();
            Regular regular = new Regular();

            var name        = form["nombre"];
            var lastName    = form["apellidos"];
            var bankAccount = form["numeroCuenta"];

            var email       = form["correoElectronico"];
            var pass        = form["contraseña"];
            var passConfirm = form["confirmarContraseña"];

            if (string.Compare(pass, passConfirm) == 0)
            {
                user.correo     = email;
                user.contrasena = Crypto.Hash(pass);

                user.contrasena = user.contrasena;

                user.idRolUsuario = 3;          // 3 = regular

                regular.primerNombre   = name;
                regular.apellidos      = lastName;
                regular.cuentaBancaria = Convert.ToDecimal(bankAccount);
                neo.agregarUsuario(user);

                if (ModelState.IsValid)
                {
                    if (emailExist(email))
                    {
                        ViewBag.Error = "El correo ya esta registrado en el sistema.";
                    }
                    else
                    {
                        using (serviciosCREntities db = new serviciosCREntities())
                        {
                            db.Usuarios.Add(user);
                            db.SaveChanges();
                            var v = db.Usuarios.Where(a => a.correo == user.correo).FirstOrDefault();
                            regular.idUsuario = v.idUsuario;
                            db.Regulars.Add(regular);
                            db.SaveChanges();
                            ViewBag.Error = "Usuario creado correctamente";

                            return(RedirectToAction("InicioSesion", "Cliente"));
                        }
                    }
                }
            }
            else
            {
                ViewBag.Error = "Contraseñas no coiciden";
            }
            return(PartialView(form));
        }
Example #6
0
        public ActionResult Categorias()
        {
            serviciosCREntities db = new serviciosCREntities();

            List <Categoria> categorias = db.Categorias.ToList();                                                                       //consulta de sql server para traer todas las categorias
            Usuario          user       = (Usuario)Session["USER"];                                                                     //usuario que tiene sesion iniciada
            List <string>    likes      = neo.usuario_x_Like(user);                                                                     //lista de categorias a las cual el usuario les ha dado like

            Tuple <List <Categoria>, List <string> > categoriasLikes = new Tuple <List <Categoria>, List <string> >(categorias, likes); //tupla para mandar toda la informacion

            List <Tuple <List <Categoria>, List <string> > > lista = new List <Tuple <List <Categoria>, List <string> > >();

            lista.Add(categoriasLikes);
            return(View(lista));
        }
Example #7
0
        //Crea una orden con todos los items del carrito si existe almenos un item
        public ActionResult Pagar()
        {
            Usuario user  = (Usuario)Session["USER"];
            Cart    cart  = new Cart(user.idUsuario);
            Orden   orden = new Orden();

            cart.loadCartItems();
            if (cart.ShoppingCart.Count() > 0)
            {
                orden.pagada    = true;
                orden.idCliente = user.idUsuario;
                orden.fechaHora = DateTime.Now;

                if (ModelState.IsValid)
                {
                    using (serviciosCREntities db = new serviciosCREntities())
                    {
                        db.Ordens.Add(orden);
                        db.SaveChanges();

                        foreach (Tuple <Service, Fare> e in cart.ShoppingCart)
                        {
                            ServiciosPorOrden spo = new ServiciosPorOrden();
                            spo.cantidad   = e.Item2.qty;
                            spo.idOrden    = orden.idOrden;
                            spo.idServicio = e.Item1.id.ToString();
                            spo.idTarifa   = e.Item2.id.ToString();
                            orden.ServiciosPorOrdens.Add(spo);
                        }

                        foreach (ServiciosPorOrden spo in orden.ServiciosPorOrdens)
                        {
                            db.ServiciosPorOrdens.Add(spo);
                        }
                        db.SaveChanges();
                        cart.clearCart();
                        ViewBag.Error = "Orden creada correctamente";
                        return(RedirectToAction("Ordenes", "Cliente"));
                    }
                }
            }
            else
            {
                ViewBag.Error = "No hay servicios en el carrito";
            }
            return(View());
        }
        public ActionResult Registrarse(FormCollection form)
        {
            Usuario user        = new Usuario();
            var     email       = form["correoElectronico"];
            var     pass        = form["contraseña"];
            var     passConfirm = form["confirmarContraseña"];


            if (string.Compare(pass, passConfirm) == 0)
            {
                user.correo     = email;
                user.contrasena = Crypto.Hash(pass);

                user.contrasena = user.contrasena;

                user.idRolUsuario = 1;          // 2 = vendedor

                if (ModelState.IsValid)
                {
                    if (emailExist(email))
                    {
                        ViewBag.Error = "El correo ya esta registrado en el sistema.";
                    }
                    else
                    {
                        using (serviciosCREntities db = new serviciosCREntities())
                        {
                            db.Usuarios.Add(user);
                            db.SaveChanges();
                            ViewBag.Error = "Usuario creado correctamente";
                            return(RedirectToAction("InicioSesion", "Administrador"));
                        }
                    }
                }
            }
            else
            {
                ViewBag.Error = "Contraseñas no coiciden";
            }
            return(PartialView());
        }
Example #9
0
        public ActionResult Ordenes()
        {
            Usuario user          = (Usuario)Session["USER"];
            var     listaSqlOrden = new List <Orden>();
            var     listaOrden    = new List <Order>();

            if (ModelState.IsValid)
            {
                using (serviciosCREntities db = new serviciosCREntities())
                {
                    listaSqlOrden = db.Ordens.Where(a => a.idCliente.Equals(user.idUsuario)).ToList();

                    if (listaSqlOrden != null)
                    {
                        // Llenar lista de Order
                        foreach (Orden o in listaSqlOrden)
                        {
                            Order order = new Order();
                            order.fechaHora = o.fechaHora;
                            order.idCliente = o.idCliente;
                            order.idOrden   = o.idOrden;
                            listaOrden.Add(order);
                        }

                        int idOrden;
                        List <ServiciosPorOrden> sopList;
                        int i, j;
                        for (i = 0; i < listaOrden.Count(); ++i)
                        {
                            idOrden = listaOrden[i].idOrden;
                            sopList = db.ServiciosPorOrdens.Where(a => a.idOrden.Equals(idOrden)).ToList();
                            for (j = 0; j < sopList.Count(); ++j)
                            {
                                MongoConnect mongo   = new MongoConnect();
                                Service      service = mongo.getid((sopList[j].idServicio).ToString());

                                Fare fare = new Fare();
                                foreach (var f in service.fare)
                                {
                                    if ((sopList[j].idTarifa.ToString()).Equals(f.id.ToString()))
                                    {
                                        fare           = f;
                                        fare.serviceId = sopList[j].idServicio;
                                        fare.qty       = sopList[j].cantidad;
                                    }
                                }
                                Tuple <Service, Fare> item = new Tuple <Service, Fare>(service, fare);
                                listaOrden[i].orderList.Add(item);
                            }
                        }
                    }
                    else
                    {
                        listaOrden    = null;
                        ViewBag.Error = "Usted no tiene ninguna orden registrada";
                    }
                }
            }
            //Si no hay ordenes retorna null
            return(View(listaOrden));
        }