public virtual void Insert(string user, params T[] entities) { var result = Validator.Validate(entities, ValidationTypes.Insert); if (!result.IsValid) { throw new ValidatorException(result.Errors); } using (var session = HelperRepository.OpenSession()) { var repo = session.GetRepository <T>(); try { session.StartTransaction(); foreach (var entity in entities) { entity.AddInverseReferences(user); entity.DataInclusao = DateTime.Now; entity.UsuarioInclusao = user; repo.Insert(entity); } session.CommitTransaction(); } catch (Exception) { session.RollBackTransaction(); throw; } } }
public virtual void Update(T entity, string user = "******") { entity.AddInverseReferences(user); var result = Validator.Validate(entity, ValidationTypes.Update); if (!result.IsValid) { throw new ValidatorException(result.Errors); } using (var session = HelperRepository.OpenSession()) { var repo = session.GetRepository <T>(); try { session.StartTransaction(); entity.DataAlteracao = DateTime.Now; entity.UsuarioAlteracao = user; repo.Update(entity); session.CommitTransaction(); } catch (Exception) { session.RollBackTransaction(); throw; } } }
public virtual void Delete(long id) { using (var session = HelperRepository.OpenSession()) { var repo = session.GetRepository <T>(); try { session.StartTransaction(); var entity = repo.Get(id); var result = Validator.Validate(entity, ValidationTypes.Delete); if (!result.IsValid) { throw new ValidatorException(result.Errors); } repo.Delete(entity); session.CommitTransaction(); } catch (Exception) { session.RollBackTransaction(); throw; } } }