public JsonResult Edit(DreamCustom model) { if (ModelState.IsValid) { CheckConnection(); Dream dreams = _db.Dreams.Where(x => x.ID == model.Id).FirstOrDefault(); dreams.Title = model.Title; dreams.Description = model.Description; dreams.CreateDate = model.CreateDate; dreams.Lat = model.Lat; dreams.Long = model.Long; dreams.isPublic = model.isPublic; dreams.Lang = model.Lang; _db.DreamAndCategories.RemoveRange(_db.DreamAndCategories.Where(x => x.DreamID == dreams.ID)); foreach (var cat in model.Categories) { dreams.DreamAndCategories.Add(new DreamAndCategory() { CategoryID = cat }); } foreach (var tagId in _db.DreamAndTags.Where(x => x.DreamID == dreams.ID).Select(x => x.TagID)) { _db.Tags.Find(tagId); _db.Tags.Remove(_db.Tags.Find(tagId)); } _db.DreamAndTags.RemoveRange(_db.DreamAndTags.Where(x => x.DreamID == dreams.ID)); foreach (var tag in model.Tags) { var _tag = _db.Tags.Add(new Tag() { Name = tag }); dreams.DreamAndTags.Add(new DreamAndTag() { Tag = _tag }); } _db.SaveChanges(); return(Json(true, JsonRequestBehavior.AllowGet)); } else { var errors = ModelState.Select(x => x.Value.Errors.Select(e => e.ErrorMessage)); return(Json(errors, JsonRequestBehavior.AllowGet)); } }
public JsonResult AddDreams(DreamCustom model) { CheckConnection(); if (ModelState.IsValid) { int User_Id = Convert.ToInt32(Session["UserId"]); var dream = new Dream(); dream.Title = model.Title; dream.Description = model.Description; dream.Lat = model.Lat; dream.Long = model.Long; dream.RealLat = model.Lat; dream.RealLong = model.Long; dream.isPublic = model.isPublic; dream.CreateDate = model.CreateDate; dream.UserID = User_Id; dream.Lang = model.Lang; foreach (var cat in model.Categories) { dream.DreamAndCategories.Add(new DreamAndCategory() { CategoryID = cat }); } foreach (var tag in model.Tags) { var _tag = _db.Tags.Add(new Tag() { Name = tag }); dream.DreamAndTags.Add(new DreamAndTag() { Tag = _tag }); } _db.Dreams.Add(dream); _db.SaveChanges(); return(Json(true, JsonRequestBehavior.AllowGet)); } else { var errors = ModelState.Select(x => x.Value.Errors.Select(e => e.ErrorMessage)); return(Json(errors, JsonRequestBehavior.AllowGet)); } }