예제 #1
0
        public ActionResult Index()
        {
            var store = new Microsoft.AspNet.Identity.EntityFramework.UserStore<NetCafeWeb.Models.ApplicationUser>(new NetCafeWeb.Models.ApplicationDbContext());
            var manager = new Microsoft.AspNet.Identity.UserManager<NetCafeWeb.Models.ApplicationUser>(store);

            var a = manager.IsInRoleAsync(User.Identity.GetUserId(), "Admin");
            bool isAdmin = a.Result;

            IRepository<User> userRepository = new UserRepository();
            IEnumerable<User> users = userRepository.List;
            ViewBag.users = users.Cast<User>().ToList();

            IRepository<PC> pcRepository = new PCRepository();
            IEnumerable<PC> pcs = pcRepository.List;
            ViewBag.pcs = pcs.Cast<PC>().ToList();

            if (isAdmin)
            {
                //show het order
                IRepository<Order> repository = new OrderRepository();
                IEnumerable<Order> order = repository.List;
                ViewBag.orders = order.Cast<Order>().ToList();
                //FormsAuthentication.SetAuthCookie("asd", false);
                return View();
            }
            else //La supervisor
            {
                //Lay supervior user
                String supervisorName = User.Identity.Name;
                //Lay supervior id
                UserRepository repo = new UserRepository();
                NetCafeRepository netRepo = new NetCafeRepository();
                OrderRepository orderRepo = new OrderRepository();
                int supervisorId = repo.getIDByUsername(supervisorName);
                //Lay netcafe id
                int netID = netRepo.getNetCafeIDByName(supervisorId);
                //hien thi order cua netcafe id
                List<Order> orders = orderRepo.getOrderByNetCafe(netID);
                ViewBag.orders = orders;
            }

            return View();
        }
예제 #2
0
        public ActionResult Index(int? id)
        {
            var store = new Microsoft.AspNet.Identity.EntityFramework.UserStore<NetCafeWeb.Models.ApplicationUser>(new NetCafeWeb.Models.ApplicationDbContext());
            var manager = new Microsoft.AspNet.Identity.UserManager<NetCafeWeb.Models.ApplicationUser>(store);
            var a = manager.IsInRoleAsync(User.Identity.GetUserId(), "Admin");
            //var b = manager.IsInRoleAsync(User.Identity.GetUserId(), "Supervisor");
            bool isAdmin = a.Result;
            a = manager.IsInRoleAsync(User.Identity.GetUserId(), "Supervisor");
            bool isSupervisor = a.Result;

            List<PC> PCList = new List<PC>();
            List<NetCafe> NetList = new List<NetCafe>();

            if (isSupervisor)
            {
                string username = User.Identity.Name;
                NetList = PCService.GetManageNet(username);
                int selectedNetID = 0;

                if (NetList != null && NetList.Count > 0)
                {
                    foreach (NetCafe netCafe in NetList)
                    {
                        PCList = PCService.FindByNetID(netCafe.NetCafeID);
                        selectedNetID = netCafe.NetCafeID;
                    }
                }

                var query = PCList.OrderBy(p => p.PCStatus).ThenBy(p => p.PCName).ThenBy(p => p.Price);
                ViewBag.PCList = query.ToList();
                ViewBag.NetList = NetList;
                ViewBag.Role = "Supervisor";
                return View();
            }
            else
            {
                if (id != null && id > 0)
                {
                    PCList = PCService.FindByNetID(id.Value);
                    ViewBag.pcList = PCList;
                    ViewBag.SelectedNetcafe = PCService.GetNetCafeByID(id.Value);
                }
                else
                {
                    PCList = PCService.GetPCList();
                    ViewBag.pcList = PCList;
                }

                var query = PCList.OrderBy(p => p.NetCafeID).ThenBy(p => p.PCStatus).ThenBy(p => p.PCName).ThenBy(p => p.Price);
                ViewBag.PCList = query.ToList();
                ViewBag.NetList = PCService.GetNetList();
                ViewBag.Role = "Admin";

                return View();
            }
        }