private static void SeedTestValues(Right4MeDbContext ctx) { if (!ctx.TestEntities.Any()) { ctx.TestEntities.Add(new TestEntity() { TestValue = "Test One", }); ctx.TestEntities.Add(new TestEntity() { TestValue = "Test Two", }); ctx.TestEntities.Add(new TestEntity() { TestValue = "Test Three", }); ctx.TestEntities.Add(new TestEntity() { TestValue = "Test Four", }); ctx.TestEntities.Add(new TestEntity() { TestValue = "Test Five", }); ctx.SaveChanges(); } }
public JsonResult Post([FromBody] ReviewVm model) { if (ModelState.IsValid) { var userId = model.UserId.ToString(); var needs = _dataCtx.UserProfileAccessibilityNeeds.Where(n => n.UserProfile.Id == userId); model.AccessibilityReviews = needs.Select(n => new AccessibilityReviewVm { AccessibilityNeedId = n.AccessibilityNeed.Id, Rating = model.Rating }).ToList(); var entity = _dataCtx.Reviews.FirstOrDefault(p => p.Id == model.Id) ?? new Review(); model.ToEntity(entity); if (entity.Id == 0) { _dataCtx.Reviews.Add(entity); } _dataCtx.SaveChanges(); return(Json(entity.ToVm())); } else { Response.StatusCode = 422; return(Json(ModelState.ToErrorsDictionary())); } }
private static void SeedTestProduct(Right4MeDbContext ctx) { if (!ctx.Products.Any()) { ctx.Products.Add(new Product() { Description = "This is the very first test product", Category = ProductCategory.Technology, Title = "Right4Me Test Product" }); ctx.SaveChanges(); } }
private static void SeedAccessibilityNeeds(Right4MeDbContext ctx) { if (!ctx.AccessibilityNeeds.Any()) { ctx.AccessibilityNeeds.Add(new AccessibilityNeed() { Name = "Vision", }); ctx.AccessibilityNeeds.Add(new AccessibilityNeed() { Name = "Mobility", }); ctx.AccessibilityNeeds.Add(new AccessibilityNeed() { Name = "Hearing", }); ctx.SaveChanges(); } }
public static UserProfileVm ToEntity(Right4MeDbContext context, UserProfileVm model, UserProfile entity) { entity.FirstName = model.FirstName; entity.LastName = model.LastName; var submittedIds = model.AccessibilityNeeds.Select(an => an.Id) .ToList(); var currentNeedIds = entity.AccessibilityNeeds.Select(e => e.AccessibilityNeed.Id) .ToList(); var toAddIds = submittedIds.Where(id => !currentNeedIds.Contains(id)).Distinct().ToList(); var toRemoveIds = currentNeedIds.Where(id => !submittedIds.Contains(id)).ToList(); foreach (var id in toRemoveIds) { var toRemoveList = entity.AccessibilityNeeds.Where(upan => upan.AccessibilityNeed.Id == id).ToList(); foreach (var toRemove in toRemoveList) { context.UserProfileAccessibilityNeeds.Remove(toRemove); entity.AccessibilityNeeds.Remove(toRemove); } } foreach (var id in toAddIds) { context.UserProfileAccessibilityNeeds.Add(new UserProfileAccessibilityNeed() { UserProfile = entity, AccessibilityNeed = context.AccessibilityNeeds.FirstOrDefault(n => n.Id == id) }); } context.SaveChanges(); // reload and return view model var result = context.Users .Include(u => u.AccessibilityNeeds) .ThenInclude(an => an.AccessibilityNeed) .FirstOrDefault(u => u.UserName == entity.UserName) .ToVm(); return(result); }
public JsonResult Post([FromBody] ProductVm model) { if (ModelState.IsValid) { var entity = _dataCtx.Products.FirstOrDefault(p => p.Id == model.Id) ?? new Product(); model.ToEntity(entity); if (entity.Id == 0) { _dataCtx.Products.Add(entity); } _dataCtx.SaveChanges(); return(Json(entity.ToVm())); } else { Response.StatusCode = 422; return(Json(ModelState.ToErrorsDictionary())); } }