public ActionResult ResolveSquawk(ResolveSquawkViewModel viewModel) { ProfileCommon profile = (ProfileCommon)HttpContext.Profile; Squawk squawk = _dataService.GetSquawkById(viewModel.Id); squawk.ResolutionNotes = viewModel.ResolutionNotes; squawk.ResolvedById = profile.MemberId; squawk.ResolvedOn = DateTime.Now; squawk.Status = viewModel.Status; _dataService.UpdateSquawk(squawk); SquawkDetailViewModel sqVM = new SquawkDetailViewModel() { Id = squawk.Id, AircraftId = squawk.AircraftId, Description = squawk.Description, PostedById = squawk.PostedById, PostedOn = squawk.PostedOn, RegistrationNumber = squawk.Aircraft.RegistrationNumber, ResolutionNotes = squawk.ResolutionNotes, ResolvedOn = squawk.ResolvedOn, ResolvedBy = profile.FirstName + " " + profile.LastName, Status = squawk.Status, Subject = squawk.Subject }; return(View(ViewNames.SquawkDetails, sqVM)); }
public ActionResult Edit(int id) { Squawk squawk = _dataService.GetSquawkById(id); List <Aircraft> aircraftList = _dataService.GetAllAirplanes(); List <Member> memberList = _dataService.GetAllMembersByRole("Admin"); EditSquawkViewModel viewModel = new EditSquawkViewModel(); viewModel.AircraftId = squawk.AircraftId; viewModel.Description = squawk.Description; viewModel.Id = squawk.Id; viewModel.PostedById = squawk.PostedById; viewModel.PostedBy = squawk.PostedBy.FullName; viewModel.PostedOn = squawk.PostedOn; viewModel.RegistrationNumber = squawk.Aircraft.RegistrationNumber; viewModel.Status = squawk.Status; viewModel.Subject = squawk.Subject; //TODO: Finish this! if (squawk.Comments.Count() > 0) { viewModel.Comments = squawk.Comments.Select(c => new SquawkCommentViewModel() { Text = c.Text }).ToList(); } ViewBag.AircraftId = new SelectList(aircraftList, "Id", "Name", squawk.AircraftId); ViewBag.OriginatorId = new SelectList(memberList, "Id", "Status", squawk.PostedById); return(View(viewModel)); }
public ActionResult DeleteConfirmed(int id) { Squawk squawk = db.Squawks.Find(id); db.Squawks.Remove(squawk); db.SaveChanges(); return(RedirectToAction("Index")); }
/// <summary> /// The Squawk /// /// This command uses the WD capabilities to emit a quick audible/visible pulse called /// a "squawk". The squawk command has no effect if the WD is currently active (warning /// in progress). /// /// <param name="squawkInfo" <see cref="byte"> Squawk Info</ param > /// <returns> the command result Task </returns> /// </summary> public Task <CommandResult> Squawk(byte squawkInfo) { Squawk command = new Squawk(); // Set the fields command.SquawkInfo = squawkInfo; return(Send(command)); }
public ActionResult Create([Bind(Include = "PlaneId,Issue,DateRecorded,Resolved,DateResolved,WhoResolved,CostToResolve,ContactPhone,ContactName")] Squawk squawk) { if (ModelState.IsValid) { db.Squawks.Add(squawk); db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.PlaneId = new SelectList(db.Planes, "Id", "TailNumber", squawk.PlaneId); return(View(squawk)); }
// GET: Squawks/Create public ActionResult Create() { ViewBag.PlaneId = new SelectList(db.Planes, "Id", "TailNumber"); var squawk = new Squawk(); squawk.PlaneId = 1; squawk.DateRecorded = DateTime.Now; var latestSquawk = db.Squawks.Where(x => x.PlaneId == squawk.PlaneId).OrderByDescending(x => x.DateRecorded).FirstOrDefault(); if (latestSquawk != null) { } return(View(squawk)); }
// GET: Squawks/Details/5 public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Squawk squawk = db.Squawks.Find(id); if (squawk == null) { return(HttpNotFound()); } return(View(squawk)); }
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 ActionResult Index(SquawkInputModel model) { if (ModelState.IsValid) { var newSquawk = new Squawk { UserId = User.Identity.Id(), Content = model.Squawk.Left(400), CreatedAt = DateTime.Now }; _db.Insert(newSquawk); } return(Index()); }
// GET: Squawks/Edit/5 SECTION DONE public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Squawk squawk = db.Squawks.Find(id); if (squawk == null) { return(HttpNotFound()); } ViewBag.PlaneId = new SelectList(db.Planes, "Id", "TailNumber", squawk.PlaneId); return(View(squawk)); }
public ActionResult ResolveSquawk(int squawkId) { Squawk squawk = _dataService.GetSquawkById(squawkId); ResolveSquawkViewModel vm = new ResolveSquawkViewModel(); vm.Status = squawk.Status; vm.AircraftId = squawk.AircraftId; vm.Description = squawk.Description; vm.Id = squawk.Id; vm.RegistrationNumber = squawk.Aircraft.RegistrationNumber; vm.ResolutionNotes = squawk.ResolutionNotes; vm.Subject = squawk.Subject; return(View(ViewNames.ResolveSquawk, vm)); }
public ViewResult Details(int id) { Squawk squawk = _dataService.GetSquawkById(id); SquawkDetailViewModel model = new SquawkDetailViewModel() { AircraftId = squawk.AircraftId, Description = squawk.Description, Id = squawk.Id, PostedBy = squawk.PostedBy.FullName, PostedOn = squawk.PostedOn, RegistrationNumber = squawk.Aircraft.RegistrationNumber, ResolvedOn = squawk.ResolvedOn, ResolutionNotes = squawk.ResolutionNotes, Status = squawk.Status, Subject = squawk.Subject }; if (squawk.ResolvedById != null) { Member resolvedBy = _dataService.GetMember((int)squawk.ResolvedById); model.ResolvedBy = resolvedBy.FullName; } foreach (var comment in squawk.Comments) { SquawkCommentViewModel commentVM = new SquawkCommentViewModel() { Id = comment.Id, PostedById = comment.PostedByMemberId, PostedOn = comment.PostDate, Text = comment.Text }; Member poster = _dataService.GetMember(comment.PostedByMemberId); commentVM.PostedBy = poster.FullName; model.Comments.Add(commentVM); } return(View(ViewNames.SquawkDetails, model)); }
public void ApplyStateVector(StateVector stateVector, long version) { lock (_SyncLock) { LastSeenInOpenSkyUtc = DateTime.UtcNow; Version = Math.Max(Version, Callsign.UpdateValue(stateVector.Callsign, version)); Version = Math.Max(Version, OriginCountry.UpdateValue(stateVector.OriginCountry, version)); Version = Math.Max(Version, LastPositionTime.UpdateValue(stateVector.TimeOfLastPosition, version)); Version = Math.Max(Version, LastMessageTime.UpdateValue(stateVector.TimeOfLastMessage, version)); Version = Math.Max(Version, Latitude.UpdateValue(stateVector.Latitude, version)); Version = Math.Max(Version, Longitude.UpdateValue(stateVector.Longitude, version)); Version = Math.Max(Version, AltitudeFeet.UpdateValue(stateVector.AltitudeFeet, version)); Version = Math.Max(Version, OnGround.UpdateValue(stateVector.OnGround, version)); Version = Math.Max(Version, GroundSpeedKnots.UpdateValue(stateVector.GroundSpeedKnots, version)); Version = Math.Max(Version, Track.UpdateValue(stateVector.Track, version)); Version = Math.Max(Version, VerticalRateFeetPerSecond.UpdateValue(stateVector.VerticalRateFeetPerSecond, version)); Version = Math.Max(Version, Squawk.UpdateValue(stateVector.Squawk, version)); Version = Math.Max(Version, SpecialPurposeIndicator.UpdateValue(stateVector.SpecialPurposeIndicator, version)); Version = Math.Max(Version, PositionSource.UpdateValue(stateVector.PositionSource, version)); } }
public ActionResult Edit(EditSquawkViewModel viewModel) { if (ModelState.IsValid) { Squawk squawk = _dataService.GetSquawkById(viewModel.Id); squawk.Status = viewModel.Status; squawk.ResolutionNotes = viewModel.ResolutionNotes; squawk.Subject = viewModel.Subject; squawk.Description = viewModel.Description; _dataService.UpdateSquawk(squawk); return(RedirectToAction("ListActiveSquawks")); } //List<Aircraft> aircraftList = _dataService.GetAllAirplanes(); //List<Member> memberList = _dataService.GetAllMembersByRole("Admin"); //ViewBag.AircraftId = new SelectList(aircraftList, "Id", "Name", squawk.AircraftId); //ViewBag.OriginatorId = new SelectList(memberList, "Id", "Status", squawk.PostedById); return(View(viewModel)); }
public void UpdateSquawk(Squawk squawk) { _repository.Attach(squawk); _repository.UnitOfWork.SaveChanges(); }
public Squawk AddSquawk(Squawk squawk) { _repository.Add <Squawk>(squawk); _repository.UnitOfWork.SaveChanges(); return(squawk); }
public void CreateSquawk(Squawk squawk) { _repository.Add <Squawk>(squawk); _repository.UnitOfWork.SaveChanges(); }
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(); }