Browse Source

social tags and icons done for good. Plus we now show affinity in more places

master
Milad Karbasizadeh 11 years ago
parent
commit
0485013d98
8 changed files with 81 additions and 27 deletions
  1. +4
    -0
      Sevomin.Models/JobApplicationViewModel.cs
  2. +8
    -1
      Sevomin.WebFrontend.Controllers/JobController.cs
  3. +4
    -0
      Sevomin.WebFrontend/Sevomin.WebFrontend.csproj
  4. +18
    -18
      Sevomin.WebFrontend/Views/Job/Apply.cshtml
  5. +7
    -1
      Sevomin.WebFrontend/Views/Job/MiniApplication.cshtml
  6. +24
    -2
      Sevomin.WebFrontend/Views/Job/SingleJob.cshtml
  7. +10
    -4
      Sevomin.WebFrontend/Views/Shared/Intro.cshtml
  8. +6
    -1
      Sevomin.WebFrontend/Views/Shared/_Layout.cshtml

+ 4
- 0
Sevomin.Models/JobApplicationViewModel.cs View File

@ -13,6 +13,8 @@ namespace Sevomin.Models
public string DovominId { get; set; } public string DovominId { get; set; }
public string JobSummary { get; set; } public string JobSummary { get; set; }
public string CoverLetter { get; set; } public string CoverLetter { get; set; }
public float Affinity { get; set; }
public bool MinimumRequirement { get; set; }
public JobApplicationViewModel() public JobApplicationViewModel()
{ {
@ -25,6 +27,8 @@ namespace Sevomin.Models
this.DovominDisplayName = dj.Dovomin.DisplayName; this.DovominDisplayName = dj.Dovomin.DisplayName;
this.DovominId = dj.DovominId; this.DovominId = dj.DovominId;
this.CoverLetter = dj.CoverLetter; this.CoverLetter = dj.CoverLetter;
this.Affinity = (float)(dj.Affinity * 100);
this.MinimumRequirement = dj.MinimumRequirement;
StringBuilder sb = new StringBuilder("کارشناس برنامه ریزی و کنترل پروژه "); StringBuilder sb = new StringBuilder("کارشناس برنامه ریزی و کنترل پروژه ");
var jmvm = new JobMiniViewModel(dj.Job, 2); var jmvm = new JobMiniViewModel(dj.Job, 2);


+ 8
- 1
Sevomin.WebFrontend.Controllers/JobController.cs View File

@ -177,7 +177,7 @@ namespace Sevomin.WebFrontend.Controllers
} }
[AllowAnonymous] [AllowAnonymous]
public ActionResult SingleJob(long jobId)
public async Task<ActionResult> SingleJob(long jobId)
{ {
Job job = _jobRepository.Find(jobId); Job job = _jobRepository.Find(jobId);
if (job == null) if (job == null)
@ -190,6 +190,13 @@ namespace Sevomin.WebFrontend.Controllers
sb.Append(string.Format(param.Item1 + " ", param.Item2)); sb.Append(string.Format(param.Item1 + " ", param.Item2));
ViewBag.ShortJobDescription = sb.ToString(); ViewBag.ShortJobDescription = sb.ToString();
if (Request.IsAuthenticated && User.IsInRole("Dovomin"))
{
Dovomin user = await UserManager.FindByNameAsync(User.Identity.Name) as Dovomin;
DovominJobViewModel djvm = new DovominJobViewModel(new DovominJob(user, job));
ViewBag.MinimumRequirement = djvm.MinimumRequirement;
ViewBag.Affinity = djvm.Affinity.ToString();
}
return View(viewModel); return View(viewModel);
} }


+ 4
- 0
Sevomin.WebFrontend/Sevomin.WebFrontend.csproj View File

@ -144,6 +144,9 @@
<Content Include="Content\images\1-icon.png" /> <Content Include="Content\images\1-icon.png" />
<Content Include="Content\images\2-icon.png" /> <Content Include="Content\images\2-icon.png" />
<Content Include="Content\images\3-icon.png" /> <Content Include="Content\images\3-icon.png" />
<Content Include="Content\images\social-facebook.png" />
<Content Include="Content\images\social-gp.png" />
<Content Include="Content\images\social-twitter.png" />
<Content Include="Content\intro.css" /> <Content Include="Content\intro.css" />
<Content Include="Content\themes\base\images\animated-overlay.gif" /> <Content Include="Content\themes\base\images\animated-overlay.gif" />
<Content Include="Content\themes\base\images\ui-bg_flat_0_aaaaaa_40x100.png" /> <Content Include="Content\themes\base\images\ui-bg_flat_0_aaaaaa_40x100.png" />
@ -327,6 +330,7 @@
<Content Include="Views\Account\Forgot.cshtml" /> <Content Include="Views\Account\Forgot.cshtml" />
<Content Include="Views\Account\ResetPassword.cshtml" /> <Content Include="Views\Account\ResetPassword.cshtml" />
<Content Include="Views\Account\ChangePassword.cshtml" /> <Content Include="Views\Account\ChangePassword.cshtml" />
<Content Include="Views\Shared\SocialMetaTags.cshtml" />
<None Include="Web.Debug.config"> <None Include="Web.Debug.config">
<DependentUpon>Web.config</DependentUpon> <DependentUpon>Web.config</DependentUpon>
</None> </None>


+ 18
- 18
Sevomin.WebFrontend/Views/Job/Apply.cshtml View File

@ -8,29 +8,29 @@
@Html.Partial("PostResult", ViewBag.Result as Sevomin.Models.PostResultViewModel) @Html.Partial("PostResult", ViewBag.Result as Sevomin.Models.PostResultViewModel)
<h3 class="rtl">@ViewBag.ShortJobDescription</h3> <h3 class="rtl">@ViewBag.ShortJobDescription</h3>
@if (User.IsInRole("Dovomin")) {
<div class="row">
<div class="col-md-4 rtl">
<span>میزان مطابقت شما با این فرصت شغلی @(Model.Affinity*100) درصد می باشد.</span>
<div class="progress progress-striped">
<div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="40" aria-valuemin="0" aria-valuemax="100" style="width: @(Model.Affinity*100)%">
<span class="sr-only">@(Model.Affinity*100)%</span>
@if (User.IsInRole("Dovomin"))
{
<div class="row">
<div class="col-md-4 rtl">
<span>میزان مطابقت شما با این فرصت شغلی @(Model.Affinity * 100) درصد می باشد.</span>
<div class="progress progress-striped">
<div class="progress-bar @(Model.MinimumRequirement ? "progress-bar-success" : "progress-bar-warning")" role="progressbar" aria-valuenow="40" aria-valuemin="0" aria-valuemax="100" style="width: @(Model.Affinity * 100)%">
<span class="sr-only">@(Model.Affinity * 100)%</span>
</div>
</div> </div>
</div>
</div>
<div class="col-md-8 rtl">
@if (!Model.MinimumRequirement)
{
<span class="text-warning"><em>این فرصت شغلی نیاز به مهارت هایی دارد که با پروفایل شما مطابقت ندارد. اگر هنوز اطلاعات خود را کامل نکرده اید، به صفحه <a href="@Url.Action("MyProfile", "Account")">ویرایش پروفایل</a> مراجعه نمایید.</em></span>
</div>
<div class="col-md-8 rtl">
@if (!Model.MinimumRequirement)
{
<span class="text-warning"><em>این فرصت شغلی نیاز به مهارت هایی دارد که با پروفایل شما مطابقت ندارد. اگر هنوز اطلاعات خود را کامل نکرده اید، به صفحه <a href="@Url.Action("MyProfile", "Account")">ویرایش پروفایل</a> مراجعه نمایید.</em></span>
} }
else {
<span class="text-success"><em>شما تمامی مهارت های الزامی مورد نیاز این فرصت شغلی را دارید.</em></span>
else
{
<span class="text-success"><em>شما تمامی مهارت های الزامی مورد نیاز این فرصت شغلی را دارید.</em></span>
} }
</div>
</div> </div>
</div>
} }
<div class="row"> <div class="row">
<div class="col-md-12 rtl"> <div class="col-md-12 rtl">
@if (AlreadyApplied) @if (AlreadyApplied)


+ 7
- 1
Sevomin.WebFrontend/Views/Job/MiniApplication.cshtml View File

@ -9,5 +9,11 @@
<h5>پیغام متخصص:</h5> <h5>پیغام متخصص:</h5>
<blockquote>@Model.CoverLetter</blockquote> <blockquote>@Model.CoverLetter</blockquote>
} }
@if (Model.MinimumRequirement){
<p>این متخصص تمامی مهارت های الزامی برای این فرصت شغلی را دارد. همچنین میزان مطابقت ایشان با این فرصت شغلی، @Model.Affinity درصد است.</p>
}
else {
<p>این متخصص برخی مهارت های الزامی برای این فرصت شغلی را ندارد. همچنین میزان مطابقت ایشان با این فرصت شغلی، @Model.Affinity درصد است.</p>
}
</div> </div>
</div>
</div>

+ 24
- 2
Sevomin.WebFrontend/Views/Job/SingleJob.cshtml View File

@ -4,11 +4,33 @@
ViewBag.Title = string.Format("{0} {1}", "استخدام نیروی برنامه ریزی و کنترل پروژه", ViewBag.ShortJobDescription); ViewBag.Title = string.Format("{0} {1}", "استخدام نیروی برنامه ریزی و کنترل پروژه", ViewBag.ShortJobDescription);
} }
<div class="row">
<div class="row">
<div class="col-md-12"> <div class="col-md-12">
<h2 class="rtl">استخدام نیروی برنامه ریزی و کنترل پروژه</h2> <h2 class="rtl">استخدام نیروی برنامه ریزی و کنترل پروژه</h2>
<h4 class="rtl">@ViewBag.ShortJobDescription</h4> <h4 class="rtl">@ViewBag.ShortJobDescription</h4>
@if (Request.IsAuthenticated && User.IsInRole("Dovomin"))
{
<div class="row">
<div class="col-md-4 rtl">
<span>میزان مطابقت شما با این فرصت شغلی @ViewBag.Affinity درصد می باشد.</span>
<div class="progress progress-striped">
<div class="progress-bar @(ViewBag.MinimumRequirement ? "progress-bar-success" : "progress-bar-warning")" role="progressbar" aria-valuenow="40" aria-valuemin="0" aria-valuemax="100" style="width: @(ViewBag.Affinity)%">
<span class="sr-only">@ViewBag.Affinity %</span>
</div>
</div>
</div>
<div class="col-md-8 rtl">
@if (!ViewBag.MinimumRequirement)
{
<span class="text-warning"><em>این فرصت شغلی نیاز به مهارت هایی دارد که با پروفایل شما مطابقت ندارد. اگر هنوز اطلاعات خود را کامل نکرده اید، به صفحه <a href="@Url.Action("MyProfile", "Account")">ویرایش پروفایل</a> مراجعه نمایید.</em></span>
}
else
{
<span class="text-success"><em>شما تمامی مهارت های الزامی مورد نیاز این فرصت شغلی را دارید.</em></span>
}
</div>
</div>
}
<div class="table-responsive rtl"> <div class="table-responsive rtl">
@if (User.IsInRole("Dovomin")) @if (User.IsInRole("Dovomin"))
{ {


+ 10
- 4
Sevomin.WebFrontend/Views/Shared/Intro.cshtml View File

@ -5,13 +5,14 @@
<html> <html>
<head> <head>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<title>سومین: مرکز کاریابی برنامه‌ریزی و کنترل پروژه</title> <title>سومین: مرکز کاریابی برنامه‌ریزی و کنترل پروژه</title>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
@Html.Partial("SocialMetaTags")
<link rel="stylesheet" type="text/css" href="@Url.Content("~/content/bootstrap.min.css")" /> <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/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/common.css")" />
<link rel="stylesheet" type="text/css" href="@Url.Content("~/content/intro.css")" /> <link rel="stylesheet" type="text/css" href="@Url.Content("~/content/intro.css")" />
<link rel="stylesheet" type="text/css" href="@Url.Content("~/content/forms.css")" />
<link rel="stylesheet" type="text/css" href="@Url.Content("~/content/forms.css")" />
</head> </head>
<body> <body>
<div class="container"> <div class="container">
@ -32,7 +33,7 @@
</div> </div>
@Html.Partial("IntroSignup") @Html.Partial("IntroSignup")
<div class="row">
@*<div class="row">
<div class="col-md-4 col-md-offset-4" style="margin-top: 20px;"> <div class="col-md-4 col-md-offset-4" style="margin-top: 20px;">
<div class="panel panel-default"> <div class="panel panel-default">
<div class="panel-body"> <div class="panel-body">
@ -53,13 +54,18 @@
</div> </div>
</div> </div>
</div> </div>
</div>
</div>*@
<div id="intro-privacy-statement" class="row"> <div id="intro-privacy-statement" class="row">
<div class="col-md-12"> <div class="col-md-12">
<p class="text-muted rtl"> <p class="text-muted rtl">
حریم شخصی: یکی از مبانی عملکرد ما احترام به حریم شخصی است. این مسئله به حفظ اطلاعاتی که در اختیار ما قرار می‌دهید (مشخصات و رزومه) محدود نمی‌شود؛ آدرس ایمیل شما نیز تحت هیچ شرایطی در اختیار فرد، گروه و وب‌سایت دیگری قرار نخواهد گرفت. حریم شخصی: یکی از مبانی عملکرد ما احترام به حریم شخصی است. این مسئله به حفظ اطلاعاتی که در اختیار ما قرار می‌دهید (مشخصات و رزومه) محدود نمی‌شود؛ آدرس ایمیل شما نیز تحت هیچ شرایطی در اختیار فرد، گروه و وب‌سایت دیگری قرار نخواهد گرفت.
</p> </p>
<p class="center-text">
<a href="http://www.twitter.com/sevomin"><img width="32" src="@Url.Content("~/content/images/social-twitter.png")" title="سومین در توییتر" alt="سومین در توییتر" /></a>
<a href="http://www.facebook.com/sevomin"><img width="32" src="@Url.Content("~/content/images/social-facebook.png")" title="سومین در فیسبوک" alt="سومین در فیسبوک" /></a>
<a href="http://plus.google.com/sevomin"><img width="32" src="@Url.Content("~/content/images/social-gp.png")" title="سومین در گوگل پلاس" alt="سومین در گوگل پلاس" /></a>
</p>
</div> </div>
</div> </div>
</div> </div>


+ 6
- 1
Sevomin.WebFrontend/Views/Shared/_Layout.cshtml View File

@ -2,8 +2,9 @@
<html> <html>
<head> <head>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<title>سومین - @ViewBag.Title</title> <title>سومین - @ViewBag.Title</title>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
@Html.Partial("SocialMetaTags")
<link rel="stylesheet" type="text/css" href="@Url.Content("~/content/bootstrap.min.css")" /> <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.css")" /> <link rel="stylesheet" type="text/css" href="@Url.Content("~/content/bootstrap-theme.css")" />
<link rel="stylesheet" type="text/css" href="@Url.Content("~/content/themes/base/minified/jquery-ui.min.css")" /> <link rel="stylesheet" type="text/css" href="@Url.Content("~/content/themes/base/minified/jquery-ui.min.css")" />
@ -21,6 +22,10 @@
<p class="center-text"> <p class="center-text">
تماس با ما:<br /> تماس با ما:<br />
[email protected] [email protected]
<br />
<a href="http://www.twitter.com/sevomin"><img width="32" src="@Url.Content("~/content/images/social-twitter.png")" title="سومین در توییتر" alt="سومین در توییتر" /></a>
<a href="http://www.facebook.com/sevomin"><img width="32" src="@Url.Content("~/content/images/social-facebook.png")" title="سومین در فیسبوک" alt="سومین در فیسبوک" /></a>
<a href="http://plus.google.com/sevomin"><img width="32" src="@Url.Content("~/content/images/social-gp.png")" title="سومین در گوگل پلاس" alt="سومین در گوگل پلاس" /></a>
</p> </p>
</div> </div>
<div class="col-md-9"> <div class="col-md-9">


Loading…
Cancel
Save