public UmlDiagram CreateNew(string diagramName, string author) { if (diagramName == null) throw new ArgumentException("argument can not be null", "diagramName"); if (author == null) throw new ArgumentException("argument can not be null", "author"); // проверка уникальности имени таблицы осуществляется базой данных (unique поле) try { var diagram = new UmlDiagram() { Id = Guid.NewGuid(), Name = diagramName, Author = author }; diagram.CreateTime = diagram.LastEditTime = DateTime.Now; _diagramsContext.Diagrams.Add(diagram); _diagramsContext.SaveChanges(); return diagram; } catch (SqlException exception) { log.ErrorException("cannot create new diagram", exception); return null; } catch (DbUpdateException exception) { log.ErrorException("cannot create new diagram", exception); return null; } }
public void UpdateDiagram(UmlDiagram diagram) { _diagramsContext.Diagrams.Attach(diagram); _diagramsContext.Entry(diagram).State = EntityState.Modified; _diagramsContext.SaveChanges(); }