public bool SetRoleUser(SetRoleViewModel model) { aService.ClearRolesUser(model.UserId); foreach (int id in model.RoleId) { Accessment assess = new Accessment(); assess.UserId = model.UserId; assess.RoleId = id; assess.AccessedDate = DateTime.Now; assess.ExpireDate = DateTime.Now.AddYears(1); aService.SetRoleUser(assess); } User user = cService.GetUser(model.UserId); Notification notification = new Notification(); notification.AuthorId = _currentUserId; notification.CreatedDate = DateTime.Now; notification.Content = string.Join(",", user.Assessments.Select(u => u.Role.Name)); notification.Seen = false; notification.Type = NotificationSettingEnum.Banned; notification.UserId = model.UserId; notification.Link = Url.Action("BannedPage", "Account"); cService.AddNotification(notification); using (RealTimeService rService = new RealTimeService(new CPMathHubModelContainer(), notification.UserId)) { IEnumerable <string> connectionIds = RealTimeHub.Connections.GetConnections(notification.UserId); foreach (string conId in connectionIds) { _hub.Clients.Client(conId).notifyNewActivity(rService.CountNewActivityNotification()); } } return(true); }
public void SetRoleUser(Accessment assessment) { if (dal.Repository <Accessment>().Table.Count(a => a.RoleId == assessment.RoleId && a.UserId == assessment.UserId) == 0) { dal.Repository <Accessment>().Insert(assessment); dal.Save(); } }
public void CreateProfile(int userId) { Profile profile = new Profile(); profile.User = GetUser(userId); _dal.Repository <Profile>().Insert(profile); User user = GetUser(userId); user.CreatedDate = DateTime.Now; user.Reputation = 0; user.Status = UserStatusEnum.Active; Accessment accessment = new Accessment(); accessment.RoleId = 1; accessment.AccessedDate = DateTime.Now; accessment.ExpireDate = DateTime.Now.AddYears(1); user.Assessments.Add(accessment); _dal.Repository <User>().Update(user); _dal.Save(); }