public IActionResult Status(int?id)
        {
            Ticket_Management ticket = new Ticket_Management();

            if (id == null)
            {
                return(View(ticket));
            }
            ticket = _db.Ticket_Managements.Where(u => u.Ticket.Id == id).FirstOrDefault();
            if (ticket == null)
            {
                return(NotFound());
            }
            return(View(ticket));
        }
 public IActionResult UserAdd(UserRoleViewModel userRoleViewModel)
 {
     if (ModelState.IsValid)
     {
         Ticket_Management ticket_Management = new Ticket_Management();
         string            a = userRoleViewModel.ticket.EmployeeEmail + " ";
         int b = userRoleViewModel.ticket.Id;
         userRoleViewModel.ticket.PersonelTicket = _db.ApplicationUsers.Where(x => x.Email == userRoleViewModel.ticket.EmployeeEmail).FirstOrDefault();
         ticket_Management        = _db.Ticket_Managements.Include(a => a.Ticket).Where(u => u.Ticket.Id == userRoleViewModel.ticket.Id).FirstOrDefault();
         ticket_Management.Status = TicketStatus.Seen;
         _unitofwork.Ticket.Update(userRoleViewModel.ticket);
         _unitofwork.Save();
         return(RedirectToAction(nameof(Index)));
     }
     return(View(userRoleViewModel));
 }
        public async Task <IActionResult> Upsert(Ticket ticket)
        {
            Ticket_Management ticket_Management = new Ticket_Management();

            if (ModelState.IsValid)
            {
                string webRootPath = _hostEnvoirement.WebRootPath;
                var    files       = HttpContext.Request.Form.Files;
                if (files.Count > 0)
                {
                    string fileName  = Guid.NewGuid().ToString();
                    var    uploads   = Path.Combine(webRootPath, @"images");
                    var    extension = Path.GetExtension(files[0].FileName);
                    if (ticket.ImageUrl != null)
                    {
                        //remove old image or edit
                        var imagePath = Path.Combine(webRootPath, ticket.ImageUrl.TrimStart('\\'));
                        if (System.IO.File.Exists(imagePath))
                        {
                            System.IO.File.Delete(imagePath);
                        }
                    }
                    using (var filesStreams = new FileStream(Path.Combine(uploads, fileName + extension), FileMode.Create))
                    {
                        files[0].CopyTo(filesStreams);
                    }
                    ticket.ImageUrl = @"\images\" + fileName + extension;
                }
                else
                {
                    //update when do not change
                    if (ticket.Id != 0)
                    {
                        Ticket objFromDb = _unitofwork.Ticket.Get(ticket.Id);
                        ticket.ImageUrl = objFromDb.ImageUrl;
                    }
                }
                if (ticket.Id == 0)
                {
                    var user = await _userManager.GetUserAsync(User);

                    if (user == null)
                    {
                        return(NotFound($"Unable to load user with ID '{_userManager.GetUserId(User)}'."));
                    }
                    await LoadAsync(user);

                    ticket.CreatingTicket    = _db.ApplicationUsers.Where(u => u.Email == Username).FirstOrDefault();
                    ticket.UserEmail         = ticket.CreatingTicket.Email;
                    ticket_Management.Ticket = ticket;
                    ticket_Management.Date   = Date.Now;
                    ticket_Management.Status = TicketStatus.Sended;
                    _db.Ticket_Managements.Add(ticket_Management);
                    _unitofwork.Ticket.Add(ticket);
                }
                else
                {
                    _unitofwork.Ticket.Update(ticket);
                }
                _unitofwork.Save();
                return(RedirectToAction(nameof(Index)));
            }
            return(View(ticket));
        }