public void UpdateBalanco(AlertaBalanco obj)
        {
            var getProduto = _repository.Get(x => x.CdAlertaBalanco == obj.CdAlertaBalanco);

            getProduto.DtConcluido = DateTime.Now;
            getProduto.Status      = obj.Status;
            getProduto.Motivo      = obj.Motivo;

            if (obj.Status == 2)
            {
                var resultGeral    = _repositoryGeral.Get(x => x.CdProduto == obj.CdProduto);
                var resultInversao = _repositoryInversao.Get(x => x.CdProduto == obj.CdProduto && x.CdPessoaFilial == obj.CdPessoaFilial);

                if (resultInversao != null)
                {
                    _repositoryHistorico.Add(new AlertaHistorico
                    {
                        CdPessoaFilial       = resultInversao.CdPessoaFilial,
                        CdProduto            = resultInversao.CdProduto,
                        CdTipoAlerta         = resultInversao.CdTipoAlerta,
                        DataDoHistorico      = DateTime.Now,
                        DescricaoHistorico   = "Retorno de solicitação de balanço do produto, balanço feito",
                        StatusAlertaAnterior = resultInversao.AlertaStatus.nomeStatus,
                        StatusAlertaAtual    = "Concluido"
                    });
                    resultInversao.CdAlertaStatus = 3;
                    _repositoryInversao.Update(resultInversao);
                    resultGeral.Concluido++;
                    resultGeral.Analise--;
                    resultGeral.AlertaEmAberto--;
                    resultGeral.Severidade = resultGeral.Severidade - 3;
                    _repositoryGeral.Update(resultGeral);
                }

                var resultUltimoCusto = _repositoryUltimoCusto.Get(x => x.CdProduto == obj.CdProduto && x.CdPessoaFilial == obj.CdPessoaFilial);
                if (resultUltimoCusto != null)
                {
                    _repositoryHistorico.Add(new AlertaHistorico
                    {
                        CdPessoaFilial       = resultUltimoCusto.CdPessoaFilial,
                        CdProduto            = resultUltimoCusto.CdProduto,
                        CdTipoAlerta         = resultUltimoCusto.CdTipoAlerta,
                        DataDoHistorico      = DateTime.Now,
                        DescricaoHistorico   = "Retorno de solicitação de balanço do produto, balanço feito",
                        StatusAlertaAnterior = resultUltimoCusto.AlertaStatus.nomeStatus,
                        StatusAlertaAtual    = "Concluido"
                    });

                    resultUltimoCusto.CdAlertaStatus = 3;
                    _repositoryUltimoCusto.Update(resultUltimoCusto);
                    resultGeral.Concluido++;
                    resultGeral.Analise--;
                    resultGeral.AlertaEmAberto--;
                    resultGeral.Severidade = resultGeral.Severidade - 4;
                    _repositoryGeral.Update(resultGeral);
                }
            }

            else
            {
                var resultGeral    = _repositoryGeral.Get(x => x.CdProduto == obj.CdProduto);
                var resultInversao = _repositoryInversao.Get(x => x.CdProduto == obj.CdProduto && x.CdPessoaFilial == obj.CdPessoaFilial);

                if (resultInversao != null)
                {
                    _repositoryHistorico.Add(new AlertaHistorico
                    {
                        CdPessoaFilial       = resultInversao.CdPessoaFilial,
                        CdProduto            = resultInversao.CdProduto,
                        CdTipoAlerta         = resultInversao.CdTipoAlerta,
                        DataDoHistorico      = DateTime.Now,
                        DescricaoHistorico   = "Retorno de solicitação de balanço do produto, balanço não feito",
                        StatusAlertaAnterior = resultInversao.AlertaStatus.nomeStatus,
                        StatusAlertaAtual    = "Concluido"
                    });
                    resultInversao.CdAlertaStatus = 3;
                    _repositoryInversao.Update(resultInversao);
                    resultGeral.Concluido++;
                    resultGeral.Analise--;
                    resultGeral.AlertaEmAberto--;
                    resultGeral.Severidade = resultGeral.Severidade - 3;
                    _repositoryGeral.Update(resultGeral);
                }

                var resultUltimoCusto = _repositoryUltimoCusto.Get(x => x.CdProduto == obj.CdProduto && x.CdPessoaFilial == obj.CdPessoaFilial);
                if (resultUltimoCusto != null)
                {
                    _repositoryHistorico.Add(new AlertaHistorico
                    {
                        CdPessoaFilial       = resultUltimoCusto.CdPessoaFilial,
                        CdProduto            = resultUltimoCusto.CdProduto,
                        CdTipoAlerta         = resultUltimoCusto.CdTipoAlerta,
                        DataDoHistorico      = DateTime.Now,
                        DescricaoHistorico   = "Retorno de solicitação de balanço do produto, balanço não feito",
                        StatusAlertaAnterior = resultUltimoCusto.AlertaStatus.nomeStatus,
                        StatusAlertaAtual    = "Concluido"
                    });

                    resultUltimoCusto.CdAlertaStatus = 3;
                    _repositoryUltimoCusto.Update(resultUltimoCusto);
                    resultGeral.Concluido++;
                    resultGeral.Analise--;
                    resultGeral.AlertaEmAberto--;
                    resultGeral.Severidade = resultGeral.Severidade - 4;
                    _repositoryGeral.Update(resultGeral);
                }
            }
            _repository.Update(getProduto);
        }