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();
        }
Esempio n. 2
0
        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());
        }
Esempio n. 3
0
        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));
        }
Esempio n. 4
0
        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());
        }
Esempio n. 5
0
        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));
        }