Exemplo n.º 1
0
 public PrinterService(ISettingService settingService, ICacheService cacheService, IExpressionService expressionService, ILogService logService,
     TicketFormatter ticketFormatter, FunctionRegistry functionRegistry)
 {
     _cacheService = cacheService;
     _logService = logService;
     _ticketFormatter = ticketFormatter;
     _functionRegistry = functionRegistry;
     _functionRegistry.RegisterFunctions();
 }
Exemplo n.º 2
0
        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");
            }
        }
Exemplo n.º 3
0
 public PrinterService(ISettingService settingService, ICacheService cacheService, IExpressionService expressionService, ILogService logService)
 {
     _cacheService = cacheService;
     _logService = logService;
     _ticketFormatter = new TicketFormatter(expressionService, settingService);
 }
Exemplo n.º 4
0
        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);
        }