public void CreateOrUpdate(BlogBindingModel model) { using (var context = new DatabaseContext()) { Blog element; element = context.Blogs.FirstOrDefault(rec => rec.Name == model.Name && rec.Id != model.Id); if (element != null) { throw new Exception("Блог с таким названием уже существует"); } if (model.Id.HasValue) { element = context.Blogs.FirstOrDefault(rec => rec.Id == model.Id); if (element == null) { throw new Exception("Элемент не найден"); } } else { element = new Blog(); context.Blogs.Add(element); } element.Author = model.Author; element.CreationDate = model.CreationDate; element.Name = model.Name; context.SaveChanges(); } }
public List <BlogViewModel> Read(BlogBindingModel model) { using (var context = new DatabaseContext()) { return(context.Blogs .Where(rec => model == null || rec.Id == model.Id) .Select(rec => new BlogViewModel { Id = rec.Id, Name = rec.Name, Author = rec.Author, CreationDate = rec.CreationDate }) .ToList()); } }
public void Delete(BlogBindingModel model) { using (var context = new DatabaseContext()) { var element = context.Blogs.FirstOrDefault(rec => rec.Id == model.Id); if (element != null) { context.Blogs.Remove(element); context.SaveChanges(); } else { throw new Exception("Элемент не найден"); } } }
public IHttpActionResult Put(int id, [FromBody] BlogBindingModel model) { try { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (model != null) { using (BloggingDBEntities entities = new BloggingDBEntities()) { var entity = entities.Blogs.FirstOrDefault(b => b.Id == id); if (entity == null) { return(Content(HttpStatusCode.NotFound, "Blog with id = " + id.ToString() + " not found to update")); } else { entity.Title = model.Title; entity.Body = model.Body; entity.Location = model.Location; entity.UpdatedOn = DateTime.Now; entity.UpdatedBy = User.Identity.GetUserName(); if (model.IsActive != null) { entity.IsActive = model.IsActive; } entities.SaveChanges(); var blogViewModel = BlogModelMapper.GetBlogView(entity); return(Ok(blogViewModel)); } } } else { return(Content(HttpStatusCode.BadRequest, "Data is required")); } } catch (Exception ex) { return(Content(HttpStatusCode.BadRequest, ex)); } }
public IHttpActionResult Post([FromBody] BlogBindingModel model) { try { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (model != null) { var blog = new Blog() { Title = model.Title, Body = model.Body, Location = model.Location }; blog.CreatedBy = User.Identity.GetUserName(); blog.CreatedOn = DateTime.Now; if (blog.IsActive != true) { blog.IsActive = false; } using (BloggingDBEntities entities = new BloggingDBEntities()) { entities.Blogs.Add(blog); entities.SaveChanges(); var blogViewModel = BlogModelMapper.GetBlogView(blog); return(Created(new Uri(Request.RequestUri + blog.Id.ToString()), blogViewModel)); } } else { return(Content(HttpStatusCode.BadRequest, "Data is required")); } } catch (Exception ex) { return(Content(HttpStatusCode.BadRequest, ex)); } }