Exemplo n.º 1
0
        public void Create(TicketDto ticketDto)
        {
            var ticket = mapper.Map <TicketDto, Ticket>(ticketDto);

            ticket.Id             = Guid.NewGuid();
            ticket.CreatedUTCDate = DateTime.UtcNow;

            ticket.TicketType         = uow.TicketTypes.Get(ticket.TicketTypeId);
            ticket.TransactionHistory = null;

            if (ticket.ActivatedUTCDate != null)
            {
                ticket.ExpirationUTCDate = ticket.ActivatedUTCDate?.AddHours(ticket.TicketType.DurationHours);
            }

            ticket.TicketArea = new List <TicketArea>();

            foreach (var areaId in ticketDto.SelectedAreaIds)
            {
                TicketArea ticketArea = new TicketArea()
                {
                    TicketId = ticket.Id, AreaId = areaId
                };
                ticket.TicketArea.Add(ticketArea);
            }

            uow.Tickets.Create(ticket);
            uow.Save();
        }
Exemplo n.º 2
0
        /// <summary>
        /// Insert a new Ticket into Db.
        /// </summary>
        /// <param name="name">Person Name</param>
        /// <param name="lastName">Person Lastname</param>
        /// <param name="area">Ticket Area</param>
        /// <param name="telephone">Person telephone number</param>
        /// <param name="email">Person email where to send Mail</param>
        /// <param name="description">Ticket Description</param>
        /// <returns> Ticket created with creation datetime and ticket Guid Id</returns>
        public DataTransferObjects.Ticket.TicketCreateDto Create(string name, string lastName, TicketArea area, string telephone, string email, string description)
        {
            // Creates new Ticket entity
            var ticket = new Domain.Core.Ticket()
            {
                Name     = name,
                LastName = lastName,
                Area     = area,

                Description  = description,
                Email        = email,
                Telephone    = telephone,
                CreationDate = DateTime.Now,
                Number       = CreateTicketNumber()
            };

            // save entity into DB
            _ticketRepository.Add(ticket);

            // creates new TicketCreateDto to return
            return(_mapper.Map <Domain.Core.Ticket, DataTransferObjects.Ticket.TicketCreateDto>(ticket));
        }