Esempio n. 1
0
        public ActionResult AddComment(SquawkCommentViewModel viewModel)
        {
            SquawkComment comment = new SquawkComment()
            {
                PostDate = DateTime.Now,
                PostedByMemberId = ((AuthenticatedUser)Session[ContextVariables.AuthenticatedUser]).MemberId,
                SquawkId = viewModel.SquawkId,
                Text = viewModel.Text
            };

            _dataService.AddSquawkComment(comment);

            return RedirectToAction("Details", new { id = viewModel.SquawkId });
        }
Esempio n. 2
0
 public int AddSquawkComment(SquawkComment comment)
 {
     _repository.Add<SquawkComment>(comment);
     _repository.UnitOfWork.SaveChanges();
     return comment.Id;
 }
Esempio n. 3
0
        public void ImportSquawks()
        {
            TimeSpan squawkBackImport = new TimeSpan(180, 0, 0, 0);
            DateTime cutoffDate = DateTime.Now.Subtract(squawkBackImport);
            IEnumerator<NtfcDataSet.tblThreadsRow> threads = _dataSet.tblThreads.GetEnumerator();

            var articlesByThreadId = _dataSet.tblArticles
                .Where(r => r.Posted > cutoffDate)
                .OrderBy(r => r.Posted)
                .GroupBy(r => r.ThreadID);
            
            foreach (var articleGroup in articlesByThreadId)
            {
                int threadId = articleGroup.Key;
                NtfcDataSet.tblThreadsRow thread = _dataSet.tblThreads.Where(t => t.ThreadId == threadId).FirstOrDefault();
                if (thread == null)
                    continue;
                NtfcDataSet.tblGroupsRow groupRow = _dataSet.tblGroups.FirstOrDefault(g => g.GroupID == thread.GroupID);

                Aircraft aircraft = _dbContext.Aircraft.FirstOrDefault(a => a.RegistrationNumber == groupRow.GroupName.Trim());
                if (aircraft == null)
                    continue;

                Member poster = _dbContext.Members.FirstOrDefault(m => m.FirstName == thread.First_Name.Trim() && m.LastName == thread.Last_name);
                if (poster == null)
                    continue;
                
                Squawk squawk = new Squawk();
                squawk.AircraftId = aircraft.Id;
                squawk.GroundAircraft = false;
                squawk.PostedById = poster.Id;
                squawk.PostedOn = articleGroup.First().Posted;
                squawk.Description = articleGroup.First().Message;
                squawk.Subject = thread.ThreadName;

                if (articleGroup.Count() > 1)
                {
                    squawk.Comments = new List<SquawkComment>();

                    //Member responder = _dbContext.Members.FirstOrDefault(m => m.FirstName == articleGroup.Last().First_Name.Trim() && m.LastName == articleGroup.Last().Last_Name.Trim());
                    //squawk.RespondedBy = responder.Id;
                    //squawk.RespondedOn = articleGroup.Last().Posted;
                    //squawk.Response = articleGroup.Last().Message;

                    for (int i = 1; i < articleGroup.Count(); i++)
                    {
                        NtfcDataSet.tblArticlesRow current = articleGroup.ElementAt(i);
                        SquawkComment comment = new SquawkComment();
                        Member commenter = _dbContext.Members.FirstOrDefault(m => m.FirstName == current.First_Name && m.LastName == current.Last_Name);
                        comment.PostDate = current.Posted;
                        comment.PostedByMemberId = commenter.Id;
                        comment.Text = current.Message.Trim();

                        squawk.Comments.Add(comment);
                    }

                    if (articleGroup.Count() > 2)
                    {

                    }
                }

                _dbContext.Squawks.Add(squawk);
            }
            _dbContext.SaveChanges();
        }