@ -0,0 +1,42 @@ | |||
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.Now; | |||
await UserManager.CreateAsync(user, "wePwntheNight"); | |||
} | |||
var res = await UserManager.AddToRoleAsync((await UserManager.FindByNameAsync("sevomin")).Id, "God"); | |||
return HttpNotFound(); | |||
} | |||
} | |||
} |
@ -0,0 +1,104 @@ | |||
@{ | |||
Layout = null; | |||
} | |||
<!DOCTYPE html> | |||
<html> | |||
<head> | |||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"> | |||
<title>Sevomin God Mode</title> | |||
<link rel="stylesheet" type="text/css" href="@Url.Content("~/content/bootstrap.min.css")" /> | |||
<link rel="stylesheet" type="text/css" href="@Url.Content("~/content/bootstrap-theme.min.css")" /> | |||
<link rel="stylesheet" type="text/css" href="@Url.Content("~/content/common.css")" /> | |||
<link rel="stylesheet" type="text/css" href="@Url.Content("~/content/forms.css")" /> | |||
</head> | |||
<body> | |||
<div class="container rtl"> | |||
<div class="jumbotron"> | |||
<h1>سلام!</h1> | |||
<p>یک سری اطلاعات کلی درباره وب سایت سومین در این محل قابل ارائه می باشد.</p> | |||
</div> | |||
<div class="row"> | |||
<div class="col-md-12"> | |||
<div class="table-responsive"> | |||
<table class="table table-stripped table-bordered"> | |||
<thead> | |||
<tr> | |||
<th>تعداد کل اعضا</th> | |||
<th>تعداد کارفرماها</th> | |||
<th>تعداد متخصصین</th> | |||
<th>تعداد فرصت های شغلی</th> | |||
<th>تعداد اعلام آمادگی های فرصت های شغلی</th> | |||
</tr> | |||
</thead> | |||
<tbody> | |||
<tr> | |||
<td>@Sevomin.Models.SevominDbContext.Current.Users.Count()</td> | |||
<td>@(Sevomin.Models.SevominDbContext.Current.Users.OfType<Sevomin.Models.Avalin>().Count())</td> | |||
<td>@(Sevomin.Models.SevominDbContext.Current.Users.OfType<Sevomin.Models.Dovomin>().Count())</td> | |||
<td>@Sevomin.Models.SevominDbContext.Current.Jobs.Count()</td> | |||
<td>@Sevomin.Models.SevominDbContext.Current.DovominJobs.Count()</td> | |||
</tr> | |||
</tbody> | |||
</table> | |||
</div> | |||
</div> | |||
</div> | |||
<div class="row"> | |||
<div class="col-md-6 pull-right"> | |||
<h2>اعلام آمادگی های فرصت های شغلی</h2> | |||
@foreach (Sevomin.Models.Avalin avalin in Sevomin.Models.SevominDbContext.Current.Users.OfType<Sevomin.Models.Avalin>().ToList()) | |||
{ | |||
if (avalin.Jobs.Count == 0) | |||
{ continue; } | |||
<h3>@avalin.DisplayName</h3> | |||
foreach (var job in avalin.Jobs) | |||
{ | |||
if (job.Applications.Count == 0) | |||
{ continue; } | |||
foreach (var application in job.Applications) | |||
{ | |||
Sevomin.Models.JobApplicationViewModel apply = new Sevomin.Models.JobApplicationViewModel(application); | |||
<div class="panel panel-default rtl"> | |||
<div class="panel-body"> | |||
<em>از طرف <a href="@Url.Action("Dovomin", "Account", new { userId = apply.DovominId })">@apply.DovominDisplayName</a> | |||
(@(string.IsNullOrWhiteSpace(job.ContactPersonName) ? "نام وارد نشده" : job.ContactPersonName) | |||
@((string.IsNullOrWhiteSpace(job.ContactPersonEMail) ? "ایمیل وارد نشده" : job.ContactPersonEMail)) | |||
@((string.IsNullOrWhiteSpace(job.ContactPersonPhone) ? "تلفن وارد نشده" : job.ContactPersonPhone))) | |||
</em> | |||
<h4>@apply.JobSummary</h4> | |||
@if (!string.IsNullOrWhiteSpace(apply.CoverLetter)) | |||
{ | |||
<h5>پیغام متخصص:</h5> | |||
<blockquote>@apply.CoverLetter</blockquote> | |||
} | |||
@if (apply.MinimumRequirement) | |||
{ | |||
<p>این متخصص تمامی مهارت های الزامی برای این فرصت شغلی را دارد. همچنین میزان مطابقت ایشان با این فرصت شغلی، @apply.Affinity درصد است.</p> | |||
} | |||
else | |||
{ | |||
<p>این متخصص برخی مهارت های الزامی برای این فرصت شغلی را ندارد. همچنین میزان مطابقت ایشان با این فرصت شغلی، @apply.Affinity درصد است.</p> | |||
} | |||
</div> | |||
</div> | |||
} | |||
} | |||
} | |||
</div> | |||
</div> | |||
</div> | |||
<script src="@Url.Content("~/scripts/jquery-2.1.0.min.js")"></script> | |||
<script src="@Url.Content("~/scripts/jquery-ui-1.10.4.js")"></script> | |||
<script src="@Url.Content("~/scripts/jalaliCalendar.js")"></script> | |||
<script src="@Url.Content("~/scripts/jquery-ui-i18n.min.js")"></script> | |||
<script src="@Url.Content("~/scripts/jquery.validate.min.js")"></script> | |||
<script src="@Url.Content("~/scripts/jquery.validate.unobtrusive.min.js")"></script> | |||
<script src="@Url.Content("~/scripts/bootstrap.min.js")"></script> | |||
<script src="@Url.Content("~/scripts/sevomin-ui.js")"></script> | |||
</body> | |||
</html> |
@ -0,0 +1,19 @@ | |||
@model Sevomin.Models.JobApplicationViewModel | |||
<div class="panel panel-default rtl"> | |||
<div class="panel-body"> | |||
<em>از طرف <a href="@Url.Action("Dovomin", "Account", new { userId = Model.DovominId })">@Model.DovominDisplayName</a></em> | |||
<h4>@Model.JobSummary</h4> | |||
@if (!string.IsNullOrWhiteSpace(Model.CoverLetter)) | |||
{ | |||
<h5>پیغام متخصص:</h5> | |||
<blockquote>@Model.CoverLetter</blockquote> | |||
} | |||
@if (Model.MinimumRequirement){ | |||
<p>این متخصص تمامی مهارت های الزامی برای این فرصت شغلی را دارد. همچنین میزان مطابقت ایشان با این فرصت شغلی، @Model.Affinity درصد است.</p> | |||
} | |||
else { | |||
<p>این متخصص برخی مهارت های الزامی برای این فرصت شغلی را ندارد. همچنین میزان مطابقت ایشان با این فرصت شغلی، @Model.Affinity درصد است.</p> | |||
} | |||
</div> | |||
</div> |
@ -0,0 +1,34 @@ | |||
<meta name="description" content="مرکز کاریابی برنامهریزی و کنترل پروژه - @(string.IsNullOrWhiteSpace(ViewBag.Title) ? "خانه" : ViewBag.Title)"/> | |||
<meta itemprop="name" content="سومین" /> | |||
<meta itemprop="description" content="مرکز کاریابی برنامهریزی و کنترل پروژه - @(string.IsNullOrWhiteSpace(ViewBag.Title) ? "خانه" : ViewBag.Title)"/> | |||
<meta itemprop="image" content="@Url.Content("~/content/logo.png")"/> | |||
<meta name="twitter:card" content="summary"/> | |||
<meta name="twitter:site" content="@MvcHtmlString.Create("@sevomin")"/> | |||
<meta name="twitter:title" content="سومین"/> | |||
<meta name="twitter:description" content="مرکز کاریابی برنامهریزی و کنترل پروژه - @(string.IsNullOrWhiteSpace(ViewBag.Title) ? "خانه" : ViewBag.Title)"/> | |||
<meta name="twitter:creator" content="@MvcHtmlString.Create("@sevomin")"/> | |||
<meta name="twitter:image:src" content="@Url.Content("~/content/logo.png")"/> | |||
<meta name="twitter:domain" content="http://www.sevom.in"/> | |||
@*<meta name="twitter:app:name:iphone" content="Vine"> | |||
<meta name="twitter:app:name:ipad" content="Vine"> | |||
<meta name="twitter:app:name:googleplay" content="Vine"> | |||
<meta name="twitter:app:url:iphone" content="vine://v/93582sxlkjf"> | |||
<meta name="twitter:app:url:ipad" content="vine://v/93582sxlkjf"> | |||
<meta name="twitter:app:url:googleplay" content="http://vine.co/v/93582sxlkjf"> | |||
<meta name="twitter:app:id:iphone" content="id592447445"> | |||
<meta name="twitter:app:id:ipad" content="id432984038404"> | |||
<meta name="twitter:app:id:googleplay" content="co.vine.android">*@ | |||
<meta property="og:locale" content="fa_IR" /> | |||
<meta property="og:type" content="website" /> | |||
<meta property="og:title" content="سومین" /> | |||
<meta property="og:site_name" content="سومین" /> | |||
<meta property="og:url" content="http://www.sevom.in" /> | |||
<meta property="og:description" content="مرکز کاریابی برنامهریزی و کنترل پروژه - @(string.IsNullOrWhiteSpace(ViewBag.Title) ? "خانه" : ViewBag.Title)"/> | |||
<meta property="og:image" content="@Url.Content("~/content/logo.png")"/> | |||
<link rel="icon" type="image/png" href="@Url.Content("~/content/3-icon.png")" /> | |||
@*<link rel="apple-touch-icon" href="@Url.Content("~/Content/images/57x57.png")" /> | |||
<link rel="apple-touch-icon" sizes="72x72" href="@Url.Content("~/Content/icons/72x72.png")" /> | |||
<link rel="apple-touch-icon" sizes="114x114" href="@Url.Content("~/Content/icons/114x114.png")" /> | |||
<link rel="apple-touch-icon" sizes="144x144" href="@Url.Content("~/Content/icons/144x144.png")" />*@ |