public void Copy_cost_settings_from_root()
        {
            var supplier = DataMother.CreateSupplier(s => { s.Prices.First().AddCost(); });

            Save(supplier);

            var client = DataMother.TestClient();

            var price       = supplier.Prices.First();
            var baseCost    = price.Costs.First();
            var notBaseCost = price.Costs[1];

            var intersection = session.Query <Intersection>().Single(i => i.Client == client && i.Price == price);

            Assert.That(intersection.Cost, Is.EqualTo(baseCost));
            intersection.Cost = notBaseCost;
            Save(intersection);
            var org = new LegalEntity("тараканов и сыновья", client.Payers.First());

            Save(org);
            Flush();

            Maintainer.LegalEntityCreated(session, org);

            intersection = session.Query <Intersection>().Single(i => i.Client == client && i.Price == price && i.Org == org);
            Assert.That(intersection.Cost.Id, Is.EqualTo(notBaseCost.Id), "идентификатор intersection {0}", intersection.Id);
        }
        public void AddJuridicalOrganization([ARDataBind("juridicalOrganization", AutoLoad = AutoLoadBehavior.NewRootInstanceIfInvalidKey)] LegalEntity legalEntity, uint payerId)
        {
            if (IsValid(legalEntity))
            {
                var payer = DbSession.Load <Payer>(payerId);
                legalEntity.Payer = payer;
                DbSession.Save(legalEntity);
                Maintainer.LegalEntityCreated(DbSession, legalEntity);

                Notify("Юридическое лицо создано");
            }
            RedirectToReferrer();
        }
        public void Create_intersection_after_legal_entity_creation()
        {
            var client = DataMother.TestClient();
            var org    = new LegalEntity {
                Name  = "тараканов и сыновья",
                Payer = client.Payers.First()
            };

            session.Save(org);
            Maintainer.LegalEntityCreated(session, org);
            var count = ArHelper.WithSession(s =>
                                             s.CreateSQLQuery(@"select count(*) from Customers.Intersection where LegalEntityId = :LegalEntityId")
                                             .SetParameter("LegalEntityId", org.Id)
                                             .UniqueResult <long>());

            Assert.That(count, Is.GreaterThan(0));
        }