Exemplo n.º 1
0
        public async Task <UserPrice> AddUserPrice(UserPrice price)
        {
            await using var db = GetConnection();

            var inserted = await db.QueryFirstAsync <UserPrice>(
                @"exec dbo.AddUserPrice @UserId, @StockSymbol, @Price, @Count, @DateTime", price);

            return(inserted);
        }
Exemplo n.º 2
0
        public HttpResponseMessage Post(SyncRequest request)
        {
            if (request.Prices == null)
            {
                return(new HttpResponseMessage(HttpStatusCode.OK));
            }

            var log = "";

            foreach (var setting in request.Prices)
            {
                var userPrice = Session.Query <UserPrice>().FirstOrDefault(u => u.User == CurrentUser &&
                                                                           u.Price.PriceCode == setting.PriceId &&
                                                                           u.RegionId == setting.RegionId);

                if (!setting.Active && userPrice != null)
                {
                    log += $"{userPrice.Price.PriceCode} {userPrice.Price.Supplier.Name}" +
                           $" ({userPrice.Price.PriceName}) {userPrice.Price.Supplier.HomeRegion.Name} - выкл;";
                    Session.Delete(userPrice);
                }
                else if (setting.Active && userPrice == null)
                {
                    var price = Session.Get <PriceList>(setting.PriceId);
                    if (price == null)
                    {
                        continue;
                    }
                    userPrice = new UserPrice(CurrentUser, setting.RegionId, price);
                    log      += $"{userPrice.Price.PriceCode} {userPrice.Price.Supplier.Name}" +
                                $" ({userPrice.Price.PriceName}) {userPrice.Price.Supplier.HomeRegion.Name} - вкл;";
                    Session.Save(userPrice);
                }
            }
            if (!String.IsNullOrEmpty(log))
            {
                Session.Save(new RequestLog(CurrentUser, Request, "Prices")
                {
                    Error       = log,
                    IsConfirmed = true,
                    IsCompleted = true,
                });
            }
            return(new HttpResponseMessage(HttpStatusCode.OK));
        }