public bool Salvar(BancoDTO dto) { if (!EhPermitidoSalvar()) { messageQueue.Add(Resource.Sigim.ErrorMessages.PrivilegiosInsuficientes, TypeMessage.Error); return(false); } if (dto == null) { throw new ArgumentNullException("dto"); } if (!dto.Id.HasValue) { messageQueue.Add(string.Format(Resource.Sigim.ErrorMessages.CampoObrigatorio, "Código do banco"), TypeMessage.Error); return(false); } if (dto.Id.Value == 0) { messageQueue.Add(string.Format(Resource.Sigim.ErrorMessages.CampoInvalido, "Código do banco"), TypeMessage.Error); return(false); } if (string.IsNullOrEmpty(dto.Nome)) { messageQueue.Add(string.Format(Resource.Sigim.ErrorMessages.CampoObrigatorio, "Descrição"), TypeMessage.Error); return(false); } bool novoItem = false; var banco = bancoRepository.ObterPeloId(dto.Id); if (banco == null) { banco = new Banco(); novoItem = true; } banco.Id = dto.Id; banco.Nome = dto.Nome; banco.Ativo = true; banco.NumeroRemessa = dto.NumeroRemessa; banco.NumeroRemessaPagamento = dto.NumeroRemessaPagamento; banco.InterfaceEletronica = dto.InterfaceEletronica; if (Validator.IsValid(banco, out validationErrors)) { if (novoItem) { bancoRepository.Inserir(banco); } else { bancoRepository.Alterar(banco); } bancoRepository.UnitOfWork.Commit(); messageQueue.Add(Resource.Sigim.SuccessMessages.SalvoComSucesso, TypeMessage.Success); return(true); } else { messageQueue.AddRange(validationErrors, TypeMessage.Error); } return(false); }