public ActionResult AssignTicket(int?ticketId, string userId, bool add) { if (!ticketId.HasValue || string.IsNullOrEmpty(userId) || !ModelState.IsValid) { return(RedirectToAction(nameof(TicketsController.AllTickets))); } else { Ticket ticket = DbContext.Tickets .FirstOrDefault(p => p.Id == ticketId && !p.Project.Archived); ApplicationUser user = DbContext.Users .FirstOrDefault(p => p.Id == userId); if (add) { History history = HistoryService.Create(DefaultUserManager.FindById(User.Identity.GetUserId()), ticket, "Assignee", ticket.AssignedTo == null ? "None" : ticket.AssignedTo.Email, user.Email); NotificationService.Create(ticket, $"Ticket assigned to ${user.Email}"); DbContext.Histories.Add(history); ticket.AssignedTo = user; NotificationService.Create(ticket, $"This Ticket is assigned to you ->> ${ticket.AssignedTo.Email}"); } else { ticket.AssignedTo = null; } DbContext.SaveChanges(); return(RedirectToAction(nameof(UsersController.AllUsersForTickets), "Users")); } }
public void TestCreate_ShouldCreateHistory() { var options = new DbContextOptionsBuilder <TubeDbContext>() .UseInMemoryDatabase(databaseName: Guid.NewGuid().ToString()) .Options; var context = new TubeDbContext(options); SeedData(context); var mockMapper = new MapperConfiguration(cfg => { cfg.AddProfile(new TubeProfile()); }); var mapper = mockMapper.CreateMapper(); var userService = new UserService(context, mapper); var historyService = new HistoryService(context, userService, mapper); var historyTubeUserName = "******"; var historyVideoName = "TestVideo"; var tubeUserId = "1"; historyService.Create(historyTubeUserName, historyVideoName); var histories = historyService.GetTubeUserHistoriesById(tubeUserId); Assert.True(histories.Count == 3); }
public IActionResult Rent(string inputTool, string inputDate, string inputTime) { inputTime = inputTime.Substring(0, inputTime.IndexOf(" ")); // Console.WriteLine(inputTime); var stringOfDate = inputDate + " " + inputTime; // Console.WriteLine(stringOfDate); DateTime dateTime12 = DateTime.ParseExact(stringOfDate, "dd/MM/yyyy H:mm", CultureInfo.InvariantCulture); // Console.WriteLine(dateTime12); var data = _historyService.Create(new History { studentNumber = User.FindFirst("studentNumber").Value, toolName = inputTool, rentTime = dateTime12.AddHours(7), lendTime = DateTime.Now.AddHours(7), createTime = DateTime.Now.AddHours(7) }); return(RedirectToAction("Index", new { id = inputTool })); }
public void Create() { //Arrange var history = new TransactionsHistory() { Id = 1 }; var historyRepository = new MockIRepository <TransactionsHistory>() .MockCreate(history); var historyService = new HistoryService( historyRepository.Object, null, new MockIRepository <Account>().Object); //Act var createdHistory = historyService.Create(history); //Assert Assert.IsNotNull(createdHistory); }
public ActionResult <History> Create(History history) { _historyService.Create(history); return(CreatedAtRoute("GetHistory", new { id = history.id.ToString() }, history)); }
public ActionResult EditTicket(TicketViewModel model, int?ticketId) { string userId = User.Identity.GetUserId(); if (!ModelState.IsValid || !ticketId.HasValue) { List <Project> projects = DbContext.Projects .Where(p => p.Users.Any(q => q.Id == userId) && !p.Archived) .Select(p => p) .ToList(); SelectList projectList = new SelectList(projects, "Id", "Name"); ViewData["projects"] = projectList; SelectList typeList = new SelectList(DbContext.TicketTypes, "Id", "Name"); ViewData["types"] = typeList; SelectList priorityList = new SelectList(DbContext.TicketPriorities, "Id", "Name"); ViewData["priorities"] = priorityList; SelectList statusList = new SelectList(DbContext.TicketStatuses, "Id", "Name"); ViewData["statuses"] = statusList; return(View(model)); } else { Ticket ticket = DbContext.Tickets .FirstOrDefault(p => p.Id == ticketId && !p.Project.Archived); if (ticket.Title != model.Title) { History history = HistoryService.Create(DefaultUserManager.FindById(User.Identity.GetUserId()), ticket, "Title", ticket.Title, model.Title); NotificationService.Create(ticket, $"Ticket title changed to {model.Title}"); DbContext.Histories.Add(history); ticket.Title = model.Title; } ; if (ticket.Description != model.Description) { History history = HistoryService.Create(DefaultUserManager.FindById(User.Identity.GetUserId()), ticket, "Description", ticket.Description, model.Description); NotificationService.Create(ticket, $"Ticket description changed to {model.Description}"); DbContext.Histories.Add(history); ticket.Description = model.Description; } ; Project project = DbContext.Projects.FirstOrDefault(p => p.Id == model.ProjectId && !p.Archived); if (ticket.Project != project) { History history = HistoryService.Create(DefaultUserManager.FindById(User.Identity.GetUserId()), ticket, "Project", ticket.Project.Name, project.Name); NotificationService.Create(ticket, $"Ticket Project changed to {project.Name}"); DbContext.Histories.Add(history); ticket.Project = project; } ; TicketType type = DbContext.TicketTypes.FirstOrDefault(p => p.Id == model.TypeId); if (ticket.Type != type) { History history = HistoryService.Create(DefaultUserManager.FindById(User.Identity.GetUserId()), ticket, "Type", ticket.Type.Name, type.Name); NotificationService.Create(ticket, $"Ticket type changed to {type.Name}"); DbContext.Histories.Add(history); ticket.Type = type; } ; int priorityId = Convert.ToInt32(model.PriorityId); TicketPriority priority = DbContext.TicketPriorities.FirstOrDefault(p => p.Id == priorityId); if (ticket.Priority != priority) { History history = HistoryService.Create(DefaultUserManager.FindById(User.Identity.GetUserId()), ticket, "Priority", ticket.Priority.Name, priority.Name); NotificationService.Create(ticket, $"Ticket priority changed to {priority.Name}"); DbContext.Histories.Add(history); ticket.Priority = priority; } ; TicketStatus status = DbContext.TicketStatuses.FirstOrDefault(p => p.Id == model.StatusId); if (User.IsInRole(Admin) || User.IsInRole(ProjectManager)) { if (ticket.Status != status) { History history = HistoryService.Create(DefaultUserManager.FindById(User.Identity.GetUserId()), ticket, "Status", ticket.Status.Name, status.Name); NotificationService.Create(ticket, $"Ticket status changed to {status.Name}"); DbContext.Histories.Add(history); ticket.Status = status; } ; } else { History history = HistoryService.Create(DefaultUserManager.FindById(User.Identity.GetUserId()), ticket, "Status", ticket.Status.Name, "Open"); NotificationService.Create(ticket, $"Ticket status changed to Open"); DbContext.Histories.Add(history); ticket.Status = DbContext.TicketStatuses.FirstOrDefault(p => p.Name == "Open"); }; ticket.DateUpdated = DateTime.Now; DbContext.SaveChanges(); return(RedirectToAction(nameof(TicketsController.AllTickets))); } }