public ActionResult EditInfo(UserInfoViewModel userInfo) { BllProgrammer user = (BllProgrammer)userService.Find(User.Identity.Name); DateTime birthday = new DateTime(); if (!string.IsNullOrEmpty(userInfo.BirthDate) && !DateTime.TryParse(userInfo.BirthDate, CultureInfo.CurrentCulture.DateTimeFormat, DateTimeStyles.None, out birthday)) { ModelState.AddModelError("", Resources.Resource.InvalidDate); return(View(userInfo)); } else { if (birthday == new DateTime()) { user.BirthDate = null; } else { user.BirthDate = birthday; } } userInfo.SetUserInfo(user); userService.Update(user); return(RedirectToAction("Index")); }
private void UpdateUserSkills(BllProgrammer balProgrammer) { var dbUserSkills = userSkillRepo.Get(x => x.User.Id == balProgrammer.Id); foreach (var skill in balProgrammer.Skills) { DalUserSkill dalUserSkill = new DalUserSkill { User = (DalProgrammer)balProgrammer.ToDal(), Skill = skill.Key.ToDal(), Level = skill.Value }; if (dbUserSkills.Any(x => x.Skill.Id == skill.Key.Id)) { userSkillRepo.Update(dalUserSkill); } else { userSkillRepo.Create(dalUserSkill); } } foreach (var skill in dbUserSkills) { if (!balProgrammer.Skills.Any(x => x.Key.Id == skill.Skill.Id)) { userSkillRepo.Remove(skill); } } }
public ActionResult EditInfo() { BllProgrammer user = (BllProgrammer)userService.Find(User.Identity.Name); UserInfoViewModel ui = new UserInfoViewModel(); ui.GetInfo(user); return(View(ui)); }
public ActionResult EditSkills(EditUserSkillsViewModel model) { BllProgrammer user = (BllProgrammer)userService.Find(model.Id); user.Skills = model.Skills .Where(x => x.Level != 0) .ToDictionary(k => k.Skill, v => v.Level); userService.Update(user); return(RedirectToAction("Index")); }
public void GetInfo(BllProgrammer user) { Name = user.Name; About = user.About; ImageType = user.ImageType; if (user.BirthDate != null) { BirthDate = ((DateTime)user.BirthDate).ToShortDateString(); } }
public void SetUserInfo(BllProgrammer user) { user.Name = Name; user.About = About; if (Image != null) { user.ImageType = Image.ContentType; user.Photo = new byte[Image.ContentLength]; Image.InputStream.Read(user.Photo, 0, Image.ContentLength); } }
public FileResult GetPhoto(int id) { BllProgrammer user = (BllProgrammer)userService.Find(id); if (user.Photo != null && user.ImageType != null) { return(File(user.Photo, user.ImageType)); } else { return(File(Server.MapPath(defaultImagePath), defaultImageType)); } }
public ActionResult EditSkills() { BllProgrammer user = (BllProgrammer)userService.Find(User.Identity.Name); var skills = skillService.GetAll().Select(x => new UserSkillViewModel { Skill = x }).ToList(); foreach (var skill in user.Skills) { skills.First(x => x.Skill.Id == skill.Key.Id).Level = skill.Value; } return(View(new EditUserSkillsViewModel { Id = user.Id, Skills = skills })); }
private static BllUser InitializeBalUserProperties(DalUser user) { BllUser balUser; if (user is DalAdmin) { balUser = new BllAdmin(); } else if (user is DalProgrammer) { DalProgrammer dalProgrammer = (DalProgrammer)user; Dictionary <BllSkill, int> skillsDict = null; if (dalProgrammer.Skills != null) { skillsDict = dalProgrammer.Skills.ToDictionary(k => k.Skill.ToBal(), v => v.Level); } balUser = new BllProgrammer() { Name = dalProgrammer.Name, About = dalProgrammer.About, BirthDate = dalProgrammer.BirthDate, Photo = dalProgrammer.Photo, ImageType = dalProgrammer.ImapeType, Skills = skillsDict }; } else if (user is DalManager && ((DalManager)user).Filters != null) { balUser = new BllManager { Filters = ((DalManager)user).Filters.Select(f => f.ToBal()).ToList() } } ; else { balUser = new BllUser(); } return(balUser); }
private static DalUser InitializeDalUserProperties(BllUser user) { DalUser dalUser; if (user is BllAdmin) { dalUser = new DalAdmin(); } else if (user is BllProgrammer) { BllProgrammer programmer = (BllProgrammer)user; DalProgrammer dalProgrammer = new DalProgrammer(); dalProgrammer.Name = programmer.Name; dalProgrammer.About = programmer.About; dalProgrammer.BirthDate = programmer.BirthDate; dalProgrammer.Photo = programmer.Photo; dalProgrammer.ImapeType = programmer.ImageType; dalProgrammer.Skills = programmer.Skills.Select(x => new DalUserSkill { User = dalProgrammer, Level = x.Value, Skill = x.Key.ToDal() }); dalUser = dalProgrammer; } else if (user is BllManager) { dalUser = new DalManager() { Filters = ((BllManager)user).Filters.Select(f => f.ToDal(user.Id)) } } ; else { dalUser = new DalUser(); } return(dalUser); }