コード例 #1
0
        public async Task <ActionResult> Login(LoginViewModel model, string returnUrl)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            // This doesn't count login failures towards account lockout
            // To enable password failures to trigger account lockout, change to shouldLockout: true
            var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout : false);

            switch (result)
            {
            case SignInStatus.Success:
                UsersDataHandler dataHandler = new UsersDataHandler();
                dataHandler.updateLoginDate(model.Email);
                return(RedirectToLocal(returnUrl));

            case SignInStatus.LockedOut:
                return(View("Lockout"));

            case SignInStatus.RequiresVerification:
                return(RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = model.RememberMe }));

            case SignInStatus.Failure:
            default:
                ModelState.AddModelError("", "Invalid login attempt.");
                return(View(model));
            }
        }
コード例 #2
0
        public ActionResult Users(string sortOrder, string searchString)
        {
            ViewBag.Message            = "View/Edit all Users.";
            ViewBag.UserFNameSortParam = String.IsNullOrEmpty(sortOrder) ? "fname_desc" : "";
            ViewBag.UserLNameSortParam = sortOrder == "LName" ? "lname_desc" : "LName";
            ViewBag.UserMailSortParam  = sortOrder == "Mail" ? "mail_desc" : "Mail";

            List <SelectListItem> items = new List <SelectListItem>();

            items.Add(new SelectListItem {
                Text = "Active", Value = "0"
            });
            items.Add(new SelectListItem {
                Text = "Inactive", Value = "1"
            });

            ViewBag.ActiveList = items;

            UsersDataHandler   dataSource = new UsersDataHandler();
            ICollection <User> data       = dataSource.GetAllUsers();

            if (!string.IsNullOrEmpty(searchString))
            {
                data = data.Where(s => s.firstName.Contains(searchString) || s.lastName.Contains(searchString)).ToList();
            }

            switch (sortOrder)
            {
            case "fname_desc":
                data = data.OrderByDescending(s => s.firstName).ToList();
                break;

            case "LName":
                data = data.OrderBy(s => s.lastName).ToList();
                break;

            case "lname_desc":
                data = data.OrderByDescending(s => s.lastName).ToList();
                break;

            case "Mail":
                data = data.OrderBy(s => s.emailID).ToList();
                break;

            case "mail_desc":
                data = data.OrderByDescending(s => s.emailID).ToList();
                break;

            default:
                data = data.OrderBy(s => s.firstName).ToList();
                break;
            }

            ModelState.Clear();

            return(View(data));
        }
コード例 #3
0
        public ActionResult Index(string sortOrder, string searchString)
        {
            ViewBag.Message          = "View your Applications";
            ViewBag.AppIDSortParam   = String.IsNullOrEmpty(sortOrder) ? "appID_desc" : "";
            ViewBag.AppNameSortParam = sortOrder == "Name" ? "name_desc" : "Name";

            string user = User.Identity.GetUserName();

            UsersDataHandler userSource = new UsersDataHandler();
            List <int>       appIDs     = userSource.GetUserApps(user);

            ApplicationsDataHandler   dataSource = new ApplicationsDataHandler();
            ICollection <Application> data       = dataSource.GetAppsForUser(appIDs);

            if (!String.IsNullOrEmpty(searchString))
            {
                data = data.Where(s => s.appName.Contains(searchString)).ToList();
            }

            switch (sortOrder)
            {
            case "appID_desc":
                data = data.OrderByDescending(s => s.appId).ToList();
                break;

            case "Name":
                data = data.OrderBy(s => s.appName).ToList();
                break;

            case "name_desc":
                data = data.OrderByDescending(s => s.appName).ToList();
                break;

            default:
                data = data.OrderBy(s => s.appId).ToList();
                break;
            }

            ModelState.Clear();

            return(View(data));
        }
コード例 #4
0
        public async Task <ActionResult> Register(RegisterViewModel model)
        {
            if (ModelState.IsValid)
            {
                var user = new ApplicationUser {
                    UserName = model.Email, Email = model.Email, FirstName = model.FirstName, LastName = model.LastName
                };
                var result = await UserManager.CreateAsync(user, model.Password);

                if (result.Succeeded)
                {
                    await this.UserManager.AddToRoleAsync(user.Id, "USER");

                    await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false);

                    // For more information on how to enable account confirmation and password reset please visit http://go.microsoft.com/fwlink/?LinkID=320771
                    // Send an email with this link
                    // string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id);
                    // var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme);
                    // await UserManager.SendEmailAsync(user.Id, "Confirm your account", "Please confirm your account by clicking <a href=\"" + callbackUrl + "\">here</a>");

                    UsersDataHandler dataHandler = new UsersDataHandler();

                    User newUser = new User()
                    {
                        firstName    = user.FirstName,
                        lastName     = user.LastName,
                        emailID      = user.Email,
                        activeStatus = "active"
                    };

                    dataHandler.AddUser(newUser);

                    return(RedirectToAction("Index", "Home"));
                }
                AddErrors(result);
            }

            // If we got this far, something failed, redisplay form
            return(View(model));
        }
コード例 #5
0
        public ActionResult Index(string sortOrder, string currentFilter, string appString, int?page)
        {
            ViewBag.CurrentSort      = sortOrder;
            ViewBag.LogIDSortParam   = String.IsNullOrEmpty(sortOrder) ? "logID_desc" : "";
            ViewBag.LogNameSortParam = sortOrder == "Name" ? "name_desc" : "Name";
            ViewBag.LogTypeSortParam = sortOrder == "Type" ? "type_desc" : "Type";
            ViewBag.LogTimeSortParam = sortOrder == "Time" ? "time_desc" : "Time";
            ViewBag.LogAppSortParam  = sortOrder == "App" ? "app_desc" : "App";

            if (appString != null)
            {
                page = 1;
            }
            else
            {
                appString = currentFilter;
            }

            ViewBag.CurrentFilter = appString;

            string user = User.Identity.GetUserName();

            UsersDataHandler userSource = new UsersDataHandler();
            List <int>       appIDs     = userSource.GetUserApps(user);

            using (ErrorModel db = new ErrorModel())
            {
                List <Application> apps = new List <Application>();

                foreach (int id in appIDs)
                {
                    apps.AddRange(db.Applications.Where(x => x.appId == id));
                }

                ViewBag.Apps = apps;
            }

            ErrorLogsDataHandler   dataSource = new ErrorLogsDataHandler();
            ICollection <ErrorLog> data       = dataSource.GetLogsForUser(appIDs);

            if (!String.IsNullOrEmpty(appString))
            {
                data = data.Where(s => s.Application.appName.Contains(appString)).ToList();
            }

            switch (sortOrder)
            {
            case "logID_desc":
                data = data.OrderByDescending(s => s.logID).ToList();
                break;

            case "Name":
                data = data.OrderBy(s => s.fileName).ToList();
                break;

            case "name_desc":
                data = data.OrderByDescending(s => s.fileName).ToList();
                break;

            case "Type":
                data = data.OrderBy(s => s.logType.typeName).ToList();
                break;

            case "type_desc":
                data = data.OrderByDescending(s => s.logType.typeName).ToList();
                break;

            case "Time":
                data = data.OrderBy(s => s.timeStamp).ToList();
                break;

            case "time_desc":
                data = data.OrderByDescending(s => s.timeStamp).ToList();
                break;

            case "App":
                data = data.OrderBy(s => s.Application.appName).ToList();
                break;

            case "app_desc":
                data = data.OrderByDescending(s => s.Application.appName).ToList();
                break;

            default:
                data = data.OrderBy(s => s.logID).ToList();
                break;
            }

            ViewBag.TotalCount = data.Count;

            int pageSize   = 10;
            int pageNumber = (page ?? 1);

            ModelState.Clear();

            return(View(data.ToPagedList(pageNumber, pageSize)));
        }
コード例 #6
0
        public ActionResult GraphView()
        {
            string user = User.Identity.GetUserName();

            UsersDataHandler userSource = new UsersDataHandler();
            List <int>       appIDs     = userSource.GetUserApps(user);

            using (ErrorModel db = new ErrorModel())
            {
                ErrorLogsDataHandler   dataSource = new ErrorLogsDataHandler();
                ICollection <ErrorLog> data       = dataSource.GetLogsForUser(appIDs);

                List <Application> userApps = new List <Application>();

                foreach (int id in appIDs)
                {
                    userApps.AddRange(db.Applications.Where(x => x.appId == id));
                }

                ViewBag.Apps = userApps;

                var apps       = new List <string>();
                var logsPerApp = new List <int>();
                var colors     = new List <string>();
                int tCount     = 0;

                var    months       = new List <string>();
                var    logsPerMonth = new List <int>();
                var    colors2      = new List <string>();
                string eColor       = "rgba(76, 175, 80, 0.6)";
                string dColor       = "rgba(244, 67, 54, 0.6)";

                foreach (Application ap in userApps)
                {
                    apps.Add("\"" + ap.appName + "\"");
                    logsPerApp.Add(ap.ErrorLogs.Count);
                    tCount += ap.ErrorLogs.Count;
                    if (ap.appStatus == "enabled")
                    {
                        colors.Add("\'" + eColor + "\'");
                    }
                    else
                    {
                        colors.Add("\'" + dColor + "\'");
                    }
                }

                ViewBag.labelList  = string.Join(",", apps);
                ViewBag.dataList   = string.Join(",", logsPerApp);
                ViewBag.colorList  = string.Join(",", colors);
                ViewBag.totalCount = tCount;

                foreach (ErrorLog er in data)
                {
                    if (!months.Contains("\"" + er.timeStamp.ToString("MMMM") + "\""))
                    {
                        months.Add("\"" + er.timeStamp.ToString("MMMM") + "\"");
                    }
                }

                foreach (string m in months)
                {
                    int count = 0;
                    foreach (ErrorLog er in data)
                    {
                        if ("\"" + er.timeStamp.ToString("MMMM") + "\"" == m)
                        {
                            count++;
                        }
                    }
                    logsPerMonth.Add(count);
                    colors2.Add("\'" + eColor + "\'");
                }

                ViewBag.labelList2 = string.Join(",", months);
                ViewBag.dataList2  = string.Join(",", logsPerMonth);
                ViewBag.colorList2 = string.Join(",", colors2);

                return(View());
            }
        }
コード例 #7
0
        public ActionResult Users(string sortOrder, string searchString, User user, string ActiveList)
        {
            ViewBag.Message            = "View/Edit all Users.";
            ViewBag.UserFNameSortParam = String.IsNullOrEmpty(sortOrder) ? "fname_desc" : "";
            ViewBag.UserLNameSortParam = sortOrder == "LName" ? "lname_desc" : "LName";
            ViewBag.UserMailSortParam  = sortOrder == "Mail" ? "mail_desc" : "Mail";

            List <SelectListItem> items = new List <SelectListItem>();

            items.Add(new SelectListItem {
                Text = "Active", Value = "0"
            });
            items.Add(new SelectListItem {
                Text = "Inactive", Value = "1"
            });

            ViewBag.ActiveList = items;

            ErrorModel context  = new ErrorModel();
            User       thisUser = context.Users.FirstOrDefault(x => x.emailID == user.emailID);

            try
            {
                using (ApplicationDbContext db = new ApplicationDbContext())
                {
                    var usertoSave = db.Users.ToList().FirstOrDefault(m => m.Email == thisUser.emailID);
                    if (ActiveList == "1")
                    {
                        usertoSave.LockoutEndDateUtc = DateTime.MaxValue;
                        thisUser.activeStatus        = "inactive";
                        thisUser.userType            = thisUser.userType;
                    }
                    else
                    {
                        usertoSave.LockoutEndDateUtc = null;
                        thisUser.activeStatus        = "active";
                        thisUser.userType            = thisUser.userType;
                    }
                    db.SaveChanges();
                }
                context.SaveChanges();
            }

            catch (Exception ex)
            {
                string s = ex.InnerException.Message;
            }

            UsersDataHandler   dataSource = new UsersDataHandler();
            ICollection <User> data       = dataSource.GetAllUsers();

            if (!String.IsNullOrEmpty(searchString))
            {
                data = data.Where(s => s.firstName.Contains(searchString) || s.lastName.Contains(searchString)).ToList();
            }

            switch (sortOrder)
            {
            case "fname_desc":
                data = data.OrderByDescending(s => s.firstName).ToList();
                break;

            case "LName":
                data = data.OrderBy(s => s.lastName).ToList();
                break;

            case "lname_desc":
                data = data.OrderByDescending(s => s.lastName).ToList();
                break;

            case "Mail":
                data = data.OrderBy(s => s.emailID).ToList();
                break;

            case "mail_desc":
                data = data.OrderByDescending(s => s.emailID).ToList();
                break;

            default:
                data = data.OrderBy(s => s.firstName).ToList();
                break;
            }

            ModelState.Clear();

            return(View(data));
        }