Exemplo n.º 1
0
        public void SalvarItem(Item item)
        {
            try
            {
                if (_validarItem.Salvar(item))
                {
                    //nao remova
                    item.Condicionante = item.Condicionante ?? string.Empty;
                    Mensagem msg;

                    if (item.Id > 0)
                    {
                        msg = Mensagem.Item.EditarSucesso;
                    }
                    else
                    {
                        msg = Mensagem.Item.CadastrarSucesso;
                    }

                    GerenciadorTransacao.ObterIDAtual();

                    using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia())
                    {
                        bancoDeDados.IniciarTransacao();

                        int itemIdOriginal = item.Id;
                        _da.SalvarItem(item);
                        if (itemIdOriginal > 0)
                        {
                            List <int> idRoteirosComItem = _da.ObterRoteirosDeItem(item.Id, bancoDeDados);
                            AlterarSituacaoChecagensComRoteiros(idRoteirosComItem, 3, bancoDeDados);
                        }

                        item.Tid = GerenciadorTransacao.ObterIDAtual();

                        bancoDeDados.Commit();
                    }

                    Validacao.Add(msg);
                }
            }
            catch (Exception exc)
            {
                Validacao.AddErro(exc);
            }
        }