コード例 #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();
                }
            }
        }
コード例 #2
0
        public void agregarConciliacion(List <Decimal> ids_cupones, TB_Conciliacion objConciliacion)
        {
            using (var context = new dbSG2000Entities())
            {
                using (TransactionScope transaction = new TransactionScope())
                {
                    objConciliacion.dsUsuario      = this._usuarioActivo;
                    objConciliacion.nrCajaAdm      = Decimal.Parse(this._cajactiva);
                    objConciliacion.flestado       = "A";
                    objConciliacion.dtModificacion = DateTime.Now;


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

                    Console.WriteLine(listadeViajesaConciliar1.ToString());
                    Trace.TraceInformation(listadeViajesaConciliar1.ToString());
                    TB_ConciliacionDetalle detalleConciliacion = new TB_ConciliacionDetalle();

                    double TotalConciliacion = 0.0;

                    foreach (var item in listadeViajesaConciliar1.ToList())
                    {
                        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;
                    }
                    context.TB_Conciliacion.Add(objConciliacion);

                    context.SaveChanges();

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


                    context.SaveChanges();
                    transaction.Complete();
                    return;
                    //return listadeViajesaConciliar.ToList();
                }
            }
        }
コード例 #3
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);
            }
        }
コード例 #4
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();
                }
            }
        }
コード例 #5
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;
                    }
                }
            }
        }
コード例 #6
0
        public 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();

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

                }
            }
        }
コード例 #7
0
        /// <summary>
        /// grabar movimientos contables para reflejar la salida del dinero
        /// </summary>
        /// <param name="una_conciliacion"></param>
        /// <returns></returns>
        public void GrabarAsientoContable(Double pvlPesos , Decimal pnrCaja , String pdsUsuario, TB_Conciliacion pConciliacion, 
                                                    dbSG2000Entities pdbSG2000Entities, int cdConceptoOrigen , int cdConceptoDestino )
        {
            //  Setear conceptos y caja
               //  Obtener la entidad Usuario
            TB_MovimientosContables unMCConceptoOrigen= new TB_MovimientosContables();
            TB_MovimientosContables unMCConceptoDestino = new TB_MovimientosContables();

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

            var query = from p in pdbSG2000Entities.TB_MovimientosContables
                        select p.IdMovimiento ;

            unMCConceptoOrigen.IdMovimiento = query.Max()+1;
            unMCConceptoOrigen.cdConcepto = cdConceptoConceptoOrigen.cdConcepto;
            unMCConceptoOrigen.dsMovimiento = "Conciliación Nro:  " + pConciliacion.IdConciliacion.ToString();
            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 = pConciliacion.IdConciliacion.ToString();
            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.tpOperacion ;  // Completar desde el concepto
            TB_Conceptos cdConceptoConceptoDestino = (from c in pdbSG2000Entities.TB_Conceptos where c.cdConcepto == cdConceptoDestino select c).First(); ;

            pdbSG2000Entities.SaveChanges();

            unMCConceptoDestino.IdMovimiento = query.Max() + 2;
            unMCConceptoDestino.cdConcepto = cdConceptoConceptoDestino.cdConcepto;
            unMCConceptoDestino.dsMovimiento = "Conciliación Nro:  " + pConciliacion.IdConciliacion.ToString();
            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 = pConciliacion.IdConciliacion.ToString();
            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 = cdConceptoConceptoOrigen.tpOperacion;  // Completar desde el concepto

            pdbSG2000Entities.TB_MovimientosContables.Add(unMCConceptoOrigen);
            pdbSG2000Entities.TB_MovimientosContables.Add(unMCConceptoDestino);
            pdbSG2000Entities.SaveChanges();

            return;
        }
コード例 #8
0
ファイル: FrmConciliaciones.cs プロジェクト: quidele/tezecoop
        public Boolean ediciondeconciliacion()
        {
            List<Decimal> listaCupones = new List<Decimal>();
            List<Decimal> listaCuponesConciliados = new List<Decimal>();
            List<Decimal> listaCuponesDesconciliados = new List<Decimal>();

            foreach (DataGridViewRow item in dataGridView1.Rows)
            {
                Console.WriteLine(item.Cells["CONCILIAR"].EditedFormattedValue);
                if (item.Cells["CONCILIAR"].EditedFormattedValue.ToString() == "True" && item.Cells["COMPENSADO"].EditedFormattedValue.ToString() == "NO")
                {
                    listaCuponesConciliados.Add(Decimal.Parse(item.Cells["ID"].EditedFormattedValue.ToString()));
                }

                if (item.Cells["CONCILIAR"].EditedFormattedValue.ToString() == "False" && item.Cells["COMPENSADO"].EditedFormattedValue.ToString() == "NO")
                {
                    listaCuponesDesconciliados.Add(Decimal.Parse(item.Cells["ID"].EditedFormattedValue.ToString()));
                }
                //DataGridViewCheckBoxColumn unControl = (DataGridViewCheckBoxColumn) item.Cells["CONCILIAR"].;
                //Console.WriteLine ( unControl.TrueValue);
                listaCupones.Add (Decimal.Parse(item.Cells["ID"].EditedFormattedValue.ToString()));
            }

            if (listaCuponesConciliados.Count() == 0)
            {
                MessageBox.Show("Debe seleccionar algún comprobante");
                dataGridView1.Focus();
                return false;
            }

            var una_conciliacion = new TB_Conciliacion();
            una_conciliacion.dtConciliacion = this.cbdtConciliacion.Value;
            una_conciliacion.IdConciliacion = int.Parse  ( this.txtIdConciliacion.Text);
            try {
                if (this.txtFormato.Text == "Manual")
                    this.un_ServiceConciliacionManual.modificarConciliacion(listaCuponesDesconciliados, listaCuponesConciliados, una_conciliacion);
                else
                    serviceConciliacionesAutomaticas.modificarConciliacionAutomatica(listaCuponesDesconciliados, listaCuponesConciliados, una_conciliacion);

            } catch (Exception ex ){
                MessageBox.Show(ex.Message + serviceConciliaciones.ListaErrores(), "Atención", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return false;
            }
            return true;
        }
コード例 #9
0
ファイル: FrmConciliaciones.cs プロジェクト: quidele/tezecoop
        public Boolean altadeconciliacion()
        {
            List<Decimal> lista = new List<Decimal>();
            List<TB_ConciliacionDetalleEx> listaAutomatica = new List<TB_ConciliacionDetalleEx>();

            foreach (DataGridViewRow item in dataGridView1.Rows)
            {
                Console.WriteLine(item.Cells["CONCILIAR"].EditedFormattedValue);
                if (item.Cells["CONCILIAR"].EditedFormattedValue.ToString() == "True")
                {

                    if (this.cbtipoConciliacion.Text != "Manual")
                    {
                        TB_ConciliacionDetalleEx una_TB_ConciliacionDetalle = new TB_ConciliacionDetalleEx();
                        una_TB_ConciliacionDetalle.nrCupon = Decimal.Parse(item.Cells["ID"].EditedFormattedValue.ToString());
                        una_TB_ConciliacionDetalle.IdArchivoTarjetaDetalle = long.Parse(item.Cells["IdArchivoTarjetaDetalle"].EditedFormattedValue.ToString());
                        una_TB_ConciliacionDetalle.fechaPago = DateTime.Parse(item.Cells["FECHA_PAGO"].EditedFormattedValue.ToString());
                        una_TB_ConciliacionDetalle.dtCupon = DateTime.Parse(item.Cells["FECHA"].EditedFormattedValue.ToString());
                        listaAutomatica.Add (una_TB_ConciliacionDetalle);
                    }
                    else
                    {

                        if (item.Cells["FECHA_ACREDITACION"].EditedFormattedValue.ToString() == "")
                        {
                            MessageBox.Show("Debe completar la fecha de acreditación", "Atención", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            dataGridView1.Focus();
                            return false;
                        }
                        TB_ConciliacionDetalleEx una_TB_ConciliacionDetalle = new TB_ConciliacionDetalleEx();
                        una_TB_ConciliacionDetalle.nrCupon = Decimal.Parse(item.Cells["ID"].EditedFormattedValue.ToString());
                        una_TB_ConciliacionDetalle.fechaPago = DateTime.Parse(item.Cells["FECHA_ACREDITACION"].EditedFormattedValue.ToString());
                        una_TB_ConciliacionDetalle.dtCupon = DateTime.Parse(item.Cells["FECHA"].EditedFormattedValue.ToString());
                        listaAutomatica.Add(una_TB_ConciliacionDetalle);
                        //lista.Add(Decimal.Parse(item.Cells["ID"].EditedFormattedValue.ToString()));
                    }

                }
                //DataGridViewCheckBoxColumn unControl = (DataGridViewCheckBoxColumn) item.Cells["CONCILIAR"].;
                //Console.WriteLine ( unControl.TrueValue);
            }

            if ((lista.Count() == 0) && (listaAutomatica.Count() == 0))
            {
                MessageBox.Show("Debe seleccionar algún comprobante.", "Atención", MessageBoxButtons.OK, MessageBoxIcon.Information);
                dataGridView1.Focus();
                return false;
            }

            var una_conciliacion = new TB_Conciliacion();
            una_conciliacion.dtConciliacion = this.cbdtConciliacion.Value;
            if (this.cbtipoConciliacion.Text != "Manual")
            {
                // si estamos en una conciliacion automatica
                una_conciliacion.idArchivo = int.Parse(this.txtIdArchivo.Text); // Asignamos el idArchivo de la conciliacion automatica
                serviceConciliacionesAutomaticas.agregarConciliacion(listaAutomatica, una_conciliacion);
            }
            else // Conciliacion manual
            {

                un_ServiceConciliacionManual.agregarConciliacion(listaAutomatica, una_conciliacion);
                //serviceConciliaciones.agregarConciliacion(listaAutomatica, una_conciliacion);
            }
            return true;
        }
コード例 #10
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
コード例 #11
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();
                }
            }
        }
コード例 #12
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();
                }
            }
        }
コード例 #13
0
        public void agregarConciliacion(List<Decimal> ids_cupones, TB_Conciliacion objConciliacion)
        {
            using (var context = new dbSG2000Entities())
            {

                using (TransactionScope transaction = new TransactionScope())
                {

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

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

                Console.WriteLine(listadeViajesaConciliar1.ToString());
                Trace.TraceInformation(listadeViajesaConciliar1.ToString());
                TB_ConciliacionDetalle detalleConciliacion = new TB_ConciliacionDetalle();

                double TotalConciliacion=0.0;

                foreach (var item in listadeViajesaConciliar1.ToList())
                {
                    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 ;
                }
                context.TB_Conciliacion.Add(objConciliacion);

                context.SaveChanges();

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

                context.SaveChanges();
                transaction.Complete();
                return;
                //return listadeViajesaConciliar.ToList();

                }
            }
        }
コード例 #14
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;
                    }

                }

            }
        }
コード例 #15
0
        /// <summary>
        /// grabar movimientos contables para reflejar la salida del dinero
        /// </summary>
        /// <param name="una_conciliacion"></param>
        /// <returns></returns>
        public void GrabarAsientoContable(Double pvlPesos, Decimal pnrCaja, String pdsUsuario, TB_Conciliacion pConciliacion,
                                          dbSG2000Entities pdbSG2000Entities, int cdConceptoOrigen, int cdConceptoDestino)
        {
            //  Setear conceptos y caja
            //  Obtener la entidad Usuario
            TB_MovimientosContables unMCConceptoOrigen  = new TB_MovimientosContables();
            TB_MovimientosContables unMCConceptoDestino = new TB_MovimientosContables();


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

            var query = from p in pdbSG2000Entities.TB_MovimientosContables
                        select p.IdMovimiento;

            unMCConceptoOrigen.IdMovimiento     = query.Max() + 1;
            unMCConceptoOrigen.cdConcepto       = cdConceptoConceptoOrigen.cdConcepto;
            unMCConceptoOrigen.dsMovimiento     = "Conciliación Nro:  " + pConciliacion.IdConciliacion.ToString();
            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         = pConciliacion.IdConciliacion.ToString();
            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.tpOperacion;            // Completar desde el concepto
            TB_Conceptos cdConceptoConceptoDestino = (from c in pdbSG2000Entities.TB_Conceptos where c.cdConcepto == cdConceptoDestino select c).First();;

            pdbSG2000Entities.SaveChanges();

            unMCConceptoDestino.IdMovimiento     = query.Max() + 2;
            unMCConceptoDestino.cdConcepto       = cdConceptoConceptoDestino.cdConcepto;
            unMCConceptoDestino.dsMovimiento     = "Conciliación Nro:  " + pConciliacion.IdConciliacion.ToString();
            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         = pConciliacion.IdConciliacion.ToString();
            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 = cdConceptoConceptoOrigen.tpOperacion;             // Completar desde el concepto

            pdbSG2000Entities.TB_MovimientosContables.Add(unMCConceptoOrigen);
            pdbSG2000Entities.TB_MovimientosContables.Add(unMCConceptoDestino);
            pdbSG2000Entities.SaveChanges();

            return;
        }
コード例 #16
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;
            }
        }
コード例 #17
0
        public override void modificarConciliacion(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();

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

                        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

            }
        }
コード例 #18
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
            }
        }
コード例 #19
0
        public override void anularConciliacion(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();

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

                }

            }
        }
コード例 #20
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();
                }

            }
        }