Ejemplo n.º 1
0
 // Conciliar
 public void procesarMovimientosPosdatados(decimal pnrCaja, string pdsUsuario)
 {
     using (var context = new dbSG2000Entities())
     {
         try
         {
             // La logica de la conciliación queda suscripta en el SP
             spu_procesarMovimientosPosdatados_Result resul = context.spu_procesarMovimientosPosdatados(pnrCaja, pdsUsuario).First();
             // verificar el resultado que devuelve el STORE
             Console.WriteLine(resul.resultado + " " + resul.descripcion_error);
         }
         catch (EntityCommandCompilationException e)
         {
             Console.WriteLine(e.Message);
             throw;
         }
     }
 } // FIN DE clase ServiceMovimientoContable
Ejemplo n.º 2
0
 // Conciliar
 public void ConcilialiarAutomaticaticamente(TB_ArchivoTarjeta unTB_ArchivoTarjeta)
 {
     using (var context = new dbSG2000Entities())
     {
         try
         {
             // La logica de la conciliación queda suscripta en el SP
             spu_conciliarAutomaticamente_Result resul = context.spu_conciliarAutomaticamente(unTB_ArchivoTarjeta.id).First();
             // verificar el resultado que devuelve el STORE
             Console.WriteLine(resul.resultado + " " + resul.descripcion_error);
         }
         catch (EntityCommandCompilationException e)
         {
             Console.WriteLine(e.Message);
             throw;
         }
     }
 } // FIN DE ConcilialiarAutomaticaticamente
Ejemplo n.º 3
0
        //// fin agregar conciliacion

        // Tipar para crear WEB SERVICE
        /// <summary>
        ///
        /// </summary>
        /// <param name="una_conciliacion"></param>
        /// <returns></returns>
        public override IEnumerable <Object> ObtenerDetalleConciliacion(long pId)
        {
            List <Decimal> ids_cupones = new List <Decimal>();

            //una_conciliacion.TB_ConciliacionDetalle
            using (var context = new dbSG2000Entities())
            {
                // Falta agregar filtro de fechas
                var una_conciliacionDetalle = (from c in context.TB_ConciliacionDetalle
                                               where c.IdConciliacion == pId
                                               select c);

                foreach (var item in una_conciliacionDetalle)
                {
                    ids_cupones.Add(item.nrCupon);
                }

                var listadeViajesaConciliar1 = (from c in context.TB_Cupones join x in  context.TB_ConciliacionDetalle
                                                on c.nrCupon equals x.nrCupon
                                                where  (ids_cupones.Contains(c.nrCupon) && x.IdConciliacion == pId)
                                                select new
                {
                    ID = c.nrCupon,
                    FECHA = c.dtCupon,
                    LICENCIA = c.nrLicencia,
                    DOC = c.tpComprobanteCliente,
                    LETRA = c.tpLetraCliente,
                    PDV = c.nrTalonarioCliente,
                    NRO = c.nrComprabanteCliente,
                    MONTO = c.vlMontoCupon,
                    EMPRESA = c.nmEmpresaTarjeta,
                    TARJETA = c.nrTarjeta,
                    DOCU = c.tpDocTarjeta,
                    DOCU_NRO = c.nrDocTarjeta,
                    COMPENSADO = c.flCompensado == true ? "SI" : "NO",
                    FECHA_ACREDITACION = x.fechaPago
                });

                // 'nrDocTarjeta' , 'nrTarjeta' , 'tpDocTarjeta'

                return(listadeViajesaConciliar1.ToList());
                //return listadeViajesaConciliar.ToList();
            }
        } // Fin de obtener detalle conciliacion
Ejemplo n.º 4
0
        private void FrmConciliaciones_Load(object sender, EventArgs e)
        {
            using (var context = new dbSG2000Entities())
            {
                this.statusbar_bd.Text       = "Base de datos: " + context.Database.Connection.Database;
                this.statusbar_servidor.Text = "Base de datos: " + context.Database.Connection.DataSource;
                this.statusbar_usuario.Text  = "usuario: " + serviceModel.Usuario;
                this.statusbar_nrocaja.Text  = "Caja Nro: " + serviceModel.CajaAdm;
                this.statusbar_version.Text  = "Versión: " + typeof(SGLibrary.ServiceModel).Assembly.GetName().Version.ToString();
            }


            botonesForm1.configMododeEdicion(ABMBotonesForm.FIND);
            this.panelcarga.Visible    = false;
            this.panelbusqueda.Visible = true;
            this.fechadesde.Value      = DateTime.Now.AddDays(-30).Date;
            this.fechahasta.Value      = DateTime.Now.Date;
            this.botonesForm1.InicializarFindBoton();
        }
Ejemplo n.º 5
0
        } // cierre agregarPresentacionCAI

        public override void AnularRegistro(object unRegistro)
        {
            TB_PresentacionesCAI objPresentacion = (TB_PresentacionesCAI)unRegistro;

            using (var context = new dbSG2000Entities())
            {
                using (TransactionScope transaction = new TransactionScope())
                {
                    var objPresentacionBD = (from c in context.TB_PresentacionesCAI
                                             where c.IdPresentacion == objPresentacion.IdPresentacion
                                             select c).First <TB_PresentacionesCAI>();

                    objPresentacionBD.dtModificacion = DateTime.Now;
                    objPresentacionBD.flestado       = "E"; // Conciliacion Eliminada
                    context.SaveChanges();
                    transaction.Complete();
                }
            }
        }
Ejemplo n.º 6
0
        public TB_Conciliacion obtenerConciliacion(String pId)
        {
            Int32 id = Int32.Parse(pId);

            using (var context = new dbSG2000Entities())
            {
                // Falta agregar filtro de fechas
                TB_Conciliacion una_conciliacion = (from c in context.TB_Conciliacion
                                                    where c.IdConciliacion == id
                                                    select c)
                                                   .First();
                // Should Load the Details
                una_conciliacion.TB_ConciliacionDetalle.ToList();
                if (una_conciliacion.idArchivo != null)
                {
                    una_conciliacion.TB_ArchivoTarjeta.ToString();
                }

                return(una_conciliacion);
            }
        }
Ejemplo n.º 7
0
        } // FIN DE ConcilialiarAutomaticaticamente

        public IEnumerable <Object> ObtenerViajesConciliadosAutomaticamente(Decimal pIdArchivo)
        {
            using (var context = new dbSG2000Entities())
            {
                var listadeViajesaConciliar1 = (from c in context.TB_Cupones
                                                join x in context.TB_ArchivoTarjetaDetalle
                                                on c.nrCupon equals x.nrCupon      // Join entre las dos tablas
                                                where (c.flCobradoalCliente == false) && (c.flCompensado == false) &&
                                                (c.flAnulado == false)
                                                //&& (new[] { "Tarjeta de Crédito", "Tarjeta de Débito"}.Contains(c.tpCupon))
                                                && (x.idarchivo == pIdArchivo) // filtramos por un archivo
                                                select new
                {
                    ID = c.nrCupon,
                    FECHA = c.dtCupon,
                    LICENCIA = c.nrLicencia,
                    DOC = c.tpComprobanteCliente,
                    LETRA = c.tpLetraCliente,
                    PDV = c.nrTalonarioCliente,
                    NRO = c.nrComprabanteCliente,
                    MONTO = c.vlMontoCupon,
                    MONTO_ARCHI = x.importe,
                    EMPRESA = c.nmEmpresaTarjeta,
                    TARJETA = c.nrTarjeta,
                    TARJETA_ARCHI = x.tarjeta,
                    CUPON = c.nrCuponPosnet != null ? c.nrCuponPosnet : "0",
                    CUPON_ARCHI = x.comprobante,
                    NIVEL = x.nrNivelConciliacion,
                    IdArchivoTarjetaDetalle = x.Id,
                    FECHA_PAGO = x.fechaPago.Value
                }).OrderBy(c => c.FECHA);

                // 'nrDocTarjeta' , 'nrTarjeta' , 'tpDocTarjeta'
                Trace.TraceInformation(listadeViajesaConciliar1.ToString());
                return(listadeViajesaConciliar1.ToList());
                //return listadeViajesaConciliar.ToList();
            }
        }
Ejemplo n.º 8
0
 public void ActualizarTarifas(List <TarifasXLS> listaTarifas)
 {
     using (var context = new dbSG2000Entities())
     {
         foreach (TarifasXLS p in listaTarifas)
         {
             // realizar busqueda
             var viajedestino = (from c in context.TB_Productos where c.cdProducto == p.Codigo select c).FirstOrDefault();
             if (viajedestino == null)
             {
                 continue;
             }
             viajedestino.vlPrecioViajeSinPeaje = p.Precio;
             viajedestino.vlPrecioPeaje         = p.Peaje;
             viajedestino.vlPrecioViaje         = p.Total;
             viajedestino.vlKilometros          = p.Kilometros;
             viajedestino.flMuestraenlaWEB      = p.Muestra_en_la_Web;
             Console.WriteLine(viajedestino.cdProducto + " - " + viajedestino.dsProducto + " -  " + viajedestino.vlPrecioViaje.ToString() + viajedestino.flMuestraenlaWEB);
             //break;
         }
         context.SaveChanges();
     }
 }
Ejemplo n.º 9
0
        public virtual void anularConciliacion(TB_Conciliacion objConciliacion)
        {
            using (var context = new dbSG2000Entities())
            {
                using (TransactionScope transaction = new TransactionScope())
                {
                    double TotalConciliacionAnulado = 0.0;

                    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();
                        objCupon.flCobradoalCliente = false;
                        objCupon.dtCobradoalCliente = null;
                        TotalConciliacionAnulado    = TotalConciliacionAnulado + objCupon.vlMontoCupon.Value;
                    }
                    // Eliminamos el detalle de la conciliacion
                    //context.Database.ExecuteSqlCommand("DELETE FROM TB_ConciliacionDetalle where IdConciliacion= {0}", objConciliacionBD.IdConciliacion);

                    objConciliacionBD.dtModificacion = DateTime.Now;
                    objConciliacionBD.dsUsuario      = this._usuarioActivo;
                    objConciliacionBD.nrCajaAdm      = Decimal.Parse(this._cajactiva);
                    objConciliacionBD.flestado       = "E"; // Conciliacion Eliminada
                    context.SaveChanges();
                    GrabarAsientoContable(TotalConciliacionAnulado, Decimal.Parse(this._cajactiva), this._usuarioActivo, objConciliacion, context, Anula_Viajes_con_Tarjeta_a_Bancos, Anula_conciliacion_de_Viajes);

                    transaction.Complete();
                }
            }
        }
Ejemplo n.º 10
0
 public override IEnumerable <Object> ObtenerRegistros(DateTime fechadesde, DateTime fechaHasta, String usuario)
 {
     using (var context = new dbSG2000Entities())
     {
         // Falta agregar filtro de fechas
         var listaResultado = (from c in context.TB_PresentacionesCAI
                               where c.dtPresentacion >= fechadesde &&
                               c.dtPresentacion <= fechaHasta &&
                               (c.dsUsuario == usuario || usuario.Trim().Length == 0)
                               orderby c.IdPresentacion descending            // ordenamos desde mas reciente a mas vieja
                               select new
         {
             ID = c.IdPresentacion,
             FECHA = c.dtPresentacion,
             AÑO = c.nrAnio,
             MES = c.nrMes,
             USUARIO = c.dsUsuario,
             FECHA_MODIF = c.dtModificacion,
             ESTADO = c.flestado
         });
         return(listaResultado.ToList());
         //return listadeViajesaConciliar.ToList();
     }
 }
Ejemplo n.º 11
0
 public void agregarPresentacionCAI(TB_PresentacionesCAI objPresentacion, IEnumerable <TB_PresentacionesCAIDetalle> objPresentacionDetalle)
 {
     Trace.TraceInformation("ingresando a agregarPresentacionCAI");
     using (var context = new dbSG2000Entities())
     {
         using (TransactionScope transaction = new TransactionScope())
         {
             TB_PresentacionesCAIDetalle detalleConciliacion = new TB_PresentacionesCAIDetalle();
             foreach (var item in objPresentacionDetalle)
             {
                 context.TB_PresentacionesCAIDetalle.Add(new TB_PresentacionesCAIDetalle {
                     TB_PresentacionesCAI = objPresentacion,
                     nrCAI               = item.nrCAI,
                     dtInsercion         = DateTime.Now,
                     nrUltNroComprobante = item.nrUltNroComprobante
                 });
             }
             context.TB_PresentacionesCAI.Add(objPresentacion);
             context.SaveChanges();
             transaction.Complete();
             return;
         }
     }
 } // cierre agregarPresentacionCAI
Ejemplo n.º 12
0
        }  // FIN anularConciliacionAutomatica

        // Tipar para crear WEB SERVICE
        public override IEnumerable<Object> ObtenerViajesaConciliar()
        {

            using (var context = new dbSG2000Entities())
            {
                var listadeViajesaConciliar1 = (from c in context.TB_Cupones
                                                where (c.flCobradoalCliente == false) && (c.flCompensado == false)
                                                && (c.flAnulado == false)
                                                && (new[] { "Todo Pago" }.Contains(c.tpCupon))
                                                select new
                                                {
                                                    ID = c.nrCupon,
                                                    FECHA = c.dtCupon,
                                                    LICENCIA = c.nrLicencia,
                                                    DOC = c.tpComprobanteCliente,
                                                    LETRA = c.tpLetraCliente,
                                                    PDV = c.nrTalonarioCliente,
                                                    NRO = c.nrComprabanteCliente,
                                                    MONTO = c.vlMontoCupon,
                                                    EMPRESA = c.nmEmpresaTarjeta, 
                                                    TARJETA = c.nrTarjeta,
                                                    DOCU = c.tpDocTarjeta,
                                                    DOCU_NRO = c.nrDocTarjeta,
                                                    CUPON = c.nrCuponPosnet,
                                                    FECHA_ACREDITACION = c.dtCupon
                                                }).OrderBy(c => c.FECHA);

                // 'nrDocTarjeta' , 'nrTarjeta' , 'tpDocTarjeta' 
                Trace.TraceInformation(listadeViajesaConciliar1.ToString());
                return listadeViajesaConciliar1.ToList();
                //return listadeViajesaConciliar.ToList();

            }


        }
Ejemplo n.º 13
0
 // Tipar para crear WEB SERVICE
 public IEnumerable <Object> obtenerConciliaciones(DateTime fechadesde, DateTime fechaHasta, String usuario)
 {
     using (var context = new dbSG2000Entities())
     {
         // Falta agregar filtro de fechas
         var listadeViajesaConciliar1 = (from c in context.TB_Conciliacion
                                         where c.dtConciliacion >= fechadesde &&
                                         c.dtConciliacion <= fechaHasta &&
                                         (c.dsUsuario == usuario || usuario.Trim().Length == 0)
                                         orderby c.IdConciliacion descending  // ordenamos desde mas reciente a mas vieja
                                         select new
         {
             ID = c.IdConciliacion,
             FECHA = c.dtConciliacion,
             TIPO = c.formato,
             USUARIO = c.dsUsuario,
             CAJA_ADM = c.nrCajaAdm,
             FECHA_MODIF = c.dtModificacion,
             ESTADO = c.flestado
         });
         return(listadeViajesaConciliar1.ToList());
         //return listadeViajesaConciliar.ToList();
     }
 }
Ejemplo n.º 14
0
        /// <summary>
        /// grabar movimientos contables para reflejar la salida del dinero
        /// </summary>
        /// <param name="una_conciliacion"></param>
        /// <returns></returns>
        public void GrabarCupon(Double pvlPesos, decimal pnrCaja, String pdsUsuario, int pIdConciliacion,
                                dbSG2000Entities pdbSG2000Entities, int pnrLicencia,
                                String pnrFactura, DateTime pdtFecha,
                                Decimal pnrCupon, String pdsObservaccion,
                                int pcdCliente, String ptpComprobanteCliente,
                                String pnrComprabanteCliente, String pnrTalonarioCliente,
                                String ptpLetraCliente, double pvlMontoCupon,
                                double pvlComision)
        {
            Trace.TraceInformation("ingresando a GrabarCupon");

            try
            {
                //  Setear conceptos y caja
                //  Obtener la entidad Usuario
                TB_Cupones unCupon = new TB_Cupones();

                var max = (from p in pdbSG2000Entities.TB_Cupones
                           select p).OrderByDescending(p => p.nrCupon).FirstOrDefault();

                if (max == null)
                {
                    throw new DAOEntityException("no se pudo obtener el máximo nro de cupón");
                }
                else
                {
                    unCupon.nrCupon              = max.nrCupon + 1;
                    unCupon.dtCupon              = DateTime.UtcNow;
                    unCupon.cdCliente            = pcdCliente;
                    unCupon.nrLicencia           = 99; //  definir que licencia vamos a utilizar para el armado de estos recibos
                    unCupon.tpComprobanteCliente = ptpComprobanteCliente;
                    unCupon.nrComprabanteCliente = pnrComprabanteCliente;
                    unCupon.nrTalonarioCliente   = pnrTalonarioCliente;
                    unCupon.tpLetraCliente       = ptpLetraCliente;
                    unCupon.vlMontoCupon         = pvlMontoCupon;
                    unCupon.vlComision           = pvlComision;
                    unCupon.vlPagoPesos          = 0;
                    unCupon.vlPagoReales         = 0;
                    unCupon.vlPagoEuros          = 0;
                    unCupon.vlPagoDolares        = 0;
                    unCupon.IdConciliacion       = pIdConciliacion;
                    unCupon.flCobradoalCliente   = false;
                    unCupon.flCompensado         = false;
                    unCupon.flAnulado            = false;
                    unCupon.nrCajaCliente        = pnrCaja;
                    unCupon.vlIVA      = 0;
                    unCupon.vlSubtotal = 0;
                    pdbSG2000Entities.TB_Cupones.Add(unCupon);
                    pdbSG2000Entities.SaveChanges();
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(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);
                //    foreach (var ve in eve.ValidationErrors)
                //    {
                //        Console.WriteLine("- Property: \"{0}\", Error: \"{1}\"",
                //            ve.PropertyName, ve.ErrorMessage);
                //    }
                //}
                throw;
            }
            return;
        } // CIERRA GrabarCupon
Ejemplo n.º 15
0
        public void agregarConciliacion(List <TB_ConciliacionDetalleEx> plistaDetalleConciliacion, TB_Conciliacion objConciliacion)
        {
            var paramLog = new SGLibrary.Utility.ParamLogUtility(() => plistaDetalleConciliacion, () => objConciliacion).GetLog();

            Trace.TraceInformation(paramLog);

            ServiceMovimientoContable unSMC = new ServiceMovimientoContable();

            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();

                        if (detalleConciliacion.fechaPago.Value.Subtract(detalleConciliacion.dtCupon).TotalDays >= 20)
                        {
                            detalleConciliacion.FechaPagoLicenciatario = detalleConciliacion.dtCupon.AddDays(30);
                        }
                        else
                        {
                            detalleConciliacion.FechaPagoLicenciatario = detalleConciliacion.dtCupon.AddDays(5);
                        }

                        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 = un_Cupon.vlMontoCupon;                      // 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();

                        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, "Manual");
                    }

                    context.SaveChanges();


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

                    transaction.Complete();


                    return;

                    //return listadeViajesaConciliar.ToList();
                }
            }
        }
Ejemplo n.º 16
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
Ejemplo n.º 17
0
        public override 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;

                        /*  NO GRABAMOS MOVIMIENTOS POSTADATOS - PORQUE EL PAGO ES EN EFECTIVO
                         * 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();
                }
            }
        }
Ejemplo n.º 18
0
        // se anade virtual ya que puede ser sobreescrito , palabra clacve override
        public virtual void modificarConciliacion(List <Decimal> ids_cupones,
                                                  List <Decimal> ids_cupones_conciliados,
                                                  TB_Conciliacion objConciliacion)
        {
            using (var context = new dbSG2000Entities())
            {
                try
                {
                    using (TransactionScope transaction = new TransactionScope())
                    {
                        double TotalConciliacion        = 0.0;
                        double TotalConciliacionAnulado = 0.0;

                        // obtenemos el objeto de la BD
                        objConciliacion = (from c in context.TB_Conciliacion
                                           where c.IdConciliacion == objConciliacion.IdConciliacion
                                           select c).First <TB_Conciliacion>();

                        var listadetalleConciliacion = (from c in context.TB_ConciliacionDetalle
                                                        where c.IdConciliacion == objConciliacion.IdConciliacion
                                                        select c
                                                        ).ToList <TB_ConciliacionDetalle>();

                        foreach (TB_ConciliacionDetalle item in listadetalleConciliacion)
                        {   // eliminamos los detalle existentes
                            context.TB_ConciliacionDetalle.Remove(item);
                        }

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


                        var listadeViajesaConciliar1 = (from c in context.TB_Cupones
                                                        where ids_cupones.Contains(c.nrCupon)
                                                        select c
                                                        );


                        Console.WriteLine(listadeViajesaConciliar1.ToString());

                        Decimal idCupon_conciliado = 0;

                        foreach (var item in listadeViajesaConciliar1.ToList())
                        {
                            idCupon_conciliado = 0;
                            idCupon_conciliado = (from c in ids_cupones_conciliados where item.nrCupon == c select c).FirstOrDefault();

                            if (idCupon_conciliado != 0)
                            {
                                item.flCobradoalCliente = true;
                                item.dtCobradoalCliente = DateTime.Today;
                                context.TB_ConciliacionDetalle.Add(new TB_ConciliacionDetalle {
                                    TB_Conciliacion = objConciliacion, nrCupon = item.nrCupon
                                });
                                TotalConciliacion = TotalConciliacion + item.vlMontoCupon.Value;
                            }
                            else
                            {
                                item.flCobradoalCliente  = false;
                                item.dtCobradoalCliente  = null;
                                TotalConciliacionAnulado = TotalConciliacionAnulado + item.vlMontoCupon.Value;
                            }
                        }

                        context.SaveChanges();

                        GrabarAsientoContable(TotalConciliacion, Decimal.Parse(this._cajactiva), this._usuarioActivo, objConciliacion, context, Conciliacion_de_Viajes, Viajes_con_Tarjeta_a_Bancos);

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

                        context.SaveChanges();
                        transaction.Complete();

                        return;
                    }
                }
                catch (DbUpdateException next)
                {
                    DbUpdateException se = null;
                    _listado_Errores = new List <String>();
                    while (next.InnerException != null)
                    {
                        _listado_Errores.Add(next.Message);
                        se   = next.InnerException as DbUpdateException;
                        next = se;
                    }
                }
            }
        }
Ejemplo n.º 19
0
        public override void agregarConciliacion(List <TB_ConciliacionDetalleEx> plistaDetalleConciliacion, TB_Conciliacion objConciliacion)
        {
            ServiceMovimientoContable unSMC = new ServiceMovimientoContable();

            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();



                        detalleConciliacion.FechaPagoLicenciatario = detalleConciliacion.dtCupon.AddDays(10);

                        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

                        /*  NO GRABAMOS MOVIMIENTOS POSTADATOS - PORQUE EL PAGO ES EN EFECTIVO
                         * 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();
                    transaction.Complete();


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


                    return;

                    //return listadeViajesaConciliar.ToList();
                }
            }
        }
Ejemplo n.º 20
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
            }
        }
Ejemplo n.º 21
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;
            }
        }
Ejemplo n.º 22
0
        /// <summary>
        /// grabar movimientos contables para reflejar la salida del dinero
        /// </summary>
        /// <param name="una_conciliacion"></param>
        /// <returns></returns>
        public void GrabarAsientoContablePosdatados(Double pvlPesos, decimal pnrCaja, String pdsUsuario, String pIdConciliacion,
                                                    dbSG2000Entities pdbSG2000Entities, int cdConceptoOrigen, int cdConceptoDestino,
                                                    string pnrLicencia, string pnrFactura, DateTime pdtFechaPosdata,
                                                    Decimal pnrCupon, String pdsMovimiento)
        {
            try
            {
                //  Setear conceptos y caja
                //  Obtener la entidad Usuario
                TB_MovimientosContablesPosdatados unMCConceptoOrigen  = new TB_MovimientosContablesPosdatados();
                TB_MovimientosContablesPosdatados unMCConceptoDestino = new TB_MovimientosContablesPosdatados();


                TB_Conceptos cdConceptoConceptoOrigen = (from c in pdbSG2000Entities.TB_Conceptos where c.cdConcepto == cdConceptoOrigen select c).First();

                var max = (from p in pdbSG2000Entities.TB_MovimientosContablesPosdatados
                           select p).OrderByDescending(p => p.IdMovimiento).FirstOrDefault();

                if (max == null)
                {
                    max = new TB_MovimientosContablesPosdatados();
                }

                unMCConceptoOrigen.IdMovimiento     = max.IdMovimiento + 1;
                unMCConceptoOrigen.cdConcepto       = cdConceptoConceptoOrigen.cdConcepto;
                unMCConceptoOrigen.dsMovimiento     = pdsMovimiento.ToUpper().Trim() + " Fecha: " + pdtFechaPosdata.Date.ToShortDateString();
                unMCConceptoOrigen.dsUsuario        = pdsUsuario;
                unMCConceptoOrigen.nrCaja           = pnrCaja;
                unMCConceptoOrigen.vlPesos          = pvlPesos;
                unMCConceptoOrigen.vlDolares        = 0.0;
                unMCConceptoOrigen.vlEuros          = 0.0;
                unMCConceptoOrigen.dtMovimiento     = DateTime.Now; // Asignamos la fecha de la conciliacion
                unMCConceptoOrigen.nrAnio           = DateTime.Now.Year;
                unMCConceptoOrigen.nrRecibo         = pIdConciliacion;
                unMCConceptoOrigen.tpCajaImputacion = cdConceptoConceptoOrigen.tpCajaImputacion; // Completar desde el concepto
                unMCConceptoOrigen.dsConcepto       = cdConceptoConceptoOrigen.dsConcepto;       // Completar desde el concepto
                unMCConceptoOrigen.tpOperacion      = cdConceptoConceptoOrigen.tpOperacion;      // Completar desde el concepto
                //unMCConceptoOrigen.tpMovimiento = "";
                unMCConceptoOrigen.tpConcepto = cdConceptoConceptoOrigen.tpConcepto;             // Completar desde el concepto

                unMCConceptoOrigen.dsProveedor    = "Licencia Nro. " + pnrLicencia;
                unMCConceptoOrigen.nrFactura      = pnrFactura;
                unMCConceptoOrigen.flProcesado    = false;
                unMCConceptoOrigen.dtFechaPosdata = pdtFechaPosdata;
                unMCConceptoOrigen.nrCupon        = pnrCupon;
                unMCConceptoOrigen.IdConciliacion = int.Parse(pIdConciliacion);

                TB_Conceptos cdConceptoConceptoDestino = (from c in pdbSG2000Entities.TB_Conceptos where c.cdConcepto == cdConceptoDestino select c).First();;

                pdbSG2000Entities.SaveChanges();

                unMCConceptoDestino.IdMovimiento     = max.IdMovimiento + 2;
                unMCConceptoDestino.cdConcepto       = cdConceptoConceptoDestino.cdConcepto;
                unMCConceptoDestino.dsMovimiento     = pdsMovimiento.ToUpper().Trim() + " Fecha: " + pdtFechaPosdata.Date.ToShortDateString();
                unMCConceptoDestino.dsUsuario        = pdsUsuario;
                unMCConceptoDestino.nrCaja           = pnrCaja;
                unMCConceptoDestino.vlPesos          = pvlPesos;
                unMCConceptoDestino.vlDolares        = 0.0;
                unMCConceptoDestino.vlEuros          = 0.0;
                unMCConceptoDestino.dtMovimiento     = DateTime.Now; // Asignamos la fecha de la conciliacion
                unMCConceptoDestino.nrAnio           = DateTime.Now.Year;
                unMCConceptoDestino.nrRecibo         = pIdConciliacion;
                unMCConceptoDestino.tpCajaImputacion = cdConceptoConceptoDestino.tpCajaImputacion; // Completar desde el concepto
                unMCConceptoDestino.dsConcepto       = cdConceptoConceptoDestino.dsConcepto;       // Completar desde el concepto
                unMCConceptoDestino.tpOperacion      = cdConceptoConceptoDestino.tpOperacion;      // Completar desde el concepto
                //unMCConceptoOrigen.tpMovimiento = "";
                unMCConceptoDestino.tpConcepto = cdConceptoConceptoDestino.tpConcepto;             // Completar desde el concepto

                unMCConceptoDestino.dsProveedor    = "Licencia Nro. " + pnrLicencia;
                unMCConceptoDestino.nrFactura      = pnrFactura;
                unMCConceptoDestino.flProcesado    = false;
                unMCConceptoDestino.dtFechaPosdata = pdtFechaPosdata;
                unMCConceptoDestino.nrCupon        = pnrCupon;
                unMCConceptoDestino.IdConciliacion = int.Parse(pIdConciliacion);


                pdbSG2000Entities.TB_MovimientosContablesPosdatados.Add(unMCConceptoOrigen);
                pdbSG2000Entities.TB_MovimientosContablesPosdatados.Add(unMCConceptoDestino);
                pdbSG2000Entities.SaveChanges();
            }
            catch (DbEntityValidationException e)
            {
                Console.WriteLine(e);
                Trace.TraceError(e.Message);
                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);
                    foreach (var ve in eve.ValidationErrors)
                    {
                        Console.WriteLine("- Property: \"{0}\", Error: \"{1}\"",
                                          ve.PropertyName, ve.ErrorMessage);
                    }
                }
                throw;
            }
            return;
        }