You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

74 lines
2.5 KiB

using Microsoft.AspNet.Identity;
using Microsoft.AspNet.Identity.EntityFramework;
using Sevomin.Models;
using Sevomin.Models.Helpers;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Web.Mvc;
namespace Sevomin.WebFrontend.Controllers
{
public class GodController : AuthorizedController
{
[Authorize(Roles = "God")]
public ActionResult Index()
{
return View();
}
[AllowAnonymous]
public async Task<ActionResult> iddqd()
{
UserManager.UserValidator = new UserValidator<User>(UserManager);
RoleManager<IdentityRole> roleManager = new RoleManager<IdentityRole>(new RoleStore<IdentityRole>(SevominDbContext.Current));
if (!(await roleManager.RoleExistsAsync("God")))
await roleManager.CreateAsync(new IdentityRole("God"));
if ((await UserManager.FindByNameAsync("sevomin")) == null)
{
var user = new User("sevomin");
user.SignUpDate = DateTime.UtcNow;
await UserManager.CreateAsync(user, "wePwntheNight");
}
var res = await UserManager.AddToRoleAsync((await UserManager.FindByNameAsync("sevomin")).Id, "God");
return HttpNotFound();
}
[Authorize(Roles="God")]
public ActionResult RecalculateAffinity()
{
decimal a = 0;
var dovJob = SevominDbContext.Current.DovominJobs;
foreach (var dj in dovJob)
{
var oldAffy = dj.Affinity;
dj.CalculateAffinity();
if (dj.Affinity > 1)
throw new InvalidOperationException();
if (oldAffy != dj.Affinity)
a++;
}
SevominDbContext.Current.SaveChanges();
return Content("boogh: " + a.ToString());
}
[Authorize(Roles = "God")]
[HttpPost]
public void UpdateParam(long paramId, string commentAvalin, string commentDovomin)
{
var param = SevominDbContext.Current.Parameters.FirstOrDefault(p => p.Id == paramId);
if (param != null)
{
param.CommentAvalin = commentAvalin;
param.CommentDovomin = commentDovomin;
SevominDbContext.Current.SaveChanges();
}
}
}
}