public async Task CreateTicket(Admin.ViewModels.Ticket.CreateTicketBindingModel model) { var ticket = new Ticket(); if (model.AgentId != null) { ticket.AgentId = model.AgentId; } else { string username = "******"; var defaultAgent = await FindUserIdByName(username); ticket.AgentId = defaultAgent.Id; } ticket.AuthorId = model.AuthorId; ticket.Title = model.Title; ticket.Descripton = model.Descripton; ticket.SendOn = model.SendOn; ticket.Priority = model.Priority; ticket.ProjectId = model.ProjectId; await dbContext.Tickets.AddAsync(ticket); await dbContext.SaveChangesAsync(); }
public async Task <IActionResult> CreateTicket(Admin.ViewModels.Ticket.CreateTicketBindingModel model) { if (ModelState.IsValid) { await service.CreateTicket(model); return(RedirectToAction("DisplayAllSendTickets")); } IEnumerable <Models.Project> projectIdToSelect = service.ProjectIdToSelect(); ViewData["ProjectId"] = new SelectList(projectIdToSelect, "Id", "Id", model.ProjectId); return(View()); }
public async Task <IActionResult> CreateTicket(string id)//here i get User.Identity.Name { var user = await service.FindUserIdByName(id); var ticket = new Admin.ViewModels.Ticket.CreateTicketBindingModel { AuthorId = user.Id }; IEnumerable <Models.Project> list = service.ProjectIdToSelect(); ViewBag.ProjectId = new SelectList(list, "Id", "Id", ticket.ProjectId); return(View(ticket)); }
public async Task <IActionResult> CreateTicket(Admin.ViewModels.Ticket.CreateTicketBindingModel model) { if (ModelState.IsValid) { await service.CreateTicket(model); //---code below works to send a message if operation succeded if that is the wanted effect //ViewBag.Success = "You created a new ticket!"; //return View(); return(RedirectToAction("MySendTickets", "Ticket", new { id = User.Identity.Name, area = "Agent" })); } IEnumerable <Models.Project> list = service.ProjectIdToSelect(); ViewBag.ProjectId = new SelectList(list, "Id", "Id", model.ProjectId); return(View()); }
public async Task <IActionResult> CreateTicket(string id) { //---here the string I am receiving is named {id} but the value that is contained is User.Identity.Name which gives me the username of the curently logged user //to find the id of the user that I need because a {Ticket}{AuthorId} has to be asigned Id //---here {User.Identity.Name} is named id because when I'm routing data from the View for it to be successful i have to use //the same name in {asp-route-ID=""} and this ID is because of the routing in the startup {area=""}{controller="Home"}{action="Index"}{id=?}(and respectfuly for all defined areas) // ViewBag.User = id;//if i want display the value i got but here is not needed because i asign the value to the AuthorId below and if i want i will display that in the View var getId = await service.FindUserIdByName(id); var ticket = new Admin.ViewModels.Ticket.CreateTicketBindingModel { AuthorId = getId.Id }; IEnumerable <Models.Project> projectIdToSelect = service.ProjectIdToSelect(); ViewData["ProjectId"] = new SelectList(projectIdToSelect, "Id", "Id", ticket.ProjectId); return(View(ticket)); }