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); }
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)); }