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