public IActionResult SaleFromStock([FromBody] SaleFromStockVM json) { try { var supplierId = _db.Suppliers.FirstOrDefault(x => x.Title == json.Supplier)?.Id ?? throw new Exception("Не указан поставщик"); var managerId = _postgresContext.Managers.FirstOrDefault(x => x.Name == json.Manager)?.Id ?? throw new Exception("Не указан менеджер"); SaleCreateVM saleCreate = new SaleCreateVM() { UserId = json.UserId, Discount = json.Discount, AdditionalComment = json.AdditionalComment, Comment = json.Comment, Sum = json.Sum, CashSum = json.Cash, CashlessSum = json.Cashless, Products = json.Products, PartnerId = json.Buyer == "Обычный покупатель" ? null : _partnerService.All().First(p => p.Title == json.Buyer)?.Id, SaleType = SaleType.SaleFromStock, ForRussian = json.ForRussian }; var createdSale = _saleService.CreatePostPayment(_db, saleCreate, json.UserId); var shop = _shopService.ShopByUserId(_db, json.UserId); _db.SaleInformations.Add(new SaleInformation() { Sale = createdSale, MoneyWorkerForIncomeId = shop.Id, MoneyWorkerForCashlessIncomeId = json.MoneyWorkerIdForCashlessIncome == 0 ? null : json.MoneyWorkerIdForCashlessIncome, SaleType = SaleType.SaleFromStock }); _db.SaveChanges(); var saleFromStockOld = new SaleFromStockOld() { SaleId = createdSale.Id, SupplierId = supplierId, Products = json.Products.Select(x => new SoldProductFromStockOld() { ProcurementCost = x.ProcurementCost, ProductId = x.Id }).ToList() }; _postgresContext.SalesFromStockOld.Add(saleFromStockOld); _postgresContext.SaleManagersOld.Add( new SaleManagerOld(managerId, createdSale.Id, DateTime.Now.AddHours(3))); _postgresContext.SaveChanges(); return(RedirectToAction("CheckPrint", new { saleId = createdSale.Id, operationSum = json.Cash + json.Cashless })); } catch (Exception e) { return(BadRequest(new { message = e.Message })); } }