public string InserirEmpenhoCancelamento(string key, string password, EmpenhoCancelamento entity, IEnumerable <IMes> months, Fonte source)
        {
            try
            {
                var result = DataHelperProdespEmpenho.Procedure_AnulacaoEmpenho(
                    key, password, entity, months, source)
                             ?? new ProdespEmpenho.Procedure_AnulacaoEmpenhoRecordType[] { };

                var resultItem = result.FirstOrDefault();

                if (HttpContext.Current != null)
                {
                    HttpContext.Current.Session["terminal"] = resultItem?.outTerminal;
                }

                if (!string.IsNullOrEmpty(resultItem?.outErro))
                {
                    throw new Exception($"Prodesp - {resultItem?.outErro}");
                }

                return(resultItem?.outNumAnulacaoEmp);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message.Contains("EntradaCICS_Fora")
                    ? "Erro na comunicação com WebService Prodesp."
                    : ex.Message);
            }
        }