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