Example #1
0
        public void CompareObjects(Ticket ticket1, Ticket ticket2, string UserId)
        {
            var comparer = new Comparer();
            IEnumerable <Difference> differences;

            comparer.AddComparerOverride <ICollection <TicketComment> >(DoNotCompareValueComparer.Instance);
            comparer.AddComparerOverride <ICollection <TicketAttachement> >(DoNotCompareValueComparer.Instance);
            comparer.AddComparerOverride <ICollection <TicketHistorie> >(DoNotCompareValueComparer.Instance);
            var isEqual = comparer.Compare(ticket1, ticket2, out differences);

            foreach (var diff in differences)
            {
                TicketHistorie historie = new TicketHistorie()
                {
                    UserId   = UserId,
                    TicketId = ticket1.Id,
                    Property = diff.MemberPath.ToString(),
                    OldValue = diff.Value1.ToString(),
                    NewValue = diff.Value2.ToString(),
                };

                ticket2.TicketHistories.Add(historie);
                db.TicketHistories.Add(historie);
            }
        }
Example #2
0
        public bool CreateTicket(string title, string ownerId, int projectId, string description, int ticketTypeId, int ticketPrioritiesId, int ticketStatusId)
        {
            Ticket ticket = new Ticket()
            {
                Title             = title,
                Created           = DateTime.Now,
                OwnerId           = ownerId,
                ProjectId         = projectId,
                Description       = description,
                TicketTypeId      = ticketTypeId,
                TicketPrioritieId = ticketPrioritiesId,
                TicketStatusId    = ticketStatusId
            };

            TicketHistorie history = new TicketHistorie()
            {
                UserId   = ownerId,
                TicketId = ticket.Id,
                Property = "Initialized Ticket",
                OldValue = "-",
                NewValue = "-"
            };

            if (!db.Tickets.Any(t => t.Title == ticket.Title))
            {
                ticket.TicketHistories.Add(history);
                db.Tickets.Add(ticket);
                db.TicketHistories.Add(history);
                db.SaveChanges();
                return(true);
            }
            else
            {
                return(false);
            }
        }