Пример #1
0
        public ActionResult Upload(HttpPostedFileWrapper file)
        {
            try
            {
                var valuesFromFile = Parser1C.Parse(file.InputStream, new[] { typeof(Платежное_Поручение) }).OfType <Платежное_Поручение>().ToArray();

                if (valuesFromFile.Length == 0)
                {
                    throw new ArgumentEmptyException("В файле не было элементов.");
                }

                var valuesFromDb = repository.GetAllModels <Платежное_Поручение>().ToArray();

                var result = from value in valuesFromFile
                             let cf                     = valuesFromFile.Count(v => v.Номер == value.Номер)
                                                let cdb = valuesFromDb.Count(v => v.Номер == value.Номер)
                                                          select new { HasDuplicates = cf + cdb > 1, Value = value }.ToExpando();

                ViewBag.Items = result.ToArray();
                return(View("Preview"));
            }
            catch (Exception e)
            {
                TempData["Status"]  = "danger";
                TempData["Message"] = e.Message;
                return(RedirectPermanent("/"));
            }
        }
Пример #2
0
        public void Parse()
        {
            using (var stream = File.OpenRead("../kl_to_1c_TEST.txt"))
            {
                var objects = Parser1C.Parse(stream, new[] { typeof(Платежное_Поручение) }).Cast <Платежное_Поручение>().ToArray();

                Assert.AreEqual(objects.Length, 32);
                Assert.AreEqual(objects[0].Номер, 828);
                Assert.IsTrue(objects[1].ДатаПоступило > new DateTime(1980, 1, 1));
                Assert.IsTrue(objects[2].ДатаПоступило < new DateTime(2100, 1, 1));
            }
        }