コード例 #1
0
        public IActionResult Edit(int id)
        {
            var ticket = _ticketsFinder.Find(id);

            if (ticket == null)
            {
                return(NotFound());
            }

            if (ticket.AuthorId != User.GetUserId() && User.IsInRole("Admin").Equals(false))
            {
                return(Forbid());
            }

            var categories      = _categoryFinder.FindAll();
            var categoryOptions = categories.Select(c => new SelectListItem
            {
                Text  = c.Name,
                Value = c.Id.ToString()
            }).ToArray();
            var viewModel = new TicketEditViewModel
            {
                Id          = ticket.Id,
                Title       = ticket.Title,
                Description = ticket.Description,
                IsCompleted = ticket.IsCompleted,
                CategoryId  = ticket.CategoryId,
                Categories  = categoryOptions
            };

            return(View(viewModel));
        }
コード例 #2
0
        public ActionResult EditTicket(int id)
        {
            Ticket ticket = _ticketRepository.GetById(id);
            var    _employeeRepository   = new EmployeeRepository();
            var    _departmentRepository = new DepartmentRepository();

            var departments = _departmentRepository.GetDepatments();
            var employees   = _employeeRepository.GetEmployeeByDepartment(ticket.Employee.DepartmentId);


            var ticketEditViewModel = new TicketEditViewModel
            {
                TicketId               = ticket.TicketId,
                ProjectName            = ticket.ProjectName,
                TDescription           = ticket.TDescription,
                TDateCreation          = ticket.TDateCreation,
                SelectedEmployeeCode   = ticket.EmployeeId,
                SelectedDepartmentCode = ticket.Employee.DepartmentId,
                Departments            = departments,
                Employees              = employees
            };

            var selected = employees.FirstOrDefault(x => x.Value == ticketEditViewModel.SelectedEmployeeCode.ToString());

            selected.Selected = true;

            ViewBag.employeeName = employees.Where(e => e.Value == ticketEditViewModel.SelectedEmployeeCode.ToString()).First();
            return(View(ticketEditViewModel));
        }
コード例 #3
0
        public IActionResult Edit(int id)
        {
            Ticket ticket = _ticketRepository.GetTicketById(id);

            TicketRecord _record = new TicketRecord()
            {
                TicketId          = ticket.TicketId,
                TicketDescription = ticket.Description,
                TicketUpdatedTime = ticket.TicketUpdated,
                Status            = ticket.Status,
                Priority          = ticket.Priority,
                ProjectId         = ticket.ProjectId,
                TicketName        = ticket.Name
            };

            _ticketRecordRepository.CreateRecord(_record);
            TicketEditViewModel ticektEditViewModel = new TicketEditViewModel()
            {
                TicketId      = ticket.TicketId,
                record        = _record,
                Name          = ticket.Name,
                TicketCreated = ticket.TicketCreated,
                TicketUpdated = ticket.TicketUpdated,
                Type          = ticket.Type,
                ProjectId     = ticket.ProjectId,
                Priority      = ticket.Priority,
                Status        = ticket.Status,
                Project       = ticket.Project,
                Description   = ticket.Description,
            };

            return(View(ticektEditViewModel));
        }
コード例 #4
0
        public async Task <IActionResult> Edit([Bind("Id,Title,Description,Created,Updated,PercentComplete,SelectedStatus,SelectedPriority,SelectedType")] TicketEditViewModel ticketEdit)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    var ticket = await _context.Tickets
                                 .FirstOrDefaultAsync(m => m.Id == ticketEdit.Id).ConfigureAwait(false);

                    ticket.Title            = ticketEdit.Title;
                    ticket.Description      = ticketEdit.Description;
                    ticket.Created          = ticketEdit.Created;
                    ticket.Updated          = DateTimeOffset.Now;
                    ticket.PercentComplete  = ticketEdit.PercentComplete;
                    ticket.TicketStatusId   = ticketEdit.SelectedStatus;
                    ticket.TicketPriorityId = ticketEdit.SelectedPriority;
                    ticket.TicketTypeId     = ticketEdit.SelectedType;

                    _context.Update(ticket);
                    await _context.SaveChangesAsync().ConfigureAwait(false);

                    return(RedirectToAction(nameof(Index)));
                }

                catch (DbUpdateException /* ex */)
                {
                    //Log the error (uncomment ex variable name and write a log.)
                    ModelState.AddModelError("", "Unable to save changes. " +
                                             "Try again, and if the problem persists, " +
                                             "see your system administrator.");
                }
            }

            return(View(ticketEdit));
        }
コード例 #5
0
        public TicketEditViewModel EditTicketViewModel(TicketEditBindingModel invalidInput, IEnumerable <ModelError> errors)
        {
            var viewModel = new TicketEditViewModel
            {
                TicketId       = invalidInput.TicketId,
                Title          = invalidInput.Title,
                CreatedDate    = invalidInput.CreatedDate,
                UpdatedDate    = invalidInput.UpdatedDate,
                CreatorName    = invalidInput.CreatorName,
                Type           = invalidInput.Type,
                Status         = invalidInput.Status,
                Priority       = invalidInput.Priority,
                Content        = invalidInput.Content,
                RemoveAssigned = new Dictionary <string, bool>(),
                Errors         = new List <string>()
            };

            if (invalidInput.RemoveAssigned != null)
            {
                foreach (var(username, flag) in invalidInput.RemoveAssigned)
                {
                    viewModel.RemoveAssigned[username] = flag;
                }
            }

            if (errors != null)
            {
                foreach (var error in errors)
                {
                    viewModel.Errors.Add(error.ErrorMessage);
                }
            }
            return(viewModel);
        }
コード例 #6
0
        public IActionResult Edit(int id, TicketEditViewModel tevm, Klant klant)
        {
            if (ModelState.IsValid)
            {
                Ticket ticket = null;
                try
                {
                    ticket = _gebruikerRepository.GetByTicketNr(id);
                    MapTicketEditViewModelToTicket(tevm, ticket);
                    TicketType ticketType = _ticketTypeRepository.GetBy(tevm.TicketTypeId);
                    ticket.TicketType = ticketType;
                    _gebruikerRepository.SaveChanges();
                    _notyf.Success("Ticket is succesvol bewerkt", 3);
                }
                catch
                {
                    _notyf.Error("Ticket is niet bewerkt. Probeer opnieuw", 3);
                }
                return(RedirectToAction(nameof(Index)));
            }

            ViewData["IsEdit"]      = true;
            ViewData["ticketTypes"] = GetTicketTypesAsSelectList();
            return(View(nameof(Edit), tevm));
        }
コード例 #7
0
        public bool SaveTicket(TicketEditViewModel ticketEdit)
        {
            if (ticketEdit != null)
            {
                using (var context = _context)
                {
                    var ticket = new Ticket()
                    {
                        TicketId      = ticketEdit.TicketId,
                        TDateCreation = DateTime.Now,            /*ticketEdit.TDateCreation,*/
                        TDescription  = ticketEdit.TDescription, // SelectedCountryIso3,
                        ProjectName   = ticketEdit.ProjectName,
                        EmployeeId    = ticketEdit.SelectedEmployeeCode
                    };
                    //ticket.Employee = context.Employees.Find(ticketEdit.SelectedEmployeeCode);
                    //ticket.Employee.Department = context.Departments.Find(ticketEdit.SelectedDepartmentCode);

                    context.Tickets.Add(ticket);
                    context.SaveChanges();
                    return(true);
                }
            }
            // Return false if customeredit == null or CustomerID is not a guid
            return(false);
        }
コード例 #8
0
 private void MapTicketEditViewModelToTicket(TicketEditViewModel TicketEditViewModel, Ticket ticket)
 {
     ticket.Titel           = TicketEditViewModel.Titel;
     ticket.Omschrijving    = TicketEditViewModel.Omschrijving;
     ticket.Opmerkingen     = TicketEditViewModel.Opmerkingen;
     ticket.LaatstGewijzigd = DateTime.Now;
 }
コード例 #9
0
 public IActionResult Edit(TicketEditViewModel model)
 {
     if (ModelState.IsValid)
     {
         _ticketRepository.UpdateTicket(model);
         return(RedirectToAction("TicketDetail", model));
     }
     return(View(model));
 }
コード例 #10
0
        public ActionResult Edit(Guid?id)
        {
            TicketEditViewModel model = GenerateTicketEditViewModel(id);

            if (model == null)
            {
                return(RedirectToAction(nameof(Index)));
            }

            return(View(model));
        }
コード例 #11
0
        public void EditTicket(TicketEditViewModel model)
        {
            var existedTicket = _ticketRepository.Get(x => x.Id == model.Id && x.Deleted == false);

            if (existedTicket.Status != TicketStatus.Pending)
            {
                throw new InvalidOperationException();
            }
            EditInfoTicket(existedTicket, model);
            _ticketRepository.Update(existedTicket);
            _unitOfWork.CommitChanges();
        }
コード例 #12
0
        public ActionResult Edit(TicketEditViewModel formData)
        {
            if (formData?.Id == null || formData.Id == Guid.Empty || formData?.ProjectId == null)
            {
                return(RedirectToAction(nameof(Index)));
            }

            try
            {
                string userId      = User.Identity.GetUserId();
                Ticket foundTicket = TicketRepository.GetTicket(formData.Id);

                if (foundTicket == null)
                {
                    return(RedirectToAction(nameof(HomeController.UnauthorizedRequest), "Home", new { error = $"Ticket wasn't found" }));
                }

                bool canEdit = TicketRepository.CanUserEditTicket(userId, foundTicket.Id);

                if (!canEdit)
                {
                    return(RedirectToAction(nameof(HomeController.UnauthorizedRequest), "Home", new { error = $"You don't have the permissions to edit \"{foundTicket.Title}\"" }));
                }

                // Generate link to ticket details when sending a email
                string callBackUrl = Url.Action(nameof(Details), "Ticket", new { id = foundTicket.Id }, Request.Url.Scheme);
                //TicketRepository.AssignedNewDeveloper += TicketRepository_AssignedNewDeveloper;
                (_, bool wasChanged) = TicketRepository.EditExistingTicket(foundTicket, formData, userId, callBackUrl);

                if (!wasChanged)
                {
                    throw new Exception("Ticket was not edited");
                }


                DbContext.SaveChanges();

                return(RedirectToAction(nameof(Details), new { Id = formData.Id }));
            }
            catch (Exception e)
            {
                ModelState.AddModelError("", e.Message); // TODO: Remove after project completion (on staging phase)
                TicketEditViewModel model = GenerateTicketEditViewModel(formData.Id);

                if (model == null)
                {
                    return(RedirectToAction(nameof(Index)));
                }

                return(View(nameof(Edit), model));
            }
        }
コード例 #13
0
        public void Create_InvalidTicket_DoesNotCreateNorPersistsTicketAndRedirectToActionIndex()
        {
            _gebruikerRepository.Setup(m => m.AddTicket(It.IsAny <Ticket>()));
            var ticketEvm = new TicketEditViewModel(new Ticket("InvalidTicket"))
            {
                Omschrijving = null
            };
            var result = Assert.IsType <RedirectToActionResult>(_controller.Create(ticketEvm, _dummyContext.Piet));

            Assert.Equal("Index", result.ActionName);
            _gebruikerRepository.Verify(m => m.AddTicket(It.IsAny <Ticket>()), Times.Never());
            _gebruikerRepository.Verify(m => m.SaveChanges(), Times.Never());
        }
コード例 #14
0
        private TicketEditViewModel GenerateTicketEditViewModel(Guid?id)
        {
            #region Null Checks
            if (!id.HasValue)
            {
                return(null);
            }

            Ticket foundTicket = TicketRepository.GetTicket(id.Value);

            if (foundTicket == null)
            {
                return(null);
            }
            #endregion

            string userId = User.Identity.GetUserId();
            List <SelectListItem> userProjects = null;

            if (User.IsInRole(UserRolesEnum.Admin.ToString()) || User.IsInRole(UserRolesEnum.ProjectManager.ToString()))
            {
                userProjects = ProjectRepository.GetAllProjects()
                               .Select(project => new SelectListItem()
                {
                    Text  = project.Name,
                    Value = project.Id.ToString(),
                }).ToList();
            }
            else
            {
                userProjects = ProjectRepository.GetUserProjects(userId)
                               .Select(project => new SelectListItem()
                {
                    Text  = project.Name,
                    Value = project.Id.ToString(),
                }).ToList();
            }

            List <SelectListItem> developers = UserRoleRepository
                                               .UsersInRole(UserRolesEnum.Developer)
                                               .Select(user => new SelectListItem()
            {
                Text     = user.DisplayName,
                Value    = user.Id,
                Selected = user.Id == foundTicket.AssignedUserId,
            })
                                               .ToList();

            return(TicketEditViewModel.CreateNewViewModel(foundTicket, developers, userProjects));
        }
コード例 #15
0
        public TicketEditViewModel CreateTicket()
        {
            var departmentRepository = new DepartmentRepository();
            var employeeRepository   = new EmployeeRepository();
            var ticket = new TicketEditViewModel()
            {
                //TicketId = Guid.NewGuid().ToString(),

                Departments = departmentRepository.GetDepatments(),
                Employees   = employeeRepository.GetEmployeeByDepartment()
            };

            return(ticket);
        }
コード例 #16
0
        public void Edit_ValidEdit_UpdatesAndPersistsTicketAndRedirectsToActionIndex()
        {
            _gebruikerRepository.Setup(m => m.GetByTicketNr(1)).Returns(_dummyContext.t);
            var ticketEvm = new TicketEditViewModel(_dummyContext.t)
            {
                Omschrijving = "nieuwe omschrijving ticket"
            };
            var result      = Assert.IsType <RedirectToActionResult>(_controller.Edit(1));
            var TicketPiet1 = _dummyContext.t;

            Assert.Equal("Index", result?.ActionName);
            Assert.Equal("Ticket1", _dummyContext.t.Titel);
            Assert.Equal("nieuwe omschrijving ticket", _dummyContext.t.Omschrijving);
            _gebruikerRepository.Verify(m => m.SaveChanges(), Times.Once());
        }
コード例 #17
0
 public ActionResult UpdateCustomerTicket(TicketEditViewModel model)
 {
     if (!ModelState.IsValid)
     {
         return(BadRequest("Invalid Request"));
     }
     try
     {
         _ticketService.EditTicket(model);
         return(Ok());
     } catch (Exception e)
     {
         return(StatusCode((int)HttpStatusCode.NotAcceptable, e.Message));
     }
 }
コード例 #18
0
        public void Edit_InvalidEdit_DoesNotChangeNorPersistsBrewerAndRedirectsToActionIndex()
        {
            _gebruikerRepository.Setup(m => m.GetByTicketNr(1)).Returns(_dummyContext.t);
            var ticketEvm = new TicketEditViewModel(_dummyContext.t)
            {
                Omschrijving = null
            };
            var result      = Assert.IsType <RedirectToActionResult>(_controller.Edit(1));
            var TicketPiet1 = _dummyContext.t;

            Assert.Equal("Index", result.ActionName);
            Assert.Equal("Ticket1", TicketPiet1.Titel);
            Assert.Equal("Omschrijving ticket 1", TicketPiet1.Omschrijving);
            _gebruikerRepository.Verify(m => m.SaveChanges(), Times.Never());
        }
コード例 #19
0
        public void Create_ValidTicket_CreatesAndPersistsTicketAndRedirectsToActionIndex()
        {
            _gebruikerRepository.Setup(m => m.AddTicket(It.IsAny <Ticket>()));
            var ticketEvm = new TicketEditViewModel(new Ticket("ValidTicket")
            {
                Contract     = _dummyContext.Contracten.Last(),
                TicketType   = _dummyContext.TicketTypes.Last(),
                Omschrijving = "Omschrijving TicketTest",
                Opmerkingen  = "Opmerkingen TicketTest",
            });
            var result = Assert.IsType <RedirectToActionResult>(_controller.Create(ticketEvm, _dummyContext.Piet));

            Assert.Equal("Index", result?.ActionName);
            _gebruikerRepository.Verify(m => m.AddTicket(It.IsAny <Ticket>()), Times.Once());
            _gebruikerRepository.Verify(m => m.SaveChanges(), Times.Once());
        }
コード例 #20
0
        // GET: Tickets/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Ticket ticket = db.Tickets.Find(id);

            if (ticket == null)
            {
                return(HttpNotFound());
            }
            else
            {
                var ticketEdit = new TicketEditViewModel();
                ticketEdit.Id          = ticket.Id;
                ticketEdit.Title       = ticket.Title;
                ticketEdit.Created     = ticket.Created;
                ticketEdit.Updated     = ticket.Updated;
                ticketEdit.Description = ticket.Description;

                //setting the default selected values of the TicketEditViewModel to the current values in the ticket
                ticketEdit.SelectedProject  = ticket.ProjectId;
                ticketEdit.SelectedType     = ticket.TicketTypeId;
                ticketEdit.SelectedPriority = ticket.TicketPriorityId;
                ticketEdit.SelectedStatus   = ticket.TicketStatusId;
                //ticketEdit.OwnerUserId = ticket.OwnerUserId;
                if (!string.IsNullOrEmpty(ticket.AssignedToUserId))
                {
                    var assignedTo = db.Users.Find(ticket.AssignedToUserId);
                    ticketEdit.AssignedToUserName = assignedTo.FirstName + " " + assignedTo.LastName;
                }
                else
                {
                    ticketEdit.AssignedToUserName = "******";
                }

                ticketEdit.Projects         = new SelectList(db.Projects, "Id", "Name", ticketEdit.SelectedProject);          //ticket.ProjectId
                ticketEdit.TicketTypes      = new SelectList(db.TicketTypes, "Id", "Name", ticketEdit.SelectedType);          //ticket.TicketTypeId
                ticketEdit.TicketPriorities = new SelectList(db.TicketPriorities, "Id", "Name", ticketEdit.SelectedPriority); //ticket.TicketPriorityId
                ticketEdit.TicketStatuses   = new SelectList(db.TicketStatuses, "Id", "Name", ticketEdit.SelectedStatus);     //ticket.TicketStatusId

                return(View(ticketEdit));
            }
        }
コード例 #21
0
        public IActionResult TicketDetail(int id)
        {
            TicketEditViewModel detail = new TicketEditViewModel();

            detail.ticket  = _ticketRepository.GetTicketById(id);
            detail.record  = _ticketRecordRepository.GetRecordByTicketId(id);
            detail.records = _ticketRecordRepository.GetRecordsByTicketId(id);

            if (detail.ticket.Status == detail.record.Status
                & detail.ticket.Priority == detail.record.Priority
                & detail.ticket.Description == detail.record.TicketDescription)
            {
                _ticketRecordRepository.DeleteLastRecord(detail.record);
            }


            return(View(detail));
        }
コード例 #22
0
 public ActionResult Create([Bind(Include = "TicketId, TDateCreation, TDescription, ProjectName, SelectedEmployeeCode")] TicketEditViewModel model)
 {
     try
     {
         if (ModelState.IsValid)
         {
             bool saved = _ticketRepository.SaveTicket(model);
             if (saved)
             {
                 return(RedirectToAction("Index"));
             }
         }
         // Handling model state errors is beyond the scope of the demo, so just throwing an ApplicationException when the ModelState is invalid
         // and rethrowing it in the catch block.
         throw new ApplicationException("Invalid model");
     }
     catch (ApplicationException ex)
     {
         throw ex;
     }
 }
コード例 #23
0
        public IActionResult Edit(TicketEditViewModel model)
        {
            if (ModelState.IsValid)
            {
                var ticket = _ticketsFinder.Find(model.Id);
                if (ticket == null)
                {
                    return(NotFound());
                }

                if (ticket.AuthorId != User.GetUserId() && User.IsInRole("Admin").Equals(false))
                {
                    return(Forbid());
                }

                ticket.EditTicket(model.Description, model.Title, model.CategoryId);

                // if (model.IsCompleted && !ticket.IsCompleted)
                // {
                //     ticket.MarkDone();
                // }
                // else if (!model.IsCompleted && ticket.IsCompleted)
                // {
                //     ticket.MarkUndone();
                // }

                _ticketsModifier.UpdateTicket(ticket);
                return(RedirectToAction(nameof(Index)));
            }

            var categories      = _categoryFinder.FindAll();
            var categoryOptions = categories.Select(c => new SelectListItem
            {
                Text  = c.Name,
                Value = c.Id.ToString()
            }).ToArray();

            model.Categories = categoryOptions;
            return(View(model));
        }
コード例 #24
0
        public void EditInfoTicket(Ticket existedTicket, TicketEditViewModel model)
        {
            existedTicket.TransportationId   = model.TransportationId;
            existedTicket.TicketTypeId       = model.TicketTypeId;
            existedTicket.DepartureStationId = model.DepartureStationId;
            existedTicket.DepartureDateTime  = model.DepartureDateTime;
            existedTicket.ArrivalStationId   = model.ArrivalStationId;
            existedTicket.ArrivalDateTime    = model.ArrivalDateTime;
            existedTicket.TicketCode         = model.TicketCode;
            existedTicket.PassengerName      = model.PassengerName;
            existedTicket.EmailBooking       = model.EmailBooking;
            existedTicket.SellingPrice       = model.SellingPrice;
            existedTicket.ExpiredDateTime    = model.DepartureDateTime;

            //convert time into UTC time
            var departureStation = existedTicket.DepartureStation;

            if (departureStation.City.TimeZoneId != null)
            {
                existedTicket.DepartureDateTimeUTC = model.DepartureDateTime.ToSpecifiedTimeZone(departureStation.City.TimeZoneId);
                existedTicket.ExpiredDateTimeUTC   = model.DepartureDateTime.ToSpecifiedTimeZone(departureStation.City.TimeZoneId);
            }
            else
            {
                existedTicket.DepartureDateTimeUTC = model.DepartureDateTime;
                existedTicket.ExpiredDateTimeUTC   = model.DepartureDateTime;
            }

            var arrivalStation = existedTicket.ArrivalStation;

            if (arrivalStation.City.TimeZoneId != null)
            {
                existedTicket.ArrivalDateTimeUTC = model.ArrivalDateTime.ToSpecifiedTimeZone(arrivalStation.City.TimeZoneId);
            }
            else
            {
                existedTicket.ArrivalDateTimeUTC = model.ArrivalDateTime;
            }
        }
コード例 #25
0
        public IActionResult Edit(TicketEditViewModel model)
        {
            //get the ticket to edit
            var ticket = context.Tickets.Find(model.Id);

            if (ticket == null || !ModelState.IsValid)
            {
                return(View(model));
            }
            //edit the ticket
            ticket.DeviceId       = model.DeviceId;
            ticket.CheckInDate    = model.CheckedIn;
            ticket.CheckOutDate   = model.CheckedOut;
            ticket.FinishDate     = model.Finished;
            ticket.CheckInUserId  = model.CheckInUserId;
            ticket.CheckOutUserId = model.CheckOutUserId;
            ticket.NeedsBackup    = model.NeedsBackup;
            ticket.Status         = model.TicketStatus;
            //save changes
            context.SaveChanges();
            return(RedirectToAction("Index"));
        }
コード例 #26
0
        public ActionResult Edit([Bind(Include = "Id,Title,Description,Created,Updated,SelectedProject,SelectedType,SelectedPriority,SelectedStatus,OwnerUserId,AssignedToUserId")] TicketEditViewModel tevModel)
        {
            if (ModelState.IsValid)
            {
                Ticket ticket = db.Tickets.Find(tevModel.Id);
                ticket.Title            = tevModel.Title;
                ticket.Description      = tevModel.Description;
                ticket.Created          = tevModel.Created;
                ticket.Updated          = DateTimeOffset.Now;
                ticket.ProjectId        = tevModel.SelectedProject;
                ticket.TicketTypeId     = tevModel.SelectedType;
                ticket.TicketPriorityId = tevModel.SelectedPriority;
                ticket.TicketStatusId   = tevModel.SelectedStatus;
                //ticket.OwnerUserId = tevModel.OwnerUserId;
                //ticket.AssignedToUserId = tevModel.AssignedToUserId;

                db.Entry(ticket).State = EntityState.Modified;
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            return(View(tevModel));
        }
コード例 #27
0
 public IActionResult Create(TicketEditViewModel tevm, Klant klant)
 {
     if (ModelState.IsValid)
     {
         try
         {
             Ticket ticket = new Ticket();
             MapTicketEditViewModelToTicket(tevm, ticket);
             TicketType ticketType = _ticketTypeRepository.GetBy(tevm.TicketTypeId);
             ticket.TicketType = ticketType;
             klant.AddTicketByContractId(tevm.ContractId, ticket);
             _gebruikerRepository.SaveChanges();
             _notyf.Success("Ticket succesvol aangemaakt", 3);
         }
         catch
         {
             _notyf.Error("Er is iets misgelopen. Probeer opnieuw.", 3);
         }
         return(RedirectToAction(nameof(Index)));
     }
     ViewData["IsEdit"]      = false;
     ViewData["ticketTypes"] = GetTicketTypesAsSelectList();
     return(View(nameof(Edit), tevm));
 }
コード例 #28
0
        public ActionResult Edit(int id)
        {
            Ticket ticket = _ticketRepository.GetById(id);
            var    _employeeRepository   = new EmployeeRepository();
            var    _departmentRepository = new DepartmentRepository();

            var departments = _departmentRepository.GetDepatments();
            var employees   = _employeeRepository.GetEmployeeByDepartment(ticket.Employee.DepartmentId);


            var ticketEditViewModel = new TicketEditViewModel
            {
                TicketId               = ticket.TicketId,
                ProjectName            = ticket.ProjectName,
                TDescription           = ticket.TDescription,
                TDateCreation          = ticket.TDateCreation,
                SelectedEmployeeCode   = ticket.EmployeeId,
                SelectedDepartmentCode = ticket.Employee.DepartmentId,
                Departments            = departments,
                Employees              = employees
            };

            return(View(ticketEditViewModel));
        }
コード例 #29
0
        public TicketEditViewModel EditTicketViewModel(Ticket ticket)
        {
            var viewModel = new TicketEditViewModel
            {
                TicketId       = ticket.TicketId,
                Title          = ticket.Title,
                CreatedDate    = ticket.CreatedDate,
                UpdatedDate    = ticket.UpdatedDate,
                CreatorName    = $"{ticket.Creator.FirstName} {ticket.Creator.LastName}",
                Type           = ticket.Type,
                Status         = ticket.Status,
                Priority       = ticket.Priority,
                Content        = ticket.Content,
                ProjectTitle   = ticket.Project.Title,
                RemoveAssigned = new Dictionary <string, bool>()
            };

            foreach (string username in _userTicketService.UserTicketToNames(ticket.Assigned))
            {
                viewModel.RemoveAssigned.Add(username, false);
            }

            return(viewModel);
        }
コード例 #30
0
        // GET: Tickets/Edit/5
        public async Task <IActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var ticket = _context.Tickets
                         .Include(m => m.TicketPriority)
                         .Include(m => m.TicketStatus)
                         .Include(m => m.TicketType)
                         .Single(m => m.Id == id);


            if (ticket == null)
            {
                return(NotFound());
            }

            var ticketStatus = _context.TicketStatuses.ToList();

            var ticketPriority = _context.TicketPriorities.ToList();

            var ticketType = _context.TicketTypes.ToList();
            var ticketEdit = new TicketEditViewModel();

            if (ticket.TicketTypeId == null)
            {
                var getId = ticketType
                            .Single(m => m.Name == "Type Needed");
                ticketEdit.SelectedType = getId.Id;
            }
            else
            {
                ticketEdit.SelectedType = ticket.TicketType.Id;
            }

            if (ticket.TicketStatusId == null)
            {
                var getId = ticketStatus
                            .Single(m => m.Name == "Status Needed");
                ticketEdit.SelectedStatus = getId.Id;
            }
            else
            {
                ticketEdit.SelectedStatus = ticket.TicketStatus.Id;
            }

            if (ticket.TicketPriorityId == null)
            {
                var getId = ticketPriority
                            .Single(m => m.Name == "Priority Needed");
                ticketEdit.SelectedPriority = getId.Id;
            }
            else
            {
                ticketEdit.SelectedPriority = ticket.TicketPriority.Id;
            }

            //Ticket Properties

            ticketEdit.Id              = ticket.Id;
            ticketEdit.Title           = ticket.Title;
            ticketEdit.Created         = ticket.Created;
            ticketEdit.Updated         = ticket.Updated;
            ticketEdit.Description     = ticket.Description;
            ticketEdit.PercentComplete = ticket.PercentComplete;
            ticketEdit.OwnerUserId     = ticket.OwnerUserId;



            ticketEdit.TicketTypes      = new SelectList(ticketType, "Id", "Name", ticketEdit.SelectedType);
            ticketEdit.TicketStatuses   = new SelectList(ticketStatus, "Id", "Name", ticketEdit.SelectedStatus);
            ticketEdit.TicketPriorities = new SelectList(ticketPriority, "Id", "Name", ticketEdit.SelectedPriority);



            //Project Properties
            var project = await _context.Projects
                          .AsNoTracking()
                          .FirstOrDefaultAsync(m => m.Id == ticket.ProjectId).ConfigureAwait(false);

            ticketEdit.ProjectTitle = project.Title;

            return(View(ticketEdit));
        }