private List <StatusChangeViewModel> GetChangeEventViewModels(List <ConnectionStatusChangeEventInfo> personList) { var vmList = new List <StatusChangeViewModel>(); foreach (var info in personList) { var vm = new StatusChangeViewModel(); vm.Id = info.PersonId; vm.FirstName = info.FirstName; vm.LastName = info.LastName; vm.NameLastFirst = info.LastName + ", " + info.FirstName; vm.PersonId = info.PersonId; vm.DateChanged = info.EventDate; vm.PhotoUrl = Person.GetPersonPhotoUrl(info.PersonId); vm.OriginalStatus = info.OldConnectionStatusName; vm.UpdatedStatus = info.NewConnectionStatusName; vm.ChangedBy = info.CreatedBy; vmList.Add(vm); } return(vmList); }
public ActionResult StatusChange(StatusChangeViewModel statchange) { var comment = new Comment(); if (ModelState.IsValid) { var cu = User.Identity.GetUserName(); var usrs = this.db.Users.Single(u => u.UserName == cu).Id; comment.UserId = usrs; comment.TicketId = statchange.TicketId; comment.Comment1 = statchange.Comment; db.Comments.Add(comment); db.SaveChanges(); var ct = db.Tickets.Single(id => id.Id == comment.TicketId); var oldstat = ct.Status.Name; ct.StatusId = statchange.StatusId; ct.LastedUpdated = DateTime.Now; db.Entry(ct).State = EntityState.Modified; db.SaveChanges(); // Create History Event var eventstr = "Status was changed from \"" + oldstat + "\" to \"" + ct.Status.Name + "\"."; var he = new History(ct.Id, usrs, eventstr); db.Histories.Add(he); db.SaveChanges(); // Notify Assignee var ne = new Notification(ct.Id, ct.AssignedId, eventstr); db.Notifications.Add(ne); db.SaveChanges(); // Notify Project Manager if not assignee var nep = new Notification(ct.Id, ct.User1.Id, eventstr); if (ne.UserId != nep.UserId) { db.Notifications.Add(nep); db.SaveChanges(); } return(RedirectToAction("../Tickets/Details/" + comment.TicketId)); } var tick = db.Tickets.Single(i => i.Id == statchange.TicketId); ViewBag.tickettitle = tick.Title; ViewBag.StatusId = new SelectList(db.Status.OrderBy(so => so.SortOrder), "Id", "Name"); return(View(statchange)); }
public IActionResult ChangeStatus([FromBody] StatusChangeViewModel statusChangeData) { if (!ModelState.IsValid) { Ok(); } var updatedReservation = _reservationService.UpdateStatus(statusChangeData.ReservationId, (ReservationStatus)statusChangeData.Status); return(Ok(updatedReservation)); }
/// <summary> /// Create the view models for the status change list. /// </summary> /// <param name="personList"></param> /// <returns></returns> private List <StatusChangeViewModel> GetChangeEventViewModels(List <ConnectionStatusChangeEventInfo> personList) { var vmList = new List <StatusChangeViewModel>(); foreach (var info in personList) { var vm = new StatusChangeViewModel(); vm.Id = info.PersonId; vm.FirstName = info.FirstName; vm.LastName = info.LastName; vm.NameLastFirst = info.LastName + ", " + info.FirstName; vm.PersonId = info.PersonId; vm.DateChanged = info.EventDate; /* * Calculate the Age Classification here to prevent the database query that will otherwise be made when the PhotoUrl is retrieved. */ AgeClassification ageClassification; if (info.Age.HasValue && info.Age.Value < 18) { ageClassification = AgeClassification.Child; } else { ageClassification = AgeClassification.Adult; } vm.PhotoUrl = Person.GetPersonPhotoUrl(info.PersonId, info.PhotoId, info.Age, info.Gender, info.RecordTypeValueGuid, ageClassification); vm.OriginalStatus = info.OldConnectionStatusName; vm.UpdatedStatus = info.NewConnectionStatusName; vm.ChangedBy = info.CreatedBy; vmList.Add(vm); } return(vmList); }
public ActionResult StatusChange(int?ticketid) { var ct = new StatusChangeViewModel(); if (ticketid == null) { ViewBag.tickettitle = "---"; } else { var tick = db.Tickets.Single(i => i.Id == ticketid); ViewBag.tickettitle = tick.Title; ct.TicketId = ticketid.GetValueOrDefault(); } ViewBag.StatusId = new SelectList(db.Status.OrderBy(so => so.SortOrder), "Id", "Name"); ViewBag.PreviousPage = Request.UrlReferrer.AbsolutePath.ToString(); ViewBag.SCMessage = ""; return(View(ct)); }