public void UpdateSquawk(Squawk squawk) { _repository.Attach(squawk); _repository.UnitOfWork.SaveChanges(); }
public void CreateSquawk(Squawk squawk) { _repository.Add<Squawk>(squawk); _repository.UnitOfWork.SaveChanges(); }
public ActionResult Create(CreateSquawkViewModel model) { if (ModelState.IsValid) { Squawk squawk = new Squawk() { AircraftId = model.AircraftId, Subject = model.Subject, Description = model.Description, GroundAircraft = model.GroundAircraft, PostedById = ProfileCommon.GetProfile().MemberId, PostedOn = DateTime.Now, Status = SquawkStatus.Open.ToString() }; _dataService.AddSquawk(squawk); if (model.GroundAircraft) _dataService.UpdateAircraftStatus(model.AircraftId, AircraftStatus.Grounded.ToString()); try { Aircraft aircraft = _dataService.GetAircraftById(model.AircraftId); MailMessage message = new MailMessage(); message.Subject = "Squawk posted for " + aircraft.RegistrationNumber; message.From = new MailAddress("*****@*****.**"); message.Body = model.Subject + "\t"; message.Body += model.Description; List<Member> owners = _dataService.GetAircraftOwners(model.AircraftId); foreach (var owner in aircraft.Owners) message.To.Add(new MailAddress(owner.Login.Email)); SendEmail(message); } catch (Exception ex) { LogError("Error while sending squawk notification email for aircraftId " + model.AircraftId + "\t" + ex.ToString()); } return RedirectToAction("ListActiveSquawks"); } return View(model); }
public Squawk AddSquawk(Squawk squawk) { _repository.Add<Squawk>(squawk); _repository.UnitOfWork.SaveChanges(); return squawk; }
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(); }