예제 #1
0
        public ActionResult DeleteComment(int commentId)
        {
            SquawkComment          comment = _dataService.GetSquawkComment(commentId);
            SquawkCommentViewModel vm      = new SquawkCommentViewModel()
            {
                Id       = comment.Id,
                Text     = comment.Text,
                SquawkId = comment.SquawkId
            };

            return(View("DeleteSquawkComment", vm));
        }
예제 #2
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 }));
        }
예제 #3
0
 public int AddSquawkComment(SquawkComment comment)
 {
     _repository.Add <SquawkComment>(comment);
     _repository.UnitOfWork.SaveChanges();
     return(comment.Id);
 }
예제 #4
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();
        }