diff --git a/Sevomin.Models/DovominViewModel.cs b/Sevomin.Models/DovominViewModel.cs index b080254..e73088c 100644 --- a/Sevomin.Models/DovominViewModel.cs +++ b/Sevomin.Models/DovominViewModel.cs @@ -6,6 +6,7 @@ using System.Text; using System.Threading.Tasks; using Sevomin.Models.Helpers; using System.ComponentModel; +using Sevomin.Models.Repositories; namespace Sevomin.Models { @@ -68,8 +69,7 @@ namespace Sevomin.Models this.EnglishResume = dovomin.EnglishResume; this.PersianResume = dovomin.PersianResume; - if (dovomin.DovominParameters == null) - return; + ParameterRepository.Current.AddParametersToDovomin(dovomin); Parameters = new List(); foreach (var jp in dovomin.DovominParameters) diff --git a/Sevomin.Models/Repositories/IRepository.cs b/Sevomin.Models/Repositories/IRepository.cs index 7be887a..8f9d834 100644 --- a/Sevomin.Models/Repositories/IRepository.cs +++ b/Sevomin.Models/Repositories/IRepository.cs @@ -25,5 +25,6 @@ namespace Sevomin.Models.Repositories public interface IParameterRepository : IRepository { IQueryable ListAll(); + void AddParametersToDovomin(Dovomin dovomin); } } diff --git a/Sevomin.Models/Repositories/ParameterRepository.cs b/Sevomin.Models/Repositories/ParameterRepository.cs index 7ae2ffa..1577947 100644 --- a/Sevomin.Models/Repositories/ParameterRepository.cs +++ b/Sevomin.Models/Repositories/ParameterRepository.cs @@ -62,6 +62,18 @@ namespace Sevomin.Models.Repositories { SevominDbContext.Current.SaveChanges(); } + + public void AddParametersToDovomin(Dovomin dovomin) + { + foreach (var param in ListAll()) + { + if (dovomin.DovominParameters.Count(x => x.ParameterId == param.Id) == 0) + { + dovomin.DovominParameters.Add(new DovominParameter(dovomin, param)); + } + } + } #endregion + } } diff --git a/Sevomin.WebFrontend.Controllers/AccountController.cs b/Sevomin.WebFrontend.Controllers/AccountController.cs index 8c02912..c097486 100644 --- a/Sevomin.WebFrontend.Controllers/AccountController.cs +++ b/Sevomin.WebFrontend.Controllers/AccountController.cs @@ -138,5 +138,22 @@ namespace Sevomin.WebFrontend.Controllers ModelState.AddModelError("", error); } } + + [Authorize] + private async Task Profile() + { + User u = await UserManager.FindByNameAsync(User.Identity.Name); + if (u is Avalin) + { + return View("ProfileAvalin", u as Avalin); + } + else + { + Dovomin dovomin = (Dovomin)u; + DovominViewModel dvm = new DovominViewModel(dovomin); + return View("ProfileDovomin", dvm); + } + } + } }