From 0485013d98f277a6427db2c2651637ad2267ab2f Mon Sep 17 00:00:00 2001 From: Milad Karbasizadeh Date: Mon, 28 Apr 2014 16:38:27 +0430 Subject: [PATCH] social tags and icons done for good. Plus we now show affinity in more places --- Sevomin.Models/JobApplicationViewModel.cs | 4 +++ .../JobController.cs | 9 ++++- .../Sevomin.WebFrontend.csproj | 4 +++ Sevomin.WebFrontend/Views/Job/Apply.cshtml | 36 +++++++++---------- .../Views/Job/MiniApplication.cshtml | 8 ++++- .../Views/Job/SingleJob.cshtml | 26 ++++++++++++-- Sevomin.WebFrontend/Views/Shared/Intro.cshtml | 14 +++++--- .../Views/Shared/_Layout.cshtml | 7 +++- 8 files changed, 81 insertions(+), 27 deletions(-) diff --git a/Sevomin.Models/JobApplicationViewModel.cs b/Sevomin.Models/JobApplicationViewModel.cs index cf70159..5ade70b 100644 --- a/Sevomin.Models/JobApplicationViewModel.cs +++ b/Sevomin.Models/JobApplicationViewModel.cs @@ -13,6 +13,8 @@ namespace Sevomin.Models public string DovominId { get; set; } public string JobSummary { get; set; } public string CoverLetter { get; set; } + public float Affinity { get; set; } + public bool MinimumRequirement { get; set; } public JobApplicationViewModel() { @@ -25,6 +27,8 @@ namespace Sevomin.Models this.DovominDisplayName = dj.Dovomin.DisplayName; this.DovominId = dj.DovominId; this.CoverLetter = dj.CoverLetter; + this.Affinity = (float)(dj.Affinity * 100); + this.MinimumRequirement = dj.MinimumRequirement; StringBuilder sb = new StringBuilder("کارشناس برنامه ریزی و کنترل پروژه "); var jmvm = new JobMiniViewModel(dj.Job, 2); diff --git a/Sevomin.WebFrontend.Controllers/JobController.cs b/Sevomin.WebFrontend.Controllers/JobController.cs index 4e27ca4..6f1c5b3 100644 --- a/Sevomin.WebFrontend.Controllers/JobController.cs +++ b/Sevomin.WebFrontend.Controllers/JobController.cs @@ -177,7 +177,7 @@ namespace Sevomin.WebFrontend.Controllers } [AllowAnonymous] - public ActionResult SingleJob(long jobId) + public async Task SingleJob(long jobId) { Job job = _jobRepository.Find(jobId); if (job == null) @@ -190,6 +190,13 @@ namespace Sevomin.WebFrontend.Controllers sb.Append(string.Format(param.Item1 + " ", param.Item2)); 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); } diff --git a/Sevomin.WebFrontend/Sevomin.WebFrontend.csproj b/Sevomin.WebFrontend/Sevomin.WebFrontend.csproj index f732d0a..9408b50 100644 --- a/Sevomin.WebFrontend/Sevomin.WebFrontend.csproj +++ b/Sevomin.WebFrontend/Sevomin.WebFrontend.csproj @@ -144,6 +144,9 @@ + + + @@ -327,6 +330,7 @@ + Web.config diff --git a/Sevomin.WebFrontend/Views/Job/Apply.cshtml b/Sevomin.WebFrontend/Views/Job/Apply.cshtml index c0ac2a1..0ff2e2b 100644 --- a/Sevomin.WebFrontend/Views/Job/Apply.cshtml +++ b/Sevomin.WebFrontend/Views/Job/Apply.cshtml @@ -8,29 +8,29 @@ @Html.Partial("PostResult", ViewBag.Result as Sevomin.Models.PostResultViewModel)

@ViewBag.ShortJobDescription

- -@if (User.IsInRole("Dovomin")) { -
-
- میزان مطابقت شما با این فرصت شغلی @(Model.Affinity*100) درصد می باشد. -
-
- @(Model.Affinity*100)% +@if (User.IsInRole("Dovomin")) +{ +
+
+ میزان مطابقت شما با این فرصت شغلی @(Model.Affinity * 100) درصد می باشد. +
+
+ @(Model.Affinity * 100)% +
-
-
-
- @if (!Model.MinimumRequirement) - { - این فرصت شغلی نیاز به مهارت هایی دارد که با پروفایل شما مطابقت ندارد. اگر هنوز اطلاعات خود را کامل نکرده اید، به صفحه ویرایش پروفایل مراجعه نمایید. +
+
+ @if (!Model.MinimumRequirement) + { + این فرصت شغلی نیاز به مهارت هایی دارد که با پروفایل شما مطابقت ندارد. اگر هنوز اطلاعات خود را کامل نکرده اید، به صفحه ویرایش پروفایل مراجعه نمایید. } - else { - شما تمامی مهارت های الزامی مورد نیاز این فرصت شغلی را دارید. + else + { + شما تمامی مهارت های الزامی مورد نیاز این فرصت شغلی را دارید. } +
-
} -
@if (AlreadyApplied) diff --git a/Sevomin.WebFrontend/Views/Job/MiniApplication.cshtml b/Sevomin.WebFrontend/Views/Job/MiniApplication.cshtml index 3de110f..be65dd8 100644 --- a/Sevomin.WebFrontend/Views/Job/MiniApplication.cshtml +++ b/Sevomin.WebFrontend/Views/Job/MiniApplication.cshtml @@ -9,5 +9,11 @@
پیغام متخصص:
@Model.CoverLetter
} + @if (Model.MinimumRequirement){ +

این متخصص تمامی مهارت های الزامی برای این فرصت شغلی را دارد. همچنین میزان مطابقت ایشان با این فرصت شغلی، @Model.Affinity درصد است.

+ } + else { +

این متخصص برخی مهارت های الزامی برای این فرصت شغلی را ندارد. همچنین میزان مطابقت ایشان با این فرصت شغلی، @Model.Affinity درصد است.

+ }
-
+
\ No newline at end of file diff --git a/Sevomin.WebFrontend/Views/Job/SingleJob.cshtml b/Sevomin.WebFrontend/Views/Job/SingleJob.cshtml index 09f3e20..d1121d1 100644 --- a/Sevomin.WebFrontend/Views/Job/SingleJob.cshtml +++ b/Sevomin.WebFrontend/Views/Job/SingleJob.cshtml @@ -4,11 +4,33 @@ ViewBag.Title = string.Format("{0} {1}", "استخدام نیروی برنامه ریزی و کنترل پروژه", ViewBag.ShortJobDescription); } -
+

استخدام نیروی برنامه ریزی و کنترل پروژه

@ViewBag.ShortJobDescription

- + @if (Request.IsAuthenticated && User.IsInRole("Dovomin")) + { +
+
+ میزان مطابقت شما با این فرصت شغلی @ViewBag.Affinity درصد می باشد. +
+
+ @ViewBag.Affinity % +
+
+
+
+ @if (!ViewBag.MinimumRequirement) + { + این فرصت شغلی نیاز به مهارت هایی دارد که با پروفایل شما مطابقت ندارد. اگر هنوز اطلاعات خود را کامل نکرده اید، به صفحه ویرایش پروفایل مراجعه نمایید. + } + else + { + شما تمامی مهارت های الزامی مورد نیاز این فرصت شغلی را دارید. + } +
+
+ }
@if (User.IsInRole("Dovomin")) { diff --git a/Sevomin.WebFrontend/Views/Shared/Intro.cshtml b/Sevomin.WebFrontend/Views/Shared/Intro.cshtml index 5396a7e..3712bc2 100644 --- a/Sevomin.WebFrontend/Views/Shared/Intro.cshtml +++ b/Sevomin.WebFrontend/Views/Shared/Intro.cshtml @@ -5,13 +5,14 @@ - سومین: مرکز کاریابی برنامه‌ریزی و کنترل پروژه + + @Html.Partial("SocialMetaTags") - +
@@ -32,7 +33,7 @@
@Html.Partial("IntroSignup") -
+ @*
@@ -53,13 +54,18 @@
-
+
*@

حریم شخصی: یکی از مبانی عملکرد ما احترام به حریم شخصی است. این مسئله به حفظ اطلاعاتی که در اختیار ما قرار می‌دهید (مشخصات و رزومه) محدود نمی‌شود؛ آدرس ایمیل شما نیز تحت هیچ شرایطی در اختیار فرد، گروه و وب‌سایت دیگری قرار نخواهد گرفت.

+

+ سومین در توییتر + سومین در فیسبوک + سومین در گوگل پلاس +

diff --git a/Sevomin.WebFrontend/Views/Shared/_Layout.cshtml b/Sevomin.WebFrontend/Views/Shared/_Layout.cshtml index 861bbdb..08c5d94 100644 --- a/Sevomin.WebFrontend/Views/Shared/_Layout.cshtml +++ b/Sevomin.WebFrontend/Views/Shared/_Layout.cshtml @@ -2,8 +2,9 @@ - سومین - @ViewBag.Title + + @Html.Partial("SocialMetaTags") @@ -21,6 +22,10 @@

تماس با ما:
info@sevom.in +
+ سومین در توییتر + سومین در فیسبوک + سومین در گوگل پلاس