Exemple #1
0
        public virtual void anularConciliacionAutomatica(TB_Conciliacion objConciliacion)
        {
            ServiceMovimientoContable unSMC = new ServiceMovimientoContable();

            using (var context = new dbSG2000Entities())
            {
                using (TransactionScope transaction = new TransactionScope())
                {
                    var objConciliacionBD = (from c in context.TB_Conciliacion
                                             where c.IdConciliacion == objConciliacion.IdConciliacion
                                             select c).First <TB_Conciliacion>();

                    objConciliacionBD.TB_ConciliacionDetalle.ToList();

                    TB_ArchivoTarjeta un_TB_ArchivoTarjeta = (from c in context.TB_ArchivoTarjeta
                                                              where c.id == objConciliacion.idArchivo
                                                              select c).First();

                    // Eliminamos el detalle de la conciliacion
                    foreach (TB_ConciliacionDetalle item in objConciliacionBD.TB_ConciliacionDetalle)
                    {   // eliminamos los detalle existentes
                        // liberamos al cupon
                        TB_Cupones objCupon = (from c in context.TB_Cupones where item.nrCupon == c.nrCupon select c).First();


                        var vlMontoAcreditacion = Convert.ToDouble(objCupon.vlMontoAcreditacion);
                        objCupon.dtCobradoalCliente  = null;   // limpiamos la fecha de cobrado
                        objCupon.flCobradoalCliente  = false;  // desconciliamos el cupon lo liberamos de la conciliacion
                        objCupon.IdConciliacion      = null;
                        objCupon.vlMontoAcreditacion = null;
                        objCupon.dtFechaAcreditacion = null;

                        var nrFactura = objCupon.tpComprobanteCliente + "-" + objCupon.tpLetraCliente + "-" +
                                        objCupon.nrTalonarioCliente + "-" + objCupon.nrComprabanteCliente.Trim() + "/ Cupon: " +
                                        ExtensionString.EmptyIfNull(objCupon.nrCuponPosnet).Trim() + "/ Tarjeta: "
                                        + ExtensionString.EmptyIfNull(objCupon.nrTarjeta).Trim();

                        unSMC.GrabarAsientoContablePosdatados(vlMontoAcreditacion, objConciliacion.nrCajaAdm.Value,
                                                              objConciliacion.dsUsuario, objConciliacion.IdConciliacion.ToString(), context,
                                                              Anula_Viajes_con_Tarjeta_a_Bancos, Anula_conciliacion_de_Viajes, objCupon.nrLicencia.ToString(),
                                                              nrFactura, item.fechaPago.Value, objCupon.nrCupon, un_TB_ArchivoTarjeta.formato);
                    }
                    // Eliminamos el detalle de la conciliacion
                    //context.Database.ExecuteSqlCommand("DELETE FROM TB_ConciliacionDetalle where IdConciliacion= {0}", objConciliacionBD.IdConciliacion);

                    objConciliacionBD.dtModificacion = DateTime.Now;
                    objConciliacion.dsUsuario        = this.Usuario;
                    objConciliacion.nrCajaAdm        = Decimal.Parse(this.CajaAdm);
                    objConciliacionBD.flestado       = "E"; // Conciliacion Eliminada
                    context.SaveChanges();


                    // Procesamos el Movimientos posdatados
                    unSMC.procesarMovimientosPosdatados(Decimal.Parse(this.CajaAdm), this.Usuario);


                    transaction.Complete();
                }
            }
        }
Exemple #2
0
        public virtual void modificarConciliacionAutomatica(List <decimal> listaCuponesDesconciliados,
                                                            List <decimal> listaCuponesConciliados,
                                                            TB_Conciliacion objConciliacion)
        {
            ServiceMovimientoContable unSMC = new ServiceMovimientoContable();

            //una_conciliacion.TB_ConciliacionDetalle
            using (var context = new dbSG2000Entities())
            {
                // detalle conciliacion desconciliadas
                var listaDetalleDesconciliados = (from c in context.TB_ConciliacionDetalle
                                                  where listaCuponesDesconciliados.Contains(c.nrCupon) &&
                                                  c.IdConciliacion == objConciliacion.IdConciliacion
                                                  select c).ToList();;


                // cupones conciliacion desconciliadas
                var listaTB_CuponesDesconciliados = (from c in context.TB_Cupones   where listaCuponesDesconciliados.Contains(c.nrCupon) select c.flCobradoalCliente).ToList();;

                using (TransactionScope transaction = new TransactionScope())
                {
                    objConciliacion = (from c in context.TB_Conciliacion
                                       where c.IdConciliacion == objConciliacion.IdConciliacion
                                       select c).First <TB_Conciliacion>();

                    objConciliacion.dsUsuario      = this.Usuario;
                    objConciliacion.nrCajaAdm      = Decimal.Parse(this.CajaAdm);
                    objConciliacion.flestado       = "A";
                    objConciliacion.dtModificacion = DateTime.Now;

                    context.SaveChanges();

                    foreach (var detalleConciliacion in listaDetalleDesconciliados)
                    {
                        TB_Cupones un_Cupon = (from c in context.TB_Cupones
                                               where c.nrCupon == detalleConciliacion.nrCupon
                                               select c).First();

                        TB_ArchivoTarjeta un_TB_ArchivoTarjeta = (from c in context.TB_ArchivoTarjeta
                                                                  where c.id == objConciliacion.idArchivo
                                                                  select c).First();

                        var vlMontoAcreditacion = Convert.ToDouble(un_Cupon.vlMontoAcreditacion);
                        un_Cupon.dtCobradoalCliente  = null;    // limpiamos la fecha de cobrado
                        un_Cupon.flCobradoalCliente  = false;   // desconciliamos el cupon lo liberamos de la conciliacion
                        un_Cupon.IdConciliacion      = null;
                        un_Cupon.vlMontoAcreditacion = null;
                        un_Cupon.dtFechaAcreditacion = null;

                        context.SaveChanges();

                        var nrFactura = un_Cupon.tpComprobanteCliente + "-" + un_Cupon.tpLetraCliente + "-" + un_Cupon.nrTalonarioCliente + "-" + un_Cupon.nrComprabanteCliente.Trim() + "/ Cupon: " + ExtensionString.EmptyIfNull(un_Cupon.nrCuponPosnet).Trim() + "/ Tarjeta: " + ExtensionString.EmptyIfNull(un_Cupon.nrTarjeta).Trim();

                        // GrabarAsientoContable(TotalConciliacionAnulado, Decimal.Parse(this._cajactiva), this._usuarioActivo,
                        // objConciliacion, context, Anula_Viajes_con_Tarjeta_a_Bancos, Anula_conciliacion_de_Viajes);

                        unSMC.GrabarAsientoContablePosdatados(vlMontoAcreditacion, objConciliacion.nrCajaAdm.Value,
                                                              objConciliacion.dsUsuario, objConciliacion.IdConciliacion.ToString(), context, Anula_Viajes_con_Tarjeta_a_Bancos, Anula_conciliacion_de_Viajes, un_Cupon.nrLicencia.ToString(), nrFactura, detalleConciliacion.fechaPago.Value, un_Cupon.nrCupon, un_TB_ArchivoTarjeta.formato);

                        context.TB_ConciliacionDetalle.Remove(detalleConciliacion);
                    }

                    context.SaveChanges();

                    // Procesamos el Movimientos posdatados
                    unSMC.procesarMovimientosPosdatados(Decimal.Parse(this.CajaAdm), this.Usuario);

                    transaction.Complete();


                    return;
                    //return listadeViajesaConciliar.ToList();
                }

                // desafectar el cupon flCobradoalCliente = false
                // desafectar el cupon dtCobradoalCliente = null
                // grabar la tabla de Movimientos en forma de anulacion
            }
        }
Exemple #3
0
        private void PrintDocumment(string OndeGerar, string ColetaTXT, int CodVendedor, string ColetaPDFAenviar)
        {
            string enviaMensagem = "";
            int    stepsEmail    = 0;
            string Motivo        = "";

            Seller seller = new Seller(CodVendedor);

            seller.GetSeller();

            try
            {
                if (Config == null)
                {
                    Config.GetConfig();
                }

                string sourceFile = Config.SourcePath + @"\" + ColetaPDFAenviar;


                string targetFile = @"C:\Aenviar\" + Order.Customer.CnpjCpf.Replace(".", "").Replace("-", "").Replace("/", "").Replace(" ", "") +
                                    @"\" + Order.OrderNumber + "-" + DateTime.Now.Hour.ToString("00") + "-" +
                                    DateTime.Now.Minute.ToString("00") + "-" + DateTime.Now.Second.ToString("00") + ".pdf";

                string existeCaminhoDestino = @"C:\Aenviar\" + Order.Customer.CnpjCpf.Replace(".", "").Replace("-", "").Replace("/", "").Replace(" ", "");
                if (!Directory.Exists(existeCaminhoDestino))
                {
                    Directory.CreateDirectory(existeCaminhoDestino);
                }

                //============== imprime na impressora 1 (Recepção) ======================================================================================
                if (OndeGerar == "C" || OndeGerar == "Q" || OndeGerar == "Y")
                {
                    if (File.Exists(targetFile))
                    {
                        File.Delete(targetFile);
                    }
                    try
                    {
                        File.Move(sourceFile, targetFile);
                        Console.WriteLine();
                        Console.WriteLine("Movido o PDF para a pasta do Cliente {0} ", Order.Customer.CnpjCpf);
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine(sourceFile + " ++++> " + e.Message);
                        return;
                    }
                    System.Threading.Thread.Sleep(1500);
                    Console.WriteLine("Aguarde imprimindo coleta...{0}", ColetaPDFAenviar);
                    Process proc = new Process();
                    proc.StartInfo.CreateNoWindow = false;
                    proc.StartInfo.WindowStyle    = ProcessWindowStyle.Hidden;
                    proc.StartInfo.Verb           = "print";
                    proc.StartInfo.FileName       = targetFile;
                    proc.Start();
                    proc.WaitForInputIdle();
                    proc.CloseMainWindow();
                    proc.Close();
                    Console.WriteLine();
                    Console.WriteLine("Enviado o Arquivo {0} para impressora.", ColetaPDFAenviar);
                }
                else
                {
                    //================== move para o aenviar a coleta do vendedor =================================================================================
                    //System.Threading.Thread.Sleep(2000);
                    if (File.Exists(targetFile))
                    {
                        File.Delete(targetFile);
                    }
                    try
                    {
                        File.Move(sourceFile, targetFile);
                        Console.WriteLine();
                        Console.WriteLine("Movido o PDF para a pasta do Cliente {0} ", Order.Customer.CnpjCpf);
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine(sourceFile + " ++++> " + e.Message);
                        return;
                    }


                    if (IsValidEmail(Order.Customer.Email))
                    {
                        if (Order.Customer.Contact.Trim() == "")
                        {
                            Order.Customer.Contact = "Comprador";
                        }
                        if (Order.Customer.Email.Trim() == "")
                        {
                            Order.Customer.Email = "*****@*****.**";
                        }

                        string   Subject = Order.OrderNumber + " " + Order.Customer.Name;
                        string[] Note1   = new string[3];
                        int      i       = 0;
                        foreach (Notes note in Order.Notes)
                        {
                            if (note.Name == "Obs")
                            {
                                Note1[i] = note.Value;
                                i++;
                            }
                        }
                        enviaMensagem = Config.EmailBody + "<br /><br />" +
                                        Note1[0] +
                                        "<br /><br />" +
                                        Note1[1] +
                                        "Atenciosamente," + "<br />" +
                                        seller.Name + "<br />" +
                                        "Departamento de Vendas." + "<br />" +
                                        seller.Email + "<br />" +
                                        "Tel.: " +
                                        seller.Phone +
                                        " (31) 2101.6000  / Fax: (31) 2101.6010<br />" +
                                        "Av. Bias Fortes, 1853 | B. Barro Preto | Belo Horizonte - MG | Cep 30170-012 ";

                        // envia a mensagem para o cliente
                        SendMail sendMail = new SendMail(seller.Email, enviaMensagem, Order.Customer.Email, Subject, targetFile, seller.Email, seller.Password, Priority.Normal);
                        stepsEmail = sendMail.Mailing() ? 1 : 0;

                        // envia uma copia para a conta [email protected]
                        sendMail = new SendMail(
                            seller.Email,
                            enviaMensagem,
                            emailCustomer: "*****@*****.**",
                            Subject,
                            targetFile,
                            seller.Name,
                            seller.Password,
                            Priority.Normal
                            );
                        stepsEmail = sendMail.Mailing() ? 2 : 0;

                        // envia confirmacao para o vendedor de mensagem enviada OK
                        Subject       = "OK - " + Order.OrderNumber + " " + Order.Customer.Name + " " + DateTime.Now.ToString();
                        enviaMensagem = Order.OrderNumber + "<br />" + Order.Customer.CnpjCpf + "-" + Order.Customer.Name
                                        + "<br /><b>Enviada com sucesso para:</b><br />" + Order.Customer.Email
                                        + "<br />Em: " + DateTime.Now.ToString() + ".<br />" +
                                        Note1 + ".";

                        sendMail = new SendMail(
                            emailAccount: Config.EmailAccount,
                            emailBody: enviaMensagem,
                            emailCustomer: seller.Email,
                            Subject,
                            targetFile,
                            sellerName: "Vendas",
                            password: Config.Password,
                            Priority.Normal
                            );
                        stepsEmail = sendMail.Mailing() ? 3 : 0;

                        Console.WriteLine();
                        Console.WriteLine(Subject);
                    }
                    else
                    {
                        //caso o email do cliente nao seja valido envia um email para o vendedor avisando
                        string Subject = "((ERRO)) - " + Order.OrderNumber + " " + Order.Customer.Name + " " + DateTime.Now.ToString();
                        enviaMensagem = Order.OrderNumber + "<br />" + Order.Customer.CnpjCpf + "-" + Order.Customer.Name + " - Vendedor: " + Order.SalesPerson
                                        + "<br /><b>NAO enviada para:</b><br />" + Order.Customer.Email + "<br />Motivo: <b>Email Invalido.</b>" +
                                        "<br />Em: " + DateTime.Now.ToString() + ".";
                        SendMail sendMail = new SendMail(
                            emailAccount: Config.EmailAccount,
                            emailBody: enviaMensagem,
                            emailCustomer: seller.Email,
                            Subject,
                            targetFile,
                            sellerName: "Vendas",
                            password: Config.Password,
                            Priority.High
                            );
                        stepsEmail = sendMail.Mailing() ? 3 : 0;
                    }
                }
            }
            catch (Exception e)
            {
                string Subject = "((ERRO)) - " + Order.OrderNumber + " " + Order.Customer.Name + " " + DateTime.Now.ToString();
                enviaMensagem = Order.OrderNumber + "<br />" + Order.Customer.CnpjCpf + "-" + Order.Customer.Name + " - Vendedor: " + Order.SalesPerson
                                + "<br /><b>NAO enviada para:</b><br />" + Order.Customer.Email + "<br />Motivo: " + e.Message +
                                "<br />Em: " + DateTime.Now.ToString() + ".";

                SendMail sendMail = new SendMail(
                    emailAccount: Config.EmailAccount,
                    emailBody: enviaMensagem,
                    emailCustomer: seller.Email,
                    Subject,
                    "",
                    sellerName: "Vendas",
                    password: Config.Password,
                    Priority.High
                    );
                stepsEmail = sendMail.Mailing() ? 4 : 0;

                Motivo = e.Message;
            }
            finally
            {
                // ========= copia o arquivo txt para a pasta impressos
                string sourceFile = Path.Combine(Config.SourcePath, ColetaTXT);
                string destFile   = Path.Combine(Config.TargetPath, ColetaTXT);
                try
                {
                    if (!Directory.Exists(Config.TargetPath))
                    {
                        Directory.CreateDirectory(Config.TargetPath);
                    }
                    if (File.Exists(destFile))
                    {
                        File.Delete(destFile);
                    }
                    File.Move(sourceFile, destFile);
                    Console.WriteLine("Movido arquivo de {0} para {1}", sourceFile, destFile);
                }
                catch (Exception e)
                {
                    Console.WriteLine(sourceFile + " >>> " + e.Message);
                }

                if (stepsEmail != 0)
                {
                    //gera txt com os dados do envio.
                    StreamWriter s       = File.AppendText(Config.TargetPath + @"email.txt");
                    string       cnpjCpf = (Order.Customer.CnpjCpf.Replace(".", "").Replace("-", "").Replace("/", "").Replace(" ", "") + "00").Trim();
                    if (cnpjCpf.Length == 13)
                    {
                        cnpjCpf = cnpjCpf + "000";
                    }

                    string linha = "|" + CodVendedor.ToString("0000") + cnpjCpf + Order.OrderNumber.ToString("0000") + ExtensionString.Completing(Order.Customer.Email.Trim(), 50, ' ') +
                                   DateTime.Now.ToString("ddMMyy") + stepsEmail + DateTime.Now.ToString("HHmmss") + "00";

                    if (stepsEmail == 1)
                    {
                        linha = linha + ExtensionString.Completing("Enviada com sucesso para: " + ExtensionString.Completing(Order.Customer.Email.Trim(), 50, ' ') + " " +
                                                                   cnpjCpf + "-" + Order.Customer.Name.Trim() + " Em: " + DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss"), 100, '=');
                    }

                    else
                    {
                        linha = linha + ExtensionString.Completing("Motivo: " + Motivo + " " +
                                                                   cnpjCpf + "-" + Order.Customer.Name.Trim() + " Em: " + DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss"), 100, '=');
                    }
                    s.WriteLine(linha);
                    s.Close();
                }
            }
        }
Exemple #4
0
        public virtual void agregarConciliacion(List <TB_ConciliacionDetalleEx> plistaDetalleConciliacion, TB_Conciliacion objConciliacion)
        {
            ServiceMovimientoContable unSMC = new ServiceMovimientoContable();


            try
            {
                using (var context = new dbSG2000Entities())
                {
                    using (TransactionScope transaction = new TransactionScope())
                    {
                        objConciliacion.dsUsuario      = this.Usuario;
                        objConciliacion.nrCajaAdm      = Decimal.Parse(this.CajaAdm);
                        objConciliacion.flestado       = "A";
                        objConciliacion.dtModificacion = DateTime.Now;

                        context.TB_Conciliacion.Add(objConciliacion);
                        context.SaveChanges();

                        foreach (var detalleConciliacion in plistaDetalleConciliacion)
                        {
                            TB_Cupones un_Cupon = (from c in context.TB_Cupones
                                                   where c.nrCupon == detalleConciliacion.nrCupon
                                                   select c).First();

                            TB_ArchivoTarjetaDetalle un_TB_ArchivoTarjetaDetalle = (from c in context.TB_ArchivoTarjetaDetalle
                                                                                    where c.Id == detalleConciliacion.IdArchivoTarjetaDetalle
                                                                                    select c).First();

                            TB_ArchivoTarjeta un_TB_ArchivoTarjeta = (from c in context.TB_ArchivoTarjeta
                                                                      where c.id == objConciliacion.idArchivo
                                                                      select c).First();

                            if (detalleConciliacion.fechaPago.Value.Subtract(detalleConciliacion.dtCupon).TotalDays >= this.CONCILIACION_DIF_DIAS_FECHA_PAGO_Y_CUPON)
                            {
                                detalleConciliacion.FechaPagoLicenciatario = detalleConciliacion.dtCupon.AddDays(this.CONCILIACION_CANT_DIAS_COBRO_TARJETA_CREDITO);
                            }
                            else
                            {
                                detalleConciliacion.FechaPagoLicenciatario = detalleConciliacion.dtCupon.AddDays(this.CONCILIACION_CANT_DIAS_COBRO_TARJETA_DEBITO);
                            }

                            un_Cupon.dtCobradoalCliente  = detalleConciliacion.FechaPagoLicenciatario;                   // muy importante para habilitar el pago al licenciatario
                            un_Cupon.flCobradoalCliente  = true;                                                         // Marca de cociliacion
                            un_Cupon.dtFechaAcreditacion = detalleConciliacion.fechaPago;                                // Fecha en que visa o master pagan al banco

                            un_Cupon.vlMontoAcreditacion = System.Convert.ToDouble(un_TB_ArchivoTarjetaDetalle.importe); // importe enviado por la Tarjeta


                            detalleConciliacion.IdConciliacion = objConciliacion.IdConciliacion;
                            context.TB_ConciliacionDetalle.Add(detalleConciliacion.ToTB_ConciliacionDetalle());

                            context.SaveChanges();

                            un_Cupon.IdConciliacion = detalleConciliacion.IdConciliacion; // Asociamos la conciliacion al cupon

                            var nrFactura = un_Cupon.tpComprobanteCliente + "-" + un_Cupon.tpLetraCliente + "-" + un_Cupon.nrTalonarioCliente + "-" + un_Cupon.nrComprabanteCliente.Trim() + "/ Cupon: " + ExtensionString.EmptyIfNull(un_Cupon.nrCuponPosnet).Trim() + "/ Tarjeta: " + ExtensionString.EmptyIfNull(un_Cupon.nrTarjeta).Trim();

                            unSMC.GrabarAsientoContablePosdatados(un_Cupon.vlMontoAcreditacion.Value, objConciliacion.nrCajaAdm.Value,
                                                                  objConciliacion.dsUsuario, objConciliacion.IdConciliacion.ToString(), context, Conciliacion_de_Viajes, Viajes_con_Tarjeta_a_Bancos, un_Cupon.nrLicencia.ToString(), nrFactura, detalleConciliacion.fechaPago.Value, un_Cupon.nrCupon, un_TB_ArchivoTarjeta.formato);
                        }

                        context.SaveChanges();


                        // Procesamos el Movimientos posdatados
                        unSMC.procesarMovimientosPosdatados(Decimal.Parse(this.CajaAdm), this.Usuario);

                        transaction.Complete();



                        return;

                        //return listadeViajesaConciliar.ToList();
                    }
                } // Cierre using
            }
            catch (DbEntityValidationException e)
            {
                Console.WriteLine(e);
                Trace.TraceError(e.Message);
                foreach (var eve in e.EntityValidationErrors)
                {
                    Trace.TraceError("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:",
                                     eve.Entry.Entity.GetType().Name, eve.Entry.State);

                    foreach (var ve in eve.ValidationErrors)
                    {
                        Trace.TraceError("- Property: \"{0}\", Error: \"{1}\"",
                                         ve.PropertyName, ve.ErrorMessage);
                    }
                }
                throw;
            }
        }
Exemple #5
0
        } // fin de  modificarConciliacionAutomatica

        public override void anularConciliacion(TB_Conciliacion objConciliacion)
        {
            ServiceMovimientoContable unSMC = new ServiceMovimientoContable();

            try
            {
                using (var context = new dbSG2000Entities())
                {
                    using (TransactionScope transaction = new TransactionScope())
                    {
                        var objConciliacionBD = (from c in context.TB_Conciliacion
                                                 where c.IdConciliacion == objConciliacion.IdConciliacion
                                                 select c).First <TB_Conciliacion>();

                        objConciliacionBD.TB_ConciliacionDetalle.ToList();


                        // Eliminamos el detalle de la conciliacion
                        foreach (TB_ConciliacionDetalle item in objConciliacionBD.TB_ConciliacionDetalle)
                        { // eliminamos los detalle existentes
                          // liberamos al cupon
                            TB_Cupones objCupon = (from c in context.TB_Cupones where item.nrCupon == c.nrCupon select c).First();


                            var vlMontoAcreditacion = Convert.ToDouble(objCupon.vlMontoAcreditacion);
                            objCupon.dtCobradoalCliente  = null;  // limpiamos la fecha de cobrado
                            objCupon.flCobradoalCliente  = false; // desconciliamos el cupon lo liberamos de la conciliacion
                            objCupon.IdConciliacion      = null;
                            objCupon.vlMontoAcreditacion = null;
                            objCupon.dtFechaAcreditacion = null;

                            var nrFactura = objCupon.tpComprobanteCliente + "-" + objCupon.tpLetraCliente + "-" +
                                            objCupon.nrTalonarioCliente + "-" + objCupon.nrComprabanteCliente.Trim() + "/ Cupon: " +
                                            ExtensionString.EmptyIfNull(objCupon.nrCuponPosnet).Trim() + "/ Tarjeta: "
                                            + ExtensionString.EmptyIfNull(objCupon.nrTarjeta).Trim();

                            unSMC.GrabarAsientoContablePosdatados(vlMontoAcreditacion, objConciliacion.nrCajaAdm.Value,
                                                                  objConciliacion.dsUsuario, objConciliacion.IdConciliacion.ToString(), context,
                                                                  Anula_Viajes_con_Tarjeta_a_Bancos, Anula_conciliacion_de_Viajes, objCupon.nrLicencia.ToString(),
                                                                  nrFactura, item.fechaPago.Value, objCupon.nrCupon, "Manual");
                        }
                        // Eliminamos el detalle de la conciliacion
                        //context.Database.ExecuteSqlCommand("DELETE FROM TB_ConciliacionDetalle where IdConciliacion= {0}", objConciliacionBD.IdConciliacion);

                        objConciliacionBD.dtModificacion = DateTime.Now;
                        objConciliacion.dsUsuario        = this.Usuario;
                        objConciliacion.nrCajaAdm        = Decimal.Parse(this.CajaAdm);
                        objConciliacionBD.flestado       = "E"; // Conciliacion Eliminada
                        context.SaveChanges();


                        // Procesamos el Movimientos posdatados
                        unSMC.procesarMovimientosPosdatados(Decimal.Parse(this.CajaAdm), this.Usuario);


                        transaction.Complete();
                    }
                }
            }
            catch (DbEntityValidationException e)
            {
                foreach (var eve in e.EntityValidationErrors)
                {
                    Console.WriteLine("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:",
                                      eve.Entry.Entity.GetType().Name, eve.Entry.State);
                    Trace.TraceError("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:",
                                     eve.Entry.Entity.GetType().Name, eve.Entry.State);
                    foreach (var ve in eve.ValidationErrors)
                    {
                        Console.WriteLine("- Property: \"{0}\", Error: \"{1}\"",
                                          ve.PropertyName, ve.ErrorMessage);
                        Trace.TraceError("- Property: \"{0}\", Error: \"{1}\"",
                                         ve.PropertyName, ve.ErrorMessage);
                    }
                }
                throw;
            }
        }  // FIN anularConciliacionAutomatica