MVC , בעיה עם VIEWMODEL ב POST
קוד:
public class Subject
{
public Subject()
{
reviews = new List<Review>();
}
public int SubjectId { get; set; }
public int ReviewId { get; set; }
public int UwriterId { get; set; }
public virtual ICollection<Review> reviews { get; set; }
}
}
public class Review
{
public Review() { }
public int ReviewId { get; set; }
public int UwriterId { get; set; }
public string SubjectName { get; set; }
public int SubjectId { get; set; }
public Subject subject { get; set; }
}
}
public ActionResult CreateReview()
{
return View();
}
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<ActionResult> CreateReview(ReviewSubjectWriterVm model)
{
if (ModelState.IsValid)
{
var logedInUser = User.Identity.GetUserId();
var memberDetails = await (from m in db.member.Where(a => a.ApplicationUserId == logedInUser) select m).FirstOrDefaultAsync();
var reviewSubject = from c in db.Subject select c.SubjectName.ToString().ToLower();
var match = reviewSubject.FirstOrDefaultAsync(stringToCheck => stringToCheck.Contains(model.SubjectName));
using (var db = new ApplicationDbContext())
{
var WriterEntity = new Writer()
{
WriterName = memberDetails.LastName,
UwriterId = memberDetails.MemberID,
SubjectId=model.SubjectId
};
db.Writer.Add(WriterEntity);
var ReviewEntity = new Review()
{
ReviewHeadLine = model.ReviewHeadLine,
Content = model.Content,
Created = DateTime.Now,
GBU = model.GBU,
Media = model.Media,
offensive = false,
UwriterId = memberDetails.MemberID,
SubjectName = model.SubjectName,
SubjectId = model.SubjectId
};
db.Review.Add(ReviewEntity);
if (match == null)
{
var SubjectEntity = new Subject()
{
SubjectName = model.SubjectName,
Email = model.Email,