public void GenerateTickets()
 {
     Random rnd = new Random();
     listTickets = new List<Tickets>();
     for (int iCount = 1; iCount <= 10; iCount++)
     {
         Tickets ticket = new Tickets
         {
             Id = iCount,
             DepartmentId = rnd.Next(1, 5),
             UserId = rnd.Next(1, 5),
             Email = "mailN" + iCount.ToString() + "@mail.com.ua",
             Subject = "Subject #" + iCount.ToString(),
             Reference = "AAA-00000" + iCount.ToString(),
             Body = "something issue №" + iCount.ToString()
         };
         listTickets.Add(ticket);
     }
 }
 public ActionResult CreateQuery(Tickets ticket)
 {
     
     //RegularExpression(@"[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}", ErrorMessage = "Incorrect email")]
     if (ticket.Email == null || !Regex.IsMatch(ticket.Email, @"[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}"))
         ModelState.AddModelError("","Incorrect email");
     if (ticket.Subject == null)
         ModelState.AddModelError("", "Enter a subject, please");
     if (ticket.Body == null)
         ModelState.AddModelError("", "Enter a query, please");
     if (ModelState.IsValid)
     {
         
         
         ticket.DataMail = DateTime.Today;
         ticket.Reference = repository.SaveTicket(ticket);
         queryProc.ProcessQuery(ticket,null);
         return RedirectToAction("Index","Home");
     }
     Tickets queryModel = new Tickets();
     queryModel.listDepartment = new SelectList(repository.Departments.OrderBy(x => x.Id), "Id", "Department");
     return View(queryModel);
 }
 public ActionResult CreateQuery()
 {
     Tickets ticket = new Tickets();
     ticket.listDepartment = new SelectList(repository.Departments.OrderBy(x => x.Id),"Id","Department");
     return View(ticket);
 }
        public ActionResult Edit(Tickets ticket)
        {
            if (ticket.SendResponce)
            {
                if (ticket.Email == null)
                    ModelState.AddModelError("", "Email is empty");
            }
            if (ModelState.IsValid)
            {
                if (ticket.SendResponce)
                {
                    string body = "Responce on your query №" + ticket.Reference + ": " + ticket.Responce;
                    queryProc.ProcessQuery(ticket, body);
                }
                    
                repository.SaveTicket(ticket);
                return RedirectToAction("ViewTickets");
            }

            //ticket.listDepartment = new SelectList(repository.Departments.OrderBy(x => x.Id), "Id", "Department");
            //ticket.listUser = new SelectList(repository.Users.OrderBy(x => x.Id), "Id", "Name");
            //ticket.listStatus = new SelectList(repository.Statuses.OrderBy(x => x.Id), "Id", "Status");
            return View(ticket);
        }
 //public TicketsController ticketsController;
 public string CreateNewTicket(Tickets ticket)
 {
     listTickets.Add(ticket);
     return "AAA-999111";
 }