示例#1
0
        public IHttpActionResult Computer()
        {
            var db           = new ArktinMonitorDataAccess();
            var computerName = db.Computers.FirstOrDefault().Name;

            return(Ok(computerName));
        }
示例#2
0
        public ActionResult Details(int computerId, int daysOffset = 0)
        {
            var db       = new ArktinMonitorDataAccess();
            var computer = db.Computers.FirstOrDefault(c => c.ComputerId == computerId && c.WebAccount.Email == User.Identity.Name);

            if (computer == null)
            {
                return(View("Error"));
            }
            var easternZone = TimeZoneInfo.FindSystemTimeZoneById("Central European Standard Time");
            var today       = TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow, easternZone)
                              .Date.AddHours(-1).AddDays(daysOffset);
            //var today = DateTime.Now.AddHours(1).Date;
            var endTime = TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow, easternZone)
                          .Date.AddDays(1).AddTicks(-1).AddHours(-1).AddDays(daysOffset);
            //var endTime = DateTime.Now.AddHours(1).Date.AddDays(1).AddTicks(-1);

            var viewModel = computer.ToViewModel(
                db.Disks.Where(d => d.ComputerId == computer.ComputerId && !d.Removed).ToList(),
                db.ComputerUsers.Where(u => u.ComputerId == computer.ComputerId).ToList(),
                db.LogTimeIntervals.Where(l => l.ComputerId == computer.ComputerId && l.StartTime >= today && l.StartTime <= endTime).ToList());

            ViewBag.ComputerUserId = new SelectList(db.ComputerUsers, "ComputerUserId", "Name");
            return(View(viewModel));
        }
        protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)
        {
            var db = new ArktinMonitorDataAccess();

            db.DebugLogs.Add(new DebugLog()
            {
                Message = nameof(HandleUnauthorizedRequest), TimeStamp = DateTime.Now
            });
            db.SaveChanges();
            base.HandleUnauthorizedRequest(filterContext);
        }
        protected override HttpValidationStatus OnCacheAuthorization(HttpContextBase httpContext)
        {
            var db = new ArktinMonitorDataAccess();

            db.DebugLogs.Add(new DebugLog()
            {
                Message = nameof(OnCacheAuthorization), TimeStamp = DateTime.Now
            });
            db.SaveChanges();
            return(base.OnCacheAuthorization(httpContext));
        }
        public override void OnAuthorization(AuthorizationContext filterContext)
        {
            var db = new ArktinMonitorDataAccess();

            db.DebugLogs.Add(new DebugLog()
            {
                Message = nameof(OnAuthorization), TimeStamp = DateTime.Now
            });
            db.SaveChanges();
            base.OnAuthorization(filterContext);
        }
示例#6
0
        // GET: MyComputers
        public ActionResult Index()
        {
            var db        = new ArktinMonitorDataAccess();
            var computers = db.Computers.Where(c => c.WebAccount.Email == User.Identity.Name).ToList();

            var viewModel = computers
                            .Select(c => c.ToViewModel(
                                        db.Disks.Where(d => d.ComputerId == c.ComputerId).ToList(),
                                        db.ComputerUsers.Where(u => u.ComputerId == c.ComputerId).ToList(),
                                        db.LogTimeIntervals.Where(l => l.ComputerId == c.ComputerId).ToList()
                                        ));

            return(View(viewModel.ToList()));
        }
        protected override bool AuthorizeCore(HttpContextBase httpContext)
        {
            //bool disableAuthentication = false;
            //System.Threading.Thread.Sleep(100);
            //#if DEBUG
            //        disableAuthentication = true;
            //#endif

            //            if (disableAuthentication)
            //                return true;
            var db = new ArktinMonitorDataAccess();

            db.DebugLogs.Add(new DebugLog()
            {
                Message = httpContext.Request.Headers["Authorization"], TimeStamp = DateTime.Now
            });
            db.SaveChanges();


            return(base.AuthorizeCore(httpContext));
        }
        public async Task <ActionResult> Register(RegisterViewModel model)
        {
            if (ModelState.IsValid)
            {
                var user = new ApplicationUser {
                    UserName = model.Email, Email = model.Email
                };
                var result = await UserManager.CreateAsync(user, model.Password);

                if (result.Succeeded)
                {
                    await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false);

                    // For more information on how to enable account confirmation and password reset please visit https://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>");

                    // Add new user to own database
                    var db = new ArktinMonitorDataAccess();
                    db.WebAccounts.Add(new WebAccount()
                    {
                        Email = model.Email,
                        Name  = model.Email
                    });
                    db.SaveChanges();

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

            // If we got this far, something failed, redisplay form
            return(View(model));
        }
示例#9
0
        // GET: Bs
        public ActionResult Index()
        {
            var db = new ArktinMonitorDataAccess();

            return(View(db));
        }