Beispiel #1
0
        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);
        }
Beispiel #2
0
        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));
        }
Beispiel #3
0
        public IActionResult ChangeStatus([FromBody] StatusChangeViewModel statusChangeData)
        {
            if (!ModelState.IsValid)
            {
                Ok();
            }

            var updatedReservation =
                _reservationService.UpdateStatus(statusChangeData.ReservationId, (ReservationStatus)statusChangeData.Status);

            return(Ok(updatedReservation));
        }
Beispiel #4
0
        /// <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);
        }
Beispiel #5
0
        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));
        }