public async Task <IActionResult> AddTicket(AddTicket model)
        {
            if (!ModelState.IsValid)
            {
                return(RedirectToAction("AddTicket"));
            }

            var projectExist = _projectRepository.GetProject(model.ProjectId);

            if (projectExist == null)
            {
                // no project with such id
                ViewBag.ProjectId = model.ProjectId;
                return(View("~/Views/Shared/ProjectWithInvalidId.cshtml"));
            }

            int userId = int.Parse(HttpContext.User.FindFirstValue(ClaimTypes.NameIdentifier));

            var ticket = new Ticket()
            {
                Name        = model.Name,
                Description = model.Description,
                Status      = model.Status,
                UserId      = userId,
                ProjectId   = model.ProjectId
            };

            await _ticketRepository.UserAddTicketInExistProject(userId, model.ProjectId, ticket);

            return(RedirectToAction("ProjectDetails", "Project", new { projectId = model.ProjectId }));
        }
        public ActionResult PostTicket(AddTicketViewModel ticketVm)
        {
            if (!ModelState.IsValid)
            {
                var viewModel = new AddTicketViewModel()
                {
                    AddTicket = ticketVm.AddTicket,
                    StudentId = ticketVm.StudentId
                };

                return(View("AddTicket", viewModel));
            }

            var newTicket = new AddTicket()
            {
                TicketNumber           = ticketVm.AddTicket.TicketNumber,
                TicketLessonsRemaining = ticketVm.AddTicket.TicketLessonsRemaining
            };

            var ticketAsJson  = JsonConvert.SerializeObject(newTicket);
            var responseAsync = HttpHelper.Post(ticketAsJson, "api/tickets");

            Thread.Sleep(1500); // Using this to
            LinkStudentTicket(ticketVm.StudentId, ticketVm.AddTicket.TicketNumber);
            Thread.Sleep(1500);
            return(RedirectToAction("StudentProfile", "Profile", new { id = ticketVm.StudentId }));
        }
        public IActionResult AddTicket(int projectId)
        {
            var model = new AddTicket()
            {
                ProjectId = projectId
            };

            return(View(model));
        }
Exemple #4
0
        public object Post(AddTicket request)
        {
            var ticket = TicketRepo.CreateTicket(ToCreateTicket(request));

            return(new AddTicketResponse()
            {
                Status = (int)CommonStatus.Success,
                Data = ticket.ConvertTo <ServiceModel.Types.Ticket>()
            });
        }
Exemple #5
0
        private ITicket ToCreateTicket(AddTicket request)
        {
            DateTime?fromDate = null, toDate = null;

            if (!string.IsNullOrEmpty(request.StartDate))
            {
                fromDate = DateTime.ParseExact(request.StartDate, "dd-MM-yyyy", CultureInfo.InvariantCulture, DateTimeStyles.NoCurrentDateDefault);
//                throw new Exception(TicketMessage.InvalidFromDate);
            }
            if (!string.IsNullOrEmpty(request.EndDate))
            {
                toDate = DateTime.ParseExact(request.EndDate, "dd-MM-yyyy", CultureInfo.InvariantCulture, DateTimeStyles.NoCurrentDateDefault);
//                throw new Exception(TicketMessage.InvalidToDate);
            }
            var ticket = request.ConvertTo <Repository.OrmLite.Ticket>();

            ticket.UserAuthId = Convert.ToInt32(UserSession.UserAuthId);
            ticket.FromDate   = fromDate;
            ticket.ToDate     = toDate;
            ticket.Status     = (int)TicketStatusConstant.Available;

            return(ticket);
        }