public RetailTicket Create(string ticketType, int tableId) { var ticket = new Ticket(); var retailTicket = new RetailTicket(); switch (ticketType) { case "DINE_IN": ticket.TableId = tableId; ticket.CreationDate = DateTime.Now; ticket.TicketType = ticketType; _context.Tickets.Add(ticket); _context.SaveChanges(); retailTicket.Id = ticket.Id; retailTicket.CreationDate = ticket.CreationDate.ToString(); retailTicket.TicketType = ticket.TicketType; break; case "TAKE_OUT": //TODO: Implement Take Out Type Creation. break; case "RETAIL": //TODO: Implement Retail Type Creation. break; } return(retailTicket); }
public GenericApiResponse SaveRetail([FromBody] RetailTicket ticketInfo, [FromBody] RetailTicketItem[] ticketItems) { var response = new GenericApiResponse(); var ticket = _context.Tickets.FirstOrDefault(x => x.Id == ticketInfo.Id); if (ticket == null) { response.Success = false; response.Error = (int)ErrorCodes.RetailScreenNotFoundTicket; response.Message = ErrorMessages.RetailScreenNotFoundTicket; return(response); } ticket.Paid = ticketInfo.Paid; ticket.PaidAmount = ticketInfo.PaidAmount; ticket.ClosingDate = Convert.ToDateTime(ticketInfo.ClosingDate); ticket.CreationDate = Convert.ToDateTime(ticketInfo.CreationDate); ticket.DueAmount = ticketInfo.DueAmount; ticket.SubTotal = ticketInfo.SubTotal; ticket.Settled = ticketInfo.Settled; ticket.Status = ticketInfo.Status; ticket.TableId = ticketInfo.TableId; ticket.TotalDiscount = ticketInfo.TotalDiscount; ticket.TotalPrice = ticketInfo.TotalPrice; ticket.TotalTax = ticketInfo.TotalTax; ticket.Voided = ticketInfo.Voided; ticket.VoidByUser = ticketInfo.VoidedByUser; ticket.VoidReason = ticketInfo.VoidedReason; var currentTicketItems = _context.TicketItems.Where(x => x.TicketId == ticket.Id); foreach (var ticketItem in ticketItems) { var currentTicketItem = currentTicketItems.FirstOrDefault(x => x.Id == ticketItem.Id); if (currentTicketItem == null) { var item = new TicketItem(); SyncTicketItem(item, ticketItem); _context.TicketItems.Add(item); continue; } SyncTicketItem(currentTicketItem, ticketItem); } _context.SaveChanges(); response.Success = true; return(response); }