public void NotCreateSpecialHandlerForDefaultSender()
        {
            var handler  = session.Query <TestHandler>().First(t => t.ClassName.Contains("EmailSender"));
            var supplier = session.Query <Supplier>().First(t => t.Id == _supplier.Id);
            var managep  = new managep();

            managep.DbSession = session;
            managep.CreateNewSpecialOrders(supplier, handler.Id, "Специальная доставка", HandlerTypes.Sender);
            var specHandler = session.Query <SpecialHandler>().FirstOrDefault(t => t.Supplier == supplier && t.Handler.Id == handler.Id);

            Assert.That(specHandler, Is.Null);
        }
        public void Copy_supplier_code_from_base_price()
        {
            var supplier = DataMother.CreateSupplier();
            var price    = supplier.AddPrice("Тестовый 1");

            Save(supplier);

            var client = DataMother.CreateTestClientWithAddress();

            var intersection = session.Query <AddressIntersection>()
                               .First(a => a.Intersection.Price == supplier.Prices[0] && a.Intersection.Client == client);

            intersection.SupplierDeliveryId = "d1";
            Save(intersection);

            intersection = session.Query <AddressIntersection>()
                           .First(a => a.Intersection.Price == price && a.Intersection.Client == client);
            intersection.SupplierDeliveryId = "d2";
            Save(intersection);
            Flush();
            session.Clear();

            var manage = new managep {
                DbSession = session
            };

            var data  = manage.GetData(supplier);
            var table = data.Tables["Prices"];
            var row   = table.NewRow();

            row["BuyingMatrix"]  = 0;
            row["AgencyEnabled"] = 1;
            row["Enabled"]       = 1;
            row["UpCost"]        = 0;
            row["PriceType"]     = 0;
            row["IsLocal"]       = 0;
            table.Rows.Add(row);
            var message = "";

            manage.Save(supplier, data, "", ref message);

            supplier = session.Get <Supplier>(supplier.Id);
            Assert.That(supplier.Prices.Count, Is.EqualTo(3));
            intersection = session.Query <AddressIntersection>()
                           .First(a => a.Intersection.Price == price && a.Intersection.Client == client);
            Assert.That(intersection.SupplierDeliveryId, Is.EqualTo("d2"));

            intersection = session.Query <AddressIntersection>()
                           .First(a => a.Intersection.Price == supplier.Prices[2] && a.Intersection.Client == client);
            Assert.That(intersection.SupplierDeliveryId, Is.EqualTo("d1"));
        }
        public void NewSpecialOrderHandlerTest()
        {
            var handler  = session.Query <TestHandler>().First(t => t.ClassName.Contains("Formater") && !t.ClassName.Contains("Default"));
            var supplier = session.Query <Supplier>().First(t => t.Id == _supplier.Id);
            var managep  = new managep();

            managep.DbSession = session;
            managep.CreateNewSpecialOrders(supplier, handler.Id, "Специальный формат", HandlerTypes.Formatter);
            var specHandler = session.Query <SpecialHandler>().First(t => t.Supplier == supplier && t.Handler.Id == handler.Id);

            Assert.That(specHandler.Name, Is.EqualTo("Специальный формат"));

            var specCount  = session.Query <SpecialHandler>().Count();
            var defHandler = session.Query <OrderHandler>().First(t => t.ClassName == "DefaultXmlFormater");

            managep.CreateNewSpecialOrders(supplier, defHandler.Id, "Специальный формат", HandlerTypes.Formatter);
            Assert.That(specCount, Is.EqualTo(session.Query <SpecialHandler>().Count()));
        }