/* FieldParser */
        public List <FileParse> GetFieldParser(string selectedPlatform)
        {
            ParserConfiguration par = FORIS.Interbilling.NTS.Mediation.Configurations.Configuration.GetNotCashedConfiguration <ParserConfiguration>();

            DataTable dtParserConfig = new DataTable();

            dtParserConfig.Columns.Add("ParserType");
            dtParserConfig.Columns.Add("SkipLines");
            dtParserConfig.Columns.Add("Delimiters");

            bool exist = par.Platforms.Exists(p => p.FileType == selectedPlatform);

            List <FileParse> list = new List <FileParse>();

            PlatformParser parser = par.Platforms.Find(p => p.FileType == selectedPlatform);

            FileParse obj = new FileParse();

            obj.FileType  = parser.ParserType.ToString();
            obj.SkipLines = parser.SkipLines;
            if (parser.Delimiters != null)
            {
                obj.Delimiters = parser.Delimiters.ToString();
                string allValues = null;
                foreach (var value in parser.Delimiters)
                {
                    allValues += value + " ";
                }
                obj.Delimiters = allValues;
            }
            list.Add(obj);

            return(list);
        }
        public void TestCase2()
        {
            //Prepare
            var expected = new Transaction
            {
                Date          = "2020-01-01",
                SizeCode      = "S",
                CarrierCode   = "LP",
                ShippingPrice = new ShippingPrice
                {
                    PackageSize = "S",
                    Provider    = "LP",
                    Price       = 1.50,
                    Discount    = null
                }
            };

            //Act
            FileParse fileParse         = new FileParse();
            string    trasanctionString = "2020-01-01 S LP";
            var       transactions      = fileParse.ParseDataToTransactions(trasanctionString);

            //Assert
            Assert.AreEqual(expected.Date, transactions[0].Date);
            Assert.AreEqual(expected.CarrierCode, transactions[0].CarrierCode);
            Assert.AreEqual(expected.SizeCode, transactions[0].SizeCode);
            Assert.AreEqual(expected.ShippingPrice.Price, transactions[0].ShippingPrice.Price);
        }
        //Discount rule 1
        public void TestCase4()
        {
            //Prepare
            var transaction = new Transaction
            {
                Date          = "2020-01-01",
                SizeCode      = "S",
                CarrierCode   = "MR",
                ShippingPrice = new ShippingPrice
                {
                    PackageSize = "S",
                    Provider    = "MR",
                    Price       = 2.00,
                    Discount    = new ShippingPriceDiscount
                    {
                        DiscountedAmount = 0.50,
                        ReducedPrice     = 1.50
                    }
                }
            };

            //Act
            FileParse fileParse              = new FileParse();
            string    trasanctionString      = "2020-01-01 S MR";
            var       transactions           = fileParse.ParseDataToTransactions(trasanctionString);
            var       discountedTransactions = new AssignShippingDiscount().AssignShippingDiscounts(transactions);

            //Assert
            Assert.AreEqual(transaction.ShippingPrice.Price, discountedTransactions[0].ShippingPrice.Price);
            Assert.AreEqual(transaction.ShippingPrice.Discount.ReducedPrice, discountedTransactions[0].ShippingPrice.Discount.ReducedPrice);
            Assert.AreEqual(transaction.ShippingPrice.Discount.DiscountedAmount, discountedTransactions[0].ShippingPrice.Discount.DiscountedAmount);
        }
Пример #4
0
        private static void Start(string fileContent)
        {
            //var fileContent = Properties.Resources.Sample;
            FileParse fileParse = new FileParse();
            Parse     parse     = new Parse();

            fileParse.FileContent = fileContent;

            var lastObstacle = Array.FindLastIndex(fileParse.FileContentArray, x => x.ToLower().Contains("obstacle"));
            var firstJourney = Array.FindIndex(fileParse.FileContentArray, s => !(string.IsNullOrEmpty(s) || s.ToLower().Contains("grid") || s.ToLower().Contains("obstacle")));

            if (lastObstacle > firstJourney)
            {
                Console.WriteLine("Can't process Journey invalid obstacle location");
                return;
            }

            fileParse.Process();

            parse.GetObstacles(fileParse.ListObstacleMap);
            parse.GetRouteMap(fileParse.ListRawRouteMap);

            foreach (var routeMap in parse.ListRouteMap)
            {
                var result = parse.ParseRouteMap(routeMap, fileParse.GridColumnLength, fileParse.GridRowLength);
                Console.WriteLine(result.JourneyResult);
                foreach (var obstacleResult in result.ObstacleResult)
                {
                    Console.WriteLine(obstacleResult);
                }
            }
        }
Пример #5
0
        static void Main(string[] args)
        {
            //Read file
            FileParse fileParse = new FileParse();

            Console.Write("File name: ");
            var Text = fileParse.ReadFile(Console.ReadLine());

            //Create Transactions
            var Transactions = fileParse.ParseDataToTransactions(Text);

            //Apply discount to Transactions
            var discountedTransactions = new AssignShippingDiscount().AssignShippingDiscounts(Transactions);

            //Print Transaction
            new PrintTransactions().PrintTransaction(discountedTransactions);

            //Run Tests
            Console.WriteLine("Do you want to run tests?(Y/N)");
            if (Console.ReadLine() == "Y")
            {
                new AutoRun(Assembly.GetExecutingAssembly())
                .Execute(new string[] { "/test:ShippingDiscount.Tests.ShippingDiscountTest" });
                Console.ReadKey();
            }
        }
Пример #6
0
 public void Initialize()
 {
     position  = new Position();
     obstacles = new List <Obstacle>();
     fileParse = new FileParse();
     parse     = new Parse();
 }
        //Check if input.txt output is equal to correctOutput.txt
        public void TestCase1()
        {
            //Prepare
            var       transactions       = new List <Transaction>();
            FileParse fileParse          = new FileParse();
            var       parsedTransactions = fileParse.ReadFile("correctOutput.txt");

            string[] createdTransactions = parsedTransactions.Split("\n\n".ToCharArray());
            for (int y = 0; y < 20; y++)
            {
                string[] transaction = createdTransactions[y].Split(" ".ToCharArray());
                if (transaction.Length == 5)
                {
                    string DiscountedAmount = transaction[4].Trim();
                    if (DiscountedAmount == "-")
                    {
                        DiscountedAmount = "0";
                    }


                    transactions.Add(new Transaction
                    {
                        Date          = transaction[0].Trim(),
                        SizeCode      = transaction[1].Trim(),
                        CarrierCode   = transaction[2].Trim(),
                        ShippingPrice = new ShippingPrice
                        {
                            PackageSize = "",
                            Provider    = "",
                            Price       = 0,
                            Discount    = new ShippingPriceDiscount
                            {
                                ReducedPrice     = Convert.ToDouble(transaction[3]),
                                DiscountedAmount = Convert.ToDouble(DiscountedAmount)
                            }
                        }
                    });
                }
                else if (transaction.Length < 5)
                {
                    transactions.Add(new Transaction
                    {
                        Date     = transaction[0].ToString(),
                        SizeCode = transaction[1].ToString(),
                    });
                }
            }

            //Act
            var Text                = fileParse.ReadFile("input.txt");
            var Transactions        = fileParse.ParseDataToTransactions(Text);
            var correctTransactions = new AssignShippingDiscount().AssignShippingDiscounts(Transactions);

            //Assert
            for (int x = 0; x < 20; x++)
            {
                Assert.AreEqual(transactions[x].Date, correctTransactions[x].Date);
            }
        }
Пример #8
0
        /// <summary>
        /// Deserialize the json into Dcitionary, then Launch the insurer Web service to download the file.
        /// </summary>
        /// <param name="content"></param>
        /// <param name="insurer"></param>
        /// <param name="iniFilePath"></param>
        public Downloader(Dictionary <string, string> content, string insurer, string iniFilePath)
        {
            ValidateInputStream(content);

            this._requestUri = new Uri(FileParse.FromIni(iniFilePath, insurer, "downloaduri"));
            this._fileDir    = FileParse.FromIni(iniFilePath, insurer, "filedir");
            this._fileName   = this._fileDir + DateTime.UtcNow.ToString("yyyy-MM-dd-HH-mm-ss") + "-" + _serialNumber + ".zip";
        }
Пример #9
0
        /// <summary>
        /// 适配器(双向适配)
        /// </summary>
        static void DoubleAdapter()
        {
            Console.WriteLine($"适配器(双向适配){Environment.NewLine}-------------------------------------------");
            //接口IFileParseService兼容IFileParseTool
            IFileParseService parseService = new FileParse(new XmlFileParseTool());

            Console.WriteLine(parseService.Parsing());

            //接口IFileParseTool兼容IFileParseService
            IFileParseTool parseTool = new FileParse(new TxtFileParse());

            Console.WriteLine(parseTool.FileParsing());

            Console.ReadKey();
        }
Пример #10
0
        public bool AddFileLog(HttpFileCollectionBase files)
        {
            if (!FileIsValid(files))
            {
                return(false);
            }

            var serviceFileUpload = new ServiceFileUpload();
            var file = serviceFileUpload.Upload(files);

            var serviceFileRead = new ServiceFileRead(_repositoryGame, _repositoryKill, _repositoryPlayer);
            var fileReturn      = serviceFileRead.FileRead(file[2]);

            var fileParse = new FileParse(file[0]);

            _repositoryFileParse.SaveFileParse(fileParse);

            return(true);
        }
        private async void btnGetMyMails_Click(object sender, RoutedEventArgs e)
        {
            setLoadingString("Loading..");
            clearAllLists();
            if (AppCapabilities == null)
            {
                await getAppCapabilities();
            }

            var mailClient = ExchangeClient.ensureOutlookClientCreated(AppCapabilities, "Mail");
            await MailOperations.sendMail(mailClient, FileParse.readMails());

            var myMails = await MailOperations.getMails(mailClient);

            foreach (var myMail in myMails)
            {
                Mails.Add(new MyMail {
                    Subject = myMail.Subject
                });
            }

            setLoadingString("");
        }
 public void SaveFileParse(FileParse fileParse)
 {
     _contextDb.FileParse.Add(fileParse);
     _contextDb.SaveChanges();
 }
        private async void btnGetMyEvents_Click(object sender, RoutedEventArgs e)
        {
            setLoadingString("Loading....");
            clearAllLists();
            if (AppCapabilities == null)
            {
                await getAppCapabilities();
            }
            var    calendarClient = ExchangeClient.ensureOutlookClientCreated(AppCapabilities, "Calendar");
            string fileAction     = FileParse.readFileAction(SettingsHelper.EventsFilePath);

            if (fileAction == "ADD")
            {
                setLoadingString("Adding Events....");
                await CalendarOperations.addEvents(calendarClient, FileParse.readEvents());

                var myEvents = await CalendarOperations.getEvents(calendarClient);

                foreach (var myEvent in myEvents)
                {
                    Events.Add(new MyEvent {
                        Subject = myEvent.Subject
                    });
                }
            }
            else if (fileAction == "UPDATE")
            {
                setLoadingString("Updating Events....");
                var fileEvents = FileParse.readEvents();
                foreach (var fileEvent in fileEvents)
                {
                    var evnt = await CalendarOperations.getEventBySubject(calendarClient, fileEvent);

                    await CalendarOperations.updateEvent(calendarClient, evnt.Id, fileEvent);
                }
                var myEvents = await CalendarOperations.getEvents(calendarClient);

                foreach (var myEvent in myEvents)
                {
                    Events.Add(new MyEvent {
                        Subject = myEvent.Subject
                    });
                }
            }
            else if (fileAction == "DELETE")
            {
                setLoadingString("Deleting Events....");
                var fileEvents = FileParse.readEvents();
                foreach (var fileEvent in fileEvents)
                {
                    var evnt = await CalendarOperations.getEventBySubject(calendarClient, fileEvent);

                    await CalendarOperations.deleteEvent(calendarClient, evnt.Id);
                }
                var myEvents = await CalendarOperations.getEvents(calendarClient);

                foreach (var myEvent in myEvents)
                {
                    Events.Add(new MyEvent {
                        Subject = myEvent.Subject
                    });
                }
            }
            setLoadingString("");
        }
        private async void btnGetMyContacts_Click(object sender, RoutedEventArgs e)
        {
            setLoadingString("Loading....");
            clearAllLists();
            if (AppCapabilities == null)
            {
                await getAppCapabilities();
            }
            var    contactsClient = ExchangeClient.ensureOutlookClientCreated(AppCapabilities, "Contacts");
            string fileAction     = FileParse.readFileAction(SettingsHelper.ContactsFilePath);

            if (fileAction == "ADD")
            {
                setLoadingString("Adding Contacts....");
                await ContactsOperations.addContacts(contactsClient, FileParse.readContact());

                var myContacts = await ContactsOperations.getContacts(contactsClient);

                foreach (var myContact in myContacts)
                {
                    Contacts.Add(new MyContact {
                        Name = myContact.DisplayName
                    });
                }
            }
            else if (fileAction == "UPDATE")
            {
                setLoadingString("Updating Contacts....");
                var fileContacts = FileParse.readContact();
                foreach (var fileContact in fileContacts)
                {
                    var contact = await ContactsOperations.getContactByGivenNameAndSurname(contactsClient, fileContact);

                    await ContactsOperations.updateContact(contactsClient, contact.Id, fileContact);
                }
                var myContacts = await ContactsOperations.getContacts(contactsClient);

                foreach (var myContact in myContacts)
                {
                    Contacts.Add(new MyContact {
                        Name = myContact.DisplayName
                    });
                }
            }
            else if (fileAction == "DELETE")
            {
                setLoadingString("Deleting Contacts....");
                var fileContacts = FileParse.readContact();
                foreach (var fileContact in fileContacts)
                {
                    var contact = await ContactsOperations.getContactByGivenNameAndSurname(contactsClient, fileContact);

                    await ContactsOperations.deleteContact(contactsClient, contact.Id);
                }
                var myContacts = await ContactsOperations.getContacts(contactsClient);

                foreach (var myContact in myContacts)
                {
                    Contacts.Add(new MyContact {
                        Name = myContact.DisplayName
                    });
                }
            }
            setLoadingString("");
        }