public PrinterService(ISettingService settingService, ICacheService cacheService, IExpressionService expressionService, ILogService logService, TicketFormatter ticketFormatter, FunctionRegistry functionRegistry) { _cacheService = cacheService; _logService = logService; _ticketFormatter = ticketFormatter; _functionRegistry = functionRegistry; _functionRegistry.RegisterFunctions(); }
public void Search() { Console.WriteLine(@"Welcome to Zendesk search engine Press Ctrl+C to exit at any time, Press enter to continue Select Search options: * Press 1 to search Zendesk * Press 2 to view a list of searchable fields * Press Ctrl+C to exit"); var userInputSelectSearch = Console.ReadLine(); if (userInputSelectSearch == "1") { Console.WriteLine(@"Select 1) Users 2) Tickets 3) Organisations"); var userSearchInput = Console.ReadLine(); var termAndValueResult = SearchTermAndValue(); switch (userSearchInput) { case "1": Console.WriteLine($"Searching users for Key: {termAndValueResult.term} and Value: {termAndValueResult.val}"); var userSearchResult = _user.GetUserDetails(termAndValueResult.term, termAndValueResult.val); UserFormatter.UserFormatOutput(userSearchResult); break; case "2": Console.WriteLine($"Searching tickets for Key: {termAndValueResult.term} and Value: {termAndValueResult.val}"); var ticketSearchResult = _ticket.GetTicketDetails(termAndValueResult.term, termAndValueResult.val); TicketFormatter.FormatTicketOutput(ticketSearchResult); break; case "3": Console.WriteLine($"Searching organisations for Key: {termAndValueResult.term} and Value: {termAndValueResult.val}"); var orgSearchResult = _org.GetOrganizationDetails(termAndValueResult.term, termAndValueResult.val); OranizationFormatter.FormatOrganizationOutput(orgSearchResult); break; default: Console.WriteLine("Invalid search option"); break; } } else if (userInputSelectSearch == "2") { GetAllSearchTerms.SearchTerms(); } else { Console.WriteLine("No results found. Please check for valid inputs"); } }
public PrinterService(ISettingService settingService, ICacheService cacheService, IExpressionService expressionService, ILogService logService) { _cacheService = cacheService; _logService = logService; _ticketFormatter = new TicketFormatter(expressionService, settingService); }
public void CanFormatTicket() { WorkspaceFactory.SetDefaultConnectionString("c:\\testData.txt"); IWorkspace workspace = WorkspaceFactory.Create(); Thread.CurrentThread.CurrentUICulture = Thread.CurrentThread.CurrentCulture; var user = new User("Emre", "1"); workspace.Add(user); var menuItem1 = MenuItem.Create(); menuItem1.Name = "Kurufasülye"; menuItem1.Portions[0].Price.Amount = 5; var menuItem2 = MenuItem.Create(); menuItem2.Name = "Pilav"; menuItem2.Portions[0].Price.Amount = 3; menuItem2.AddPortion("Az", 1, "TL"); workspace.Add(menuItem1); workspace.Add(menuItem2); var d = new Department(); var ticket = Ticket.Create(d); ticket.AddTicketItem(user.Id, menuItem1, "Normal"); ticket.AddTicketItem(user.Id, menuItem2, "Normal"); ticket.Date = new DateTime(2010, 1, 1); ticket.AddTicketDiscount(DiscountType.Amount, 1, user.Id); var template = new PrinterTemplate(); template.HeaderTemplate = @"SAMBA Adisyon Tarihi:{ADİSYON TARİH} [Müşteri Adı: {MÜŞTERİ ADI}]"; template.LineTemplate = @"{MİKTAR} {ÜRÜN} {FİYAT}"; template.FooterTemplate = @"{VARSA İSKONTO} [<C>İkram: {TOPLAM İKRAM}, teşekkürler] [Toplam: {TOPLAM BAKİYE}]"; var formatResult = TicketFormatter.GetFormattedTicket(ticket, ticket.GetUnlockedLines(), template); var expectedResult = @"SAMBA Adisyon Tarihi:01.01.2010 1 Kurufasülye 5,00 1 Pilav 3,00 Belge TOPLAMI:|8,00 <J>İskonto:|1,00 Toplam: 7,00"; var result = string.Join("\r\n", formatResult); Assert.IsTrue(result == expectedResult); template.MergeLines = true; formatResult = TicketFormatter.GetFormattedTicket(ticket, ticket.GetUnlockedLines(), template); result = string.Join("\r\n", formatResult); Assert.AreEqual(expectedResult, result); var l1 = ticket.AddTicketItem(user.Id, menuItem1, "Normal"); l1.Quantity = 5; var l2 = ticket.AddTicketItem(user.Id, menuItem2, "Az"); formatResult = TicketFormatter.GetFormattedTicket(ticket, ticket.GetUnlockedLines(), template); result = string.Join("\r\n", formatResult); expectedResult = @"SAMBA Adisyon Tarihi:01.01.2010 1 Pilav 3,00 6 Kurufasülye 5,00 1 Pilav.Az 1,00 Belge TOPLAMI:|34,00 <J>İskonto:|1,00 Toplam: 33,00"; Assert.AreEqual(expectedResult, result); var c = new Customer { Name = "Emre EREN" }; workspace.Add(c); ticket.CustomerId = c.Id; ticket.CustomerName = c.Name; ticket.AddTicketDiscount(DiscountType.Amount, 0, user.Id); formatResult = TicketFormatter.GetFormattedTicket(ticket, ticket.GetUnlockedLines(), template); expectedResult = @"SAMBA Adisyon Tarihi:01.01.2010 Müşteri Adı: Emre EREN 1 Pilav 3,00 6 Kurufasülye 5,00 1 Pilav.Az 1,00 Toplam: 34,00"; result = string.Join("\r\n", formatResult); Assert.IsTrue(result == expectedResult); l2.Gifted = true; template.GiftLineTemplate = "{MİKTAR} {ÜRÜN} İKRAM"; expectedResult = @"SAMBA Adisyon Tarihi:01.01.2010 Müşteri Adı: Emre EREN 1 Pilav 3,00 6 Kurufasülye 5,00 1 Pilav.Az İKRAM <C>İkram: 1,00, teşekkürler Toplam: 33,00"; formatResult = TicketFormatter.GetFormattedTicket(ticket, ticket.GetUnlockedLines(), template); result = string.Join("\r\n", formatResult); Assert.IsTrue(result == expectedResult); }