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(); }
/// <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)); }