public int Save <TEntity>(TEntity entity, Func <TEntity, TEntity> getDbEntity = null, Action <TEntity, TEntity> onUpdate = null) where TEntity : class, IEntity { if (entity.IsNew()) { Create(); } else { Update(); } return(entity.Id); void Create() { context.Set <TEntity>().Add(entity); context.SaveChanges(); } void Update() { var dbEntity = getDbEntity != null?getDbEntity(entity) : context.Set <TEntity>().SingleOrDefault(x => x.Id == entity.Id); if (dbEntity == null) { entity.MakeNew(); Create(); } else { this.Update(dbEntity, entity, onUpdate); context.SaveChanges(); } } }
public Product Add(Product obj) { obj.Id = context.Products.Max(o => o.Id) + 1; Product prod = new Product { Code = obj.Code, Id = obj.Id, Name = obj.Name, Type = obj.Type }; context.Products.Add(prod); context.SaveChanges(); return(prod); }
public Resource Add(Resource obj) { obj.Id = this.context.Resources.Max(o => o.Id) + 1; Resource res = new Resource { Author = obj.Author, Description = obj.Description, Id = obj.Id, Image = obj.Image, Name = obj.Name, Type = obj.Type, Url = obj.Url }; context.Resources.Add(res); context.SaveChanges(); return(res); }
public User Add(User obj) { obj.Id = context.Users.Any() ? context.Users.Max(o => o.Id) + 1 : 0; obj.RoleId = 2; obj.Activated = true; User user = new User { Activated = obj.Activated, Email = obj.Email, Id = obj.Id, Name = obj.Name, Password = obj.Password, PasswordSalt = obj.PasswordSalt, RoleId = obj.RoleId, Surname = obj.Surname, Username = obj.Username }; context.Users.Add(user); context.SaveChanges(); return(user); }