Exemplo n.º 1
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();
                }
            }
        }
Exemplo n.º 2
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);
            }
        }
Exemplo n.º 3
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();
                }
            }
        }
Exemplo n.º 4
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;
        }
Exemplo n.º 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;
                    }
                }
            }
        }