Почему не сохраняется первый .savechanges(); post метода?
При нажатии на кнопку осуществляется переход на view "Ready" из метода post,Order.Name отображается корректно. Но в бд order не заносится. Почему не срабатывает первый savachanges? Сontroller
public class Some : Controller
{
private AppDbContext context;
public Some(AppDbContext ctx)
{
context = ctx;
}
[Httpost]
public ActionResult Buy(int? id, string Price,Order order)
{
if (id == null) return RedirectToAction("Index");
using (var transaction = context.Database.BeginTransaction())
{
context.Orders.Add(order)
context.SaveChanges();
if(Price!=null)
{var ty=context.Phones.Where(p =>
p.PhoneId==id).FirstOrDefault();
context.Price1=Price+150;
}
context.SaveChanges();
transaction.Commit();
}
return View("Buy");
}
public ActionResult Ready(int? id, string OrderName)
{
ViewBag.PhoneId = id;
ViewBag.OrderName = OrderName;
return View();
}
}
}
Startup
public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext<AppDbContext>(options =>
options.UseSqlServer(Configuration["Data:AppDb:ConnectionString"]));
services.AddTransient<Some>();}
Context class
public class AppDbContext : DbContext
{
public AppDbContext(DbContextOptions<AviaAppDbContext> options)
: base(options)
{
}
public DbSet<Phone> Phones { get; set; }
public DbSet<Order> Orders { get; set; }
appsettings
"AllowedHosts": "*",
"Data": {
"AppDb": {
"ConnectionString": "Server=(localdb)\\MSSQLLocalDB;Database=AppDb;Trusted_Connection=True;MultipleActiveResultSets=true"
}
View
@using System.Linq;
@using System;
@model List<Searchphone>
@{
ViewBag.Title = "PhoneId";
}
<h2 class="orderinformation">Order Data</h2>
<form method="post" class="formpass" asp-action="Ready" asp-controller="Some">
<input type="hidden" id="PhoneId"value="@ViewBag.PhoneId" name="PhoneId">
<label for="OrderSurName">Surname</label><br>
<input type="text" placeholder="Enter Surname" name="OrderSurName" required><br>
<label for="OrderName">Имя</label><br>
<input type="text" placeholder="Enter Name" name="OrderName" required><br>
<button type="submit" class="button7">Next</button>
</form>