コード例 #1
0
        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());
        }
コード例 #2
0
        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));
        }
コード例 #3
0
        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());
        }
コード例 #4
0
        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));
        }