public void Load_delay_of_payment() { settings.LastLeaderCalculation = DateTime.Today.AddDays(-1); Fixture <CreateDelayOfPayment>(); Run(new UpdateCommand()); DbMaintain.UpdateLeaders(localStateless); var user = localSession.Query <User>().First(); Assert.IsTrue(user.IsDelayOfPaymentEnabled); Assert.IsTrue(user.ShowSupplierCost); localSession.Refresh(settings); Assert.AreEqual(DateTime.Today, settings.LastLeaderCalculation); Assert.That(localSession.Query <DelayOfPayment>().Count(), Is.GreaterThan(0)); // #68427 Корректировка цены БАД var delay = localSession.Query <DelayOfPayment>().First(); var price = delay.Price; Assert.AreEqual(price.SupplementCostFactor, 1.02m); var offer = localSession.Query <Offer>().First(x => x.Price == price); offer.CategoryId = 1; offer.VitallyImportant = false; Assert.AreEqual(offer.ResultCost, Math.Round(offer.Cost * price.SupplementCostFactor, 2)); }
public void Import() { localSession.CreateSQLQuery("delete from offers").ExecuteUpdate(); var user = localSession.Query <User>().First(); user.LastSync = null; var command = new UpdateCommand(); Run(command); DbMaintain.UpdateLeaders(localStateless); Assert.AreEqual("Обновление завершено успешно.", command.SuccessMessage); Assert.That(localSession.Query <Offer>().Count(), Is.GreaterThan(0)); Assert.That(localSession.Query <Offer>().Count(x => x.BarCode != null), Is.GreaterThan(0)); Assert.That(localSession.Query <Offer>().Count(x => x.Properties != ""), Is.GreaterThan(0)); Assert.That(localSession.Query <Offer>().Count(x => x.NDS != null), Is.GreaterThan(0)); var productId = localSession.Query <Offer>() .Where(o => !o.Junk).GroupBy(o => o.ProductId) .Where(g => g.Count() > 1) .Select(g => g.Key) .First(); var minCostCount = localSession.Query <MinCost>().Count(); Assert.That(minCostCount, Is.GreaterThan(0)); var cost = localSession.Query <MinCost>().First(m => m.ProductId == productId); Assert.IsNotNull(cost.Catalog, "product id = {0}", productId); Assert.IsNotNull(cost.NextCost, "product id = {0}", productId); Assert.That(localSession.Query <Offer>().Count(o => o.Exp != null), Is.GreaterThan(0)); }
public IEnumerable <IResult> Save() { UpdateMarkups(); UpdatePriceTags(); var error = Settings.Value.Validate(validateMarkups: HaveAddresses); if (error?.Count > 0) { if (Session != null) { Session.FlushMode = FlushMode.Never; } GoToErrorTab(error.First()[0]); yield return(MessageResult.Warn(error.First()[1])); yield break; } if (passwordUpdated) { Settings.Value.Password = password; } if (diadokPasswordUpdated) { Settings.Value.DiadokPassword = diadokPassword; } if (sbisPasswordUpdated) { Settings.Value.SbisPassword = sbisPassword; } if (App.Current != null) { StyleHelper.BuildStyles(App.Current.Resources, Styles); } if (Session != null) { IsCredentialsChanged = Session.IsChanged(Settings.Value, s => s.Password) || Session.IsChanged(Settings.Value, s => s.UserName); if (Session.IsChanged(Settings.Value, s => s.GroupWaybillsBySupplier) && Settings.Value.GroupWaybillsBySupplier) { foreach (var dirMap in DirMaps) { try { Directory.CreateDirectory(dirMap.Dir); } catch (Exception e) { Log.Error($"Не удалось создать директорию {dirMap.Dir}", e); } } } if (Session.IsChanged(Settings.Value, x => x.JunkPeriod)) { yield return(new Models.Results.TaskResult(Query(s => DbMaintain.CalcJunk(s, Settings.Value)))); } Session.FlushMode = FlushMode.Auto; Settings.Value.ApplyChanges(Session); SynchronizeSpecialMarkUps(); } TryClose(); }