public async Task <IActionResult> AddChatMember(int?id) { if (id != null) { int comp_id = Int32.Parse(HttpContext.User.FindFirst("CompanyID").Value); EditChatMemberExtraModel model = new EditChatMemberExtraModel(); List <WorkerChatMember> listMembers = new List <WorkerChatMember>(); Topic topic = await _context.Topics.Where(t => t.ID == id).FirstOrDefaultAsync(); var chatmembers = await _context.ChatMembers.Where(ch => ch.TopicID == id).ToListAsync(); var workers = await _context.Workers.Where(w => w.CompanyID == comp_id).ToListAsync(); foreach (Worker worker in workers) { ChatMember member = chatmembers.Find(w => w.WorkerID == worker.ID); if (member == null) { WorkerChatMember wmember = new WorkerChatMember { FullName = worker.FirstName + " " + worker.SecondName, ID = worker.ID }; listMembers.Add(wmember); } } model.Title = topic.Title; model.TopicID = topic.ID; model.WorkerChatMembers = listMembers; return(View(model)); } return(NotFound()); }
public async Task <IActionResult> AddTopic() { int comp_id = Int32.Parse(HttpContext.User.FindFirst("CompanyID").Value); int user_id = Int32.Parse(HttpContext.User.FindFirst(ClaimTypes.NameIdentifier).Value); var user = await _context.Users.Where(u => u.ID == user_id).FirstOrDefaultAsync(); int?w_id = user.WorkerID; var workers = await _context.Workers.Where(w => w.CompanyID == comp_id).ToListAsync(); List <WorkerChatMember> workerChatMembers = new List <WorkerChatMember>(); foreach (Worker worker in workers) { if (worker.ID != w_id) { WorkerChatMember member = new WorkerChatMember { FullName = worker.FirstName + " " + worker.SecondName, ID = worker.ID, IsAdded = false }; workerChatMembers.Add(member); } } TopicPlusWorkersList topicPlusWorkersList = new TopicPlusWorkersList { WorkerChatMembers = workerChatMembers }; return(View(topicPlusWorkersList)); }
public async Task <IActionResult> DeleteChatMember(int?id) { if (id != null) { EditChatMemberExtraModel model = new EditChatMemberExtraModel(); List <WorkerChatMember> listMembers = new List <WorkerChatMember>(); Topic topic = await _context.Topics.Where(t => t.ID == id).FirstOrDefaultAsync(); var chatmembers = await _context.ChatMembers.Where(ch => ch.TopicID == id).ToListAsync(); foreach (ChatMember mem in chatmembers) { Worker worker = await _context.Workers.Where(w => w.ID == mem.WorkerID).FirstOrDefaultAsync(); if (worker != null) { WorkerChatMember member = new WorkerChatMember { FullName = worker.FirstName + " " + worker.SecondName, ID = worker.ID }; listMembers.Add(member); } } model.Title = topic.Title; model.TopicID = topic.ID; model.WorkerChatMembers = listMembers; return(View(model)); } return(NotFound()); }
public async Task <IActionResult> Topics() { int comp_id = Int32.Parse(HttpContext.User.FindFirst("CompanyID").Value); int user_id = Int32.Parse(HttpContext.User.FindFirst(ClaimTypes.NameIdentifier).Value); User user = await _context.Users.Where(u => u.ID == user_id).FirstOrDefaultAsync(); int? w_ID = user.WorkerID; List <Topic> topics = new List <Topic>(); var chatmemberships = await _context.ChatMembers.Where(c => c.WorkerID == w_ID).ToListAsync(); foreach (ChatMember ch in chatmemberships) { Topic topic = await _context.Topics.Where(t => t.ID == ch.TopicID).FirstOrDefaultAsync(); var dischatmembers = await _context.ChatMembers.Where(c => c.TopicID == topic.ID).ToListAsync(); List <WorkerChatMember> workerChatMembers = new List <WorkerChatMember>(); foreach (ChatMember dch in dischatmembers) { Worker worker = await _context.Workers.Where(w => w.ID == dch.WorkerID).FirstOrDefaultAsync(); if (worker != null) { WorkerChatMember dischatMember = new WorkerChatMember { FullName = worker.FirstName + " " + worker.SecondName }; workerChatMembers.Add(dischatMember); } } topic.WorkerChatMembers = workerChatMembers; if (topics != null) { topics.Add(topic); } } return(View(topics)); }