Exemple #1
0
        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;
                }
            }
        }
Exemple #2
0
        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;
                }
            }
        }
Exemple #3
0
        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;
                }
            }
        }