public void AddOrUpdateTicketRisk(ReleaseContentTicket ticket)
        {
            if (ticket == null)
                throw new ArgumentNullException("ticket");

            var account = AccountRepository.GetSatisfiedBy(x => x.ExternalId == ticket.LastChangedByAccount);

            if (ReleaseContentRepository.Entities.Any(x => x.TicketId == ticket.TicketId))
            {
                var entity = ReleaseContentRepository.Entities.First(x => x.TicketId == ticket.TicketId);
                entity.TicketRisk = ticket.Risk;
                UpdateTicketInformationRepository(account.AccountId, entity);
            }
            else
            {
                CreateTicket(ticket, account.AccountId);
            }
        }
        public void UpdateTicketReleaseNotesRelation(ReleaseContentTicket ticket, Guid accountId)
        {
            var account = AccountRepository.GetSatisfiedBy(x => x.ExternalId == accountId);

            var entity = ReleaseContentRepository.Entities.First(x => x.TicketId == ticket.TicketId);
            entity.IncludeToReleaseNotes = ticket.IncludeToReleaseNotes;
            UpdateTicketInformationRepository(account.AccountId, entity);
        }
        private ReleaseContent CreateTicket(ReleaseContentTicket ticket, int accountId, int? releaseWindowId = null)
        {
            var entity = Mapper.Map<ReleaseContentTicket, ReleaseContent>(ticket);
            entity.LastChangedByAccount = null;
            entity.LastChangedByAccountId = accountId;
            if (releaseWindowId.HasValue)
            {
                entity.ReleaseWindow = null;
                entity.ReleaseWindowsId = releaseWindowId.Value;
            }
            ReleaseContentRepository.Insert(entity);

            return entity;
        }
        public void CreateTicket(ReleaseContentTicket ticket, Guid lastEditor)
        {
            var account = AccountRepository.GetSatisfiedBy(x => x.ExternalId == lastEditor);

            CreateTicket(ticket, account.AccountId);
        }