Example #1
0
        public void Do_not_recalculate_edited_cost()
        {
            var line = Calculate(Line());

            Assert.AreEqual(557, waybill.RetailSum);
            line.RetailCost = 60;
            waybill.Calculate(settings, new List <uint>());
            Assert.AreEqual(600, waybill.RetailSum);
        }
Example #2
0
        public void Setup()
        {
            session.DeleteEach <Waybill>();
            session.DeleteEach <Stock>();
            Catalog catalog = session.Query <Catalog>().First();

            Waybill = new Waybill(address, session.Query <Supplier>().First());
            Waybill.Lines.Add(new WaybillLine(Waybill)
            {
                ProductId              = catalog.Id,
                Product                = catalog.FullName,
                Certificates           = "РОСС RU.ФМ08.Д38737",
                Period                 = "01.05.2017",
                Producer               = "Нью-Фарм Инк./Вектор-Медика ЗАО, РОССИЯ",
                ProducerCost           = 213.18m,
                RegistryCost           = 382.89m,
                SupplierPriceMarkup    = -5.746m,
                SupplierCostWithoutNds = 200.93m,
                SupplierCost           = 221.03m,
                Quantity               = 2,
                VitallyImportant       = true,
                Nds               = 10,
                SerialNumber      = "21012",
                Amount            = 442.05m,
                NdsAmount         = 40.19m,
                BillOfEntryNumber = "10609010/101209/0004305/1",
                //для отчета по жизененно важным
                EAN13 = "4606915000379",
            });
            session.Save(Waybill);
            foreach (var item in Waybill.Lines)
            {
                item.Stock = new Stock(Waybill, item, session);
                session.Save(item.Stock);
            }
            Waybill.Calculate(settings, new List <uint>());
            session.Save(Waybill);
            session.Flush();
            Waybill.Stock(session);
            model = Open(new StockAssortmentViewModel());
        }
        private void CreateMatchedWaybill(SentOrderLine orderLine)
        {
            var sendOrder = orderLine.Order;
            var waybill   = new Waybill {
                ProviderDocumentId = sendOrder.Id.ToString(),
                DocumentDate       = DateTime.Now,
                WriteTime          = DateTime.Now,
                Address            = sendOrder.Address,
                Supplier           = session.Load <Supplier>(sendOrder.Price.SupplierId),
            };
            var line = new WaybillLine {
                Product      = orderLine.ProductSynonym,
                Producer     = orderLine.ProducerSynonym,
                Quantity     = (int?)orderLine.Count,
                SupplierCost = orderLine.Cost,
            };

            waybill.AddLine(line);
            waybill.Calculate(settings, new List <uint>());
            session.Save(waybill);
            session.Save(new WaybillOrder(line.Id, orderLine.ServerId.Value));
        }
        public void Execute(ISession session)
        {
            var address  = session.Query <Address>().First();
            var settings = session.Query <Settings>().First();

            Waybill       = new Waybill(address, session.Query <Supplier>().First());
            Waybill.Lines = Enumerable.Range(0, 10).Select(i => new WaybillLine(Waybill)).ToList();
            Waybill.ProviderDocumentId = "н2";
            var line = Waybill.Lines[0];

            line.Quantity               = 10;
            line.Nds                    = 10;
            line.ProducerCost           = 15.13m;
            line.SupplierCostWithoutNds = 18.25m;
            line.SupplierCost           = 20.8m;

            Waybill.Lines.Add(new WaybillLine(Waybill)
            {
                Product                = "Доксазозин 4мг таб. Х30 (R)",
                Certificates           = "РОСС RU.ФМ08.Д38737",
                Period                 = "01.05.2017",
                Producer               = "Нью-Фарм Инк./Вектор-Медика ЗАО, РОССИЯ",
                ProducerCost           = 213.18m,
                RegistryCost           = 382.89m,
                SupplierPriceMarkup    = -5.746m,
                SupplierCostWithoutNds = 200.93m,
                SupplierCost           = 221.03m,
                Quantity               = 2,
                VitallyImportant       = true,
                Nds               = 10,
                SerialNumber      = "21012",
                Amount            = 442.05m,
                NdsAmount         = 40.19m,
                BillOfEntryNumber = "10609010/101209/0004305/1",
                //для отчета по жизененно важным
                EAN13 = "4606915000379",
            });
            //плохая строка с ценой производителя 0
            Waybill.Lines.Add(new WaybillLine(Waybill)
            {
                Product                = "Доксазозин 4мг таб. Х30 (R)",
                Certificates           = "РОСС RU.ФМ08.Д38737",
                Period                 = "01.05.2017",
                Producer               = "Нью-Фарм Инк./Вектор-Медика ЗАО, РОССИЯ",
                ProducerCost           = 0,
                RegistryCost           = 382.89m,
                SupplierPriceMarkup    = -5.746m,
                SupplierCostWithoutNds = 200.93m,
                SupplierCost           = 221.03m,
                Quantity               = 2,
                VitallyImportant       = true,
                Nds               = 10,
                SerialNumber      = "21012",
                Amount            = 442.05m,
                NdsAmount         = 40.19m,
                BillOfEntryNumber = "10609010/101209/0004305/1",
                //для отчета по жизененно важным
                EAN13 = "4606915000379",
            });
            //плохая строка с SupplierCostWithoutNds 0 это раньше вызывало ошибку в VitallyImportantReport
            Waybill.Lines.Add(new WaybillLine(Waybill)
            {
                Product                = "Доксазозин 2мг таб. Х30 (R)",
                Certificates           = "РОСС RU.ФМ08.Д38737",
                Period                 = "01.05.2017",
                Producer               = "Нью-Фарм Инк./Вектор-Медика ЗАО, РОССИЯ",
                ProducerCost           = 120m,
                RegistryCost           = 382.89m,
                SupplierPriceMarkup    = -5.746m,
                SupplierCostWithoutNds = 0,
                SupplierCost           = 128,
                Quantity               = 2,
                Nds               = 10,
                SerialNumber      = "21012",
                Amount            = 442.05m,
                NdsAmount         = 40.19m,
                BillOfEntryNumber = "10609010/101209/0004305/1",
                //для отчета ежемесячного
                EAN13 = "4606915000355",
            });
            Waybill.Calculate(settings, new List <uint>());
            session.Save(Waybill);
            session.Flush();
        }
 private void Calculate()
 {
     //в случае если мы восстановили значение из сессии
     Waybill?.Calculate(Settings.Value, Shell?.SpecialMarkupProducts.Value);
 }