public bool Deletar(int TipoRateioId) { if (!EhPermitidoDeletar()) { messageQueue.Add(Resource.Sigim.ErrorMessages.PrivilegiosInsuficientes, TypeMessage.Error); return(false); } if (TipoRateioId == 0) { messageQueue.Add(Resource.Sigim.ErrorMessages.NenhumRegistroEncontrado, TypeMessage.Error); return(false); } bool bolOK = true; var rateioAutomatico = new RateioAutomatico(); var listaRemocao = ListarPeloTipoRateio(TipoRateioId); foreach (var item in listaRemocao) { rateioAutomatico = new RateioAutomatico(); rateioAutomatico = rateioAutomaticoRepository.ObterPeloId(item.Id); try { rateioAutomaticoRepository.Remover(rateioAutomatico); bolOK = true; } catch (Exception) { bolOK = false; break; } } if (bolOK == true) { rateioAutomaticoRepository.UnitOfWork.Commit(); messageQueue.Add(Resource.Sigim.SuccessMessages.ExcluidoComSucesso, TypeMessage.Success); } else { rateioAutomaticoRepository.UnitOfWork.RollbackChanges(); messageQueue.Add(Resource.Sigim.ErrorMessages.ExclusaoErro, TypeMessage.Error); } return(bolOK); }
public bool Salvar(int TipoRateioId, List <RateioAutomaticoDTO> listaDto) { if (!EhPermitidoSalvar()) { messageQueue.Add(Resource.Sigim.ErrorMessages.PrivilegiosInsuficientes, TypeMessage.Error); return(false); } if (listaDto == null) { throw new ArgumentNullException("dto"); } if (ValidaSalvar(listaDto) == false) { return(false); } var rateioAutomatico = new RateioAutomatico(); var listaRemocao = ListarPeloTipoRateio(TipoRateioId); foreach (var item in listaRemocao) { rateioAutomatico = new RateioAutomatico(); rateioAutomatico = rateioAutomaticoRepository.ObterPeloId(item.Id); rateioAutomaticoRepository.Remover(rateioAutomatico); } bool bolOK = true; foreach (var item in listaDto) { rateioAutomatico = new RateioAutomatico(); rateioAutomatico.Id = null; rateioAutomatico.TipoRateioId = TipoRateioId; rateioAutomatico.CentroCustoId = item.CentroCusto.Codigo; rateioAutomatico.ClasseId = item.Classe.Codigo; rateioAutomatico.Percentual = item.Percentual; if (Validator.IsValid(rateioAutomatico, out validationErrors)) { rateioAutomaticoRepository.Inserir(rateioAutomatico); bolOK = true; } else { bolOK = false; break; } } if (bolOK == true) { rateioAutomaticoRepository.UnitOfWork.Commit(); messageQueue.Add(Resource.Sigim.SuccessMessages.SalvoComSucesso, TypeMessage.Success); } else { rateioAutomaticoRepository.UnitOfWork.RollbackChanges(); messageQueue.Add(Resource.Sigim.ErrorMessages.GravacaoErro, TypeMessage.Error); } return(bolOK); }