public void RemoveTicket(int ticketId)
        {
            kanbanticket ticketForRemove = _db.kanbantickets.Where(x => x.Id == ticketId).FirstOrDefault();

            _db.kanbantickets.Remove(ticketForRemove);
            _db.SaveChanges();
        }
        public void UpdateTicketName(int TicketId, string Name)
        {
            kanbanticket ticket = GetTicketById(TicketId);

            ticket.Name = Name;
            _db.SaveChanges();
        }
        public void UpdateTicketDescription(int TicketId, string Description)
        {
            kanbanticket ticket = GetTicketById(TicketId);

            ticket.Description = Description;
            _db.SaveChanges();
        }
        public ActionResult TicketDetails(int ticketId)
        {
            kanbanticket ticket = _kanbanService.GetTicketById(ticketId);

            return(PartialView("_TicketDetails", ticket));
        }
        public kanbanticket AddTicket(FormCollection collection, string createdyBy)
        {
            float highestOrder = 0;

            if (_db.kanbantickets.Count() > 0)
            {
                highestOrder = _db.kanbantickets.Max(x => x.OrderBy);
            }

            var ticket = new kanbanticket
            {
                Name             = collection["ticketName"],
                Description      = collection["ticketDescription"],
                OrderBy          = highestOrder + 1,
                CreatedById      = createdyBy,
                TicketTypeId     = int.Parse(collection["ticketType"]),
                KanbanPoolListId = int.Parse(collection["poolListId"]),
                CreatedDate      = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")),
                DeadlineDate     = DateTime.Parse(collection["deadline"])
            };

            _db.kanbantickets.Add(ticket);
            _db.SaveChanges();

            if (collection["assignees"] != null)
            {
                foreach (var userId in collection["assignees"].Split(',').ToList())
                {
                    _db.kanbanticketassignedtoes.Add(new kanbanticketassignedto
                    {
                        AssignedToId     = userId,
                        KanbanTicketId   = ticket.Id,
                        AssignedDateTime = DateTime.Now
                    });
                }
            }

            if (collection["watchers"] != null)
            {
                foreach (var userId in collection["watchers"].Split(',').ToList())
                {
                    _db.kanbanticketwatchers.Add(new kanbanticketwatcher
                    {
                        AssignedDateTime = DateTime.Now,
                        KanbanTicketId   = ticket.Id,
                        WatcherId        = userId
                    });
                }
            }
            _db.kanbanticketwatchers.Add(new kanbanticketwatcher
            {
                AssignedDateTime = DateTime.Now,
                KanbanTicketId   = ticket.Id,
                WatcherId        = createdyBy
            });

            foreach (var ticketTypeComponent in GetComponentsForTicketType(ticket.TicketTypeId.Value))
            {
                _db.kanbanticketcomponents.Add(new kanbanticketcomponent
                {
                    ComponentId = ticketTypeComponent.ComponentId,
                    TicketId    = ticket.Id,
                    Value       = collection[ticketTypeComponent.Name.Replace(" ", "_")].ToString(),
                    Name        = ticketTypeComponent.Name.Replace(" ", "_").ToString()
                });
            }

            _db.SaveChanges();

            return(_db.kanbantickets.Include(c => c.kanbantickettype).Include(x => x.kanbanticketcomponents).Where(x => x.Id == ticket.Id).FirstOrDefault());
        }