// Conciliar public void procesarMovimientosPosdatados(decimal pnrCaja, string pdsUsuario) { using (var context = new dbSG2000Entities()) { try { // La logica de la conciliación queda suscripta en el SP spu_procesarMovimientosPosdatados_Result resul = context.spu_procesarMovimientosPosdatados(pnrCaja, pdsUsuario).First(); // verificar el resultado que devuelve el STORE Console.WriteLine(resul.resultado + " " + resul.descripcion_error); } catch (EntityCommandCompilationException e) { Console.WriteLine(e.Message); throw; } } } // FIN DE clase ServiceMovimientoContable
// Conciliar public void ConcilialiarAutomaticaticamente(TB_ArchivoTarjeta unTB_ArchivoTarjeta) { using (var context = new dbSG2000Entities()) { try { // La logica de la conciliación queda suscripta en el SP spu_conciliarAutomaticamente_Result resul = context.spu_conciliarAutomaticamente(unTB_ArchivoTarjeta.id).First(); // verificar el resultado que devuelve el STORE Console.WriteLine(resul.resultado + " " + resul.descripcion_error); } catch (EntityCommandCompilationException e) { Console.WriteLine(e.Message); throw; } } } // FIN DE ConcilialiarAutomaticaticamente
//// fin agregar conciliacion // Tipar para crear WEB SERVICE /// <summary> /// /// </summary> /// <param name="una_conciliacion"></param> /// <returns></returns> public override IEnumerable <Object> ObtenerDetalleConciliacion(long pId) { List <Decimal> ids_cupones = new List <Decimal>(); //una_conciliacion.TB_ConciliacionDetalle using (var context = new dbSG2000Entities()) { // Falta agregar filtro de fechas var una_conciliacionDetalle = (from c in context.TB_ConciliacionDetalle where c.IdConciliacion == pId select c); foreach (var item in una_conciliacionDetalle) { ids_cupones.Add(item.nrCupon); } var listadeViajesaConciliar1 = (from c in context.TB_Cupones join x in context.TB_ConciliacionDetalle on c.nrCupon equals x.nrCupon where (ids_cupones.Contains(c.nrCupon) && x.IdConciliacion == pId) select new { ID = c.nrCupon, FECHA = c.dtCupon, LICENCIA = c.nrLicencia, DOC = c.tpComprobanteCliente, LETRA = c.tpLetraCliente, PDV = c.nrTalonarioCliente, NRO = c.nrComprabanteCliente, MONTO = c.vlMontoCupon, EMPRESA = c.nmEmpresaTarjeta, TARJETA = c.nrTarjeta, DOCU = c.tpDocTarjeta, DOCU_NRO = c.nrDocTarjeta, COMPENSADO = c.flCompensado == true ? "SI" : "NO", FECHA_ACREDITACION = x.fechaPago }); // 'nrDocTarjeta' , 'nrTarjeta' , 'tpDocTarjeta' return(listadeViajesaConciliar1.ToList()); //return listadeViajesaConciliar.ToList(); } } // Fin de obtener detalle conciliacion
private void FrmConciliaciones_Load(object sender, EventArgs e) { using (var context = new dbSG2000Entities()) { this.statusbar_bd.Text = "Base de datos: " + context.Database.Connection.Database; this.statusbar_servidor.Text = "Base de datos: " + context.Database.Connection.DataSource; this.statusbar_usuario.Text = "usuario: " + serviceModel.Usuario; this.statusbar_nrocaja.Text = "Caja Nro: " + serviceModel.CajaAdm; this.statusbar_version.Text = "Versión: " + typeof(SGLibrary.ServiceModel).Assembly.GetName().Version.ToString(); } botonesForm1.configMododeEdicion(ABMBotonesForm.FIND); this.panelcarga.Visible = false; this.panelbusqueda.Visible = true; this.fechadesde.Value = DateTime.Now.AddDays(-30).Date; this.fechahasta.Value = DateTime.Now.Date; this.botonesForm1.InicializarFindBoton(); }
} // cierre agregarPresentacionCAI public override void AnularRegistro(object unRegistro) { TB_PresentacionesCAI objPresentacion = (TB_PresentacionesCAI)unRegistro; using (var context = new dbSG2000Entities()) { using (TransactionScope transaction = new TransactionScope()) { var objPresentacionBD = (from c in context.TB_PresentacionesCAI where c.IdPresentacion == objPresentacion.IdPresentacion select c).First <TB_PresentacionesCAI>(); objPresentacionBD.dtModificacion = DateTime.Now; objPresentacionBD.flestado = "E"; // Conciliacion Eliminada context.SaveChanges(); transaction.Complete(); } } }
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); } }
} // FIN DE ConcilialiarAutomaticaticamente public IEnumerable <Object> ObtenerViajesConciliadosAutomaticamente(Decimal pIdArchivo) { using (var context = new dbSG2000Entities()) { var listadeViajesaConciliar1 = (from c in context.TB_Cupones join x in context.TB_ArchivoTarjetaDetalle on c.nrCupon equals x.nrCupon // Join entre las dos tablas where (c.flCobradoalCliente == false) && (c.flCompensado == false) && (c.flAnulado == false) //&& (new[] { "Tarjeta de Crédito", "Tarjeta de Débito"}.Contains(c.tpCupon)) && (x.idarchivo == pIdArchivo) // filtramos por un archivo select new { ID = c.nrCupon, FECHA = c.dtCupon, LICENCIA = c.nrLicencia, DOC = c.tpComprobanteCliente, LETRA = c.tpLetraCliente, PDV = c.nrTalonarioCliente, NRO = c.nrComprabanteCliente, MONTO = c.vlMontoCupon, MONTO_ARCHI = x.importe, EMPRESA = c.nmEmpresaTarjeta, TARJETA = c.nrTarjeta, TARJETA_ARCHI = x.tarjeta, CUPON = c.nrCuponPosnet != null ? c.nrCuponPosnet : "0", CUPON_ARCHI = x.comprobante, NIVEL = x.nrNivelConciliacion, IdArchivoTarjetaDetalle = x.Id, FECHA_PAGO = x.fechaPago.Value }).OrderBy(c => c.FECHA); // 'nrDocTarjeta' , 'nrTarjeta' , 'tpDocTarjeta' Trace.TraceInformation(listadeViajesaConciliar1.ToString()); return(listadeViajesaConciliar1.ToList()); //return listadeViajesaConciliar.ToList(); } }
public void ActualizarTarifas(List <TarifasXLS> listaTarifas) { using (var context = new dbSG2000Entities()) { foreach (TarifasXLS p in listaTarifas) { // realizar busqueda var viajedestino = (from c in context.TB_Productos where c.cdProducto == p.Codigo select c).FirstOrDefault(); if (viajedestino == null) { continue; } viajedestino.vlPrecioViajeSinPeaje = p.Precio; viajedestino.vlPrecioPeaje = p.Peaje; viajedestino.vlPrecioViaje = p.Total; viajedestino.vlKilometros = p.Kilometros; viajedestino.flMuestraenlaWEB = p.Muestra_en_la_Web; Console.WriteLine(viajedestino.cdProducto + " - " + viajedestino.dsProducto + " - " + viajedestino.vlPrecioViaje.ToString() + viajedestino.flMuestraenlaWEB); //break; } context.SaveChanges(); } }
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(); } } }
public override IEnumerable <Object> ObtenerRegistros(DateTime fechadesde, DateTime fechaHasta, String usuario) { using (var context = new dbSG2000Entities()) { // Falta agregar filtro de fechas var listaResultado = (from c in context.TB_PresentacionesCAI where c.dtPresentacion >= fechadesde && c.dtPresentacion <= fechaHasta && (c.dsUsuario == usuario || usuario.Trim().Length == 0) orderby c.IdPresentacion descending // ordenamos desde mas reciente a mas vieja select new { ID = c.IdPresentacion, FECHA = c.dtPresentacion, AÑO = c.nrAnio, MES = c.nrMes, USUARIO = c.dsUsuario, FECHA_MODIF = c.dtModificacion, ESTADO = c.flestado }); return(listaResultado.ToList()); //return listadeViajesaConciliar.ToList(); } }
public void agregarPresentacionCAI(TB_PresentacionesCAI objPresentacion, IEnumerable <TB_PresentacionesCAIDetalle> objPresentacionDetalle) { Trace.TraceInformation("ingresando a agregarPresentacionCAI"); using (var context = new dbSG2000Entities()) { using (TransactionScope transaction = new TransactionScope()) { TB_PresentacionesCAIDetalle detalleConciliacion = new TB_PresentacionesCAIDetalle(); foreach (var item in objPresentacionDetalle) { context.TB_PresentacionesCAIDetalle.Add(new TB_PresentacionesCAIDetalle { TB_PresentacionesCAI = objPresentacion, nrCAI = item.nrCAI, dtInsercion = DateTime.Now, nrUltNroComprobante = item.nrUltNroComprobante }); } context.TB_PresentacionesCAI.Add(objPresentacion); context.SaveChanges(); transaction.Complete(); return; } } } // cierre agregarPresentacionCAI
} // FIN anularConciliacionAutomatica // Tipar para crear WEB SERVICE public override IEnumerable<Object> ObtenerViajesaConciliar() { using (var context = new dbSG2000Entities()) { var listadeViajesaConciliar1 = (from c in context.TB_Cupones where (c.flCobradoalCliente == false) && (c.flCompensado == false) && (c.flAnulado == false) && (new[] { "Todo Pago" }.Contains(c.tpCupon)) select new { ID = c.nrCupon, FECHA = c.dtCupon, LICENCIA = c.nrLicencia, DOC = c.tpComprobanteCliente, LETRA = c.tpLetraCliente, PDV = c.nrTalonarioCliente, NRO = c.nrComprabanteCliente, MONTO = c.vlMontoCupon, EMPRESA = c.nmEmpresaTarjeta, TARJETA = c.nrTarjeta, DOCU = c.tpDocTarjeta, DOCU_NRO = c.nrDocTarjeta, CUPON = c.nrCuponPosnet, FECHA_ACREDITACION = c.dtCupon }).OrderBy(c => c.FECHA); // 'nrDocTarjeta' , 'nrTarjeta' , 'tpDocTarjeta' Trace.TraceInformation(listadeViajesaConciliar1.ToString()); return listadeViajesaConciliar1.ToList(); //return listadeViajesaConciliar.ToList(); } }
// Tipar para crear WEB SERVICE public IEnumerable <Object> obtenerConciliaciones(DateTime fechadesde, DateTime fechaHasta, String usuario) { using (var context = new dbSG2000Entities()) { // Falta agregar filtro de fechas var listadeViajesaConciliar1 = (from c in context.TB_Conciliacion where c.dtConciliacion >= fechadesde && c.dtConciliacion <= fechaHasta && (c.dsUsuario == usuario || usuario.Trim().Length == 0) orderby c.IdConciliacion descending // ordenamos desde mas reciente a mas vieja select new { ID = c.IdConciliacion, FECHA = c.dtConciliacion, TIPO = c.formato, USUARIO = c.dsUsuario, CAJA_ADM = c.nrCajaAdm, FECHA_MODIF = c.dtModificacion, ESTADO = c.flestado }); return(listadeViajesaConciliar1.ToList()); //return listadeViajesaConciliar.ToList(); } }
/// <summary> /// grabar movimientos contables para reflejar la salida del dinero /// </summary> /// <param name="una_conciliacion"></param> /// <returns></returns> public void GrabarCupon(Double pvlPesos, decimal pnrCaja, String pdsUsuario, int pIdConciliacion, dbSG2000Entities pdbSG2000Entities, int pnrLicencia, String pnrFactura, DateTime pdtFecha, Decimal pnrCupon, String pdsObservaccion, int pcdCliente, String ptpComprobanteCliente, String pnrComprabanteCliente, String pnrTalonarioCliente, String ptpLetraCliente, double pvlMontoCupon, double pvlComision) { Trace.TraceInformation("ingresando a GrabarCupon"); try { // Setear conceptos y caja // Obtener la entidad Usuario TB_Cupones unCupon = new TB_Cupones(); var max = (from p in pdbSG2000Entities.TB_Cupones select p).OrderByDescending(p => p.nrCupon).FirstOrDefault(); if (max == null) { throw new DAOEntityException("no se pudo obtener el máximo nro de cupón"); } else { unCupon.nrCupon = max.nrCupon + 1; unCupon.dtCupon = DateTime.UtcNow; unCupon.cdCliente = pcdCliente; unCupon.nrLicencia = 99; // definir que licencia vamos a utilizar para el armado de estos recibos unCupon.tpComprobanteCliente = ptpComprobanteCliente; unCupon.nrComprabanteCliente = pnrComprabanteCliente; unCupon.nrTalonarioCliente = pnrTalonarioCliente; unCupon.tpLetraCliente = ptpLetraCliente; unCupon.vlMontoCupon = pvlMontoCupon; unCupon.vlComision = pvlComision; unCupon.vlPagoPesos = 0; unCupon.vlPagoReales = 0; unCupon.vlPagoEuros = 0; unCupon.vlPagoDolares = 0; unCupon.IdConciliacion = pIdConciliacion; unCupon.flCobradoalCliente = false; unCupon.flCompensado = false; unCupon.flAnulado = false; unCupon.nrCajaCliente = pnrCaja; unCupon.vlIVA = 0; unCupon.vlSubtotal = 0; pdbSG2000Entities.TB_Cupones.Add(unCupon); pdbSG2000Entities.SaveChanges(); } } catch (Exception e) { Console.WriteLine(e); //foreach (var eve in e.EntityValidationErrors) //{ // Console.WriteLine("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:", // eve.Entry.Entity.GetType().Name, eve.Entry.State); // foreach (var ve in eve.ValidationErrors) // { // Console.WriteLine("- Property: \"{0}\", Error: \"{1}\"", // ve.PropertyName, ve.ErrorMessage); // } //} throw; } return; } // CIERRA GrabarCupon
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(); } } }
} // 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 anularConciliacionAutomatica(TB_Conciliacion objConciliacion) { ServiceMovimientoContable unSMC = new ServiceMovimientoContable(); using (var context = new dbSG2000Entities()) { using (TransactionScope transaction = new TransactionScope()) { var objConciliacionBD = (from c in context.TB_Conciliacion where c.IdConciliacion == objConciliacion.IdConciliacion select c).First <TB_Conciliacion>(); objConciliacionBD.TB_ConciliacionDetalle.ToList(); TB_ArchivoTarjeta un_TB_ArchivoTarjeta = (from c in context.TB_ArchivoTarjeta where c.id == objConciliacion.idArchivo select c).First(); // Eliminamos el detalle de la conciliacion foreach (TB_ConciliacionDetalle item in objConciliacionBD.TB_ConciliacionDetalle) { // eliminamos los detalle existentes // liberamos al cupon TB_Cupones objCupon = (from c in context.TB_Cupones where item.nrCupon == c.nrCupon select c).First(); var vlMontoAcreditacion = Convert.ToDouble(objCupon.vlMontoAcreditacion); objCupon.dtCobradoalCliente = null; // limpiamos la fecha de cobrado objCupon.flCobradoalCliente = false; // desconciliamos el cupon lo liberamos de la conciliacion objCupon.IdConciliacion = null; objCupon.vlMontoAcreditacion = null; objCupon.dtFechaAcreditacion = null; /* NO GRABAMOS MOVIMIENTOS POSTADATOS - PORQUE EL PAGO ES EN EFECTIVO * var nrFactura = objCupon.tpComprobanteCliente + "-" + objCupon.tpLetraCliente + "-" + * objCupon.nrTalonarioCliente + "-" + objCupon.nrComprabanteCliente.Trim() + "/ Cupon: " + * ExtensionString.EmptyIfNull(objCupon.nrCuponPosnet).Trim() + "/ Tarjeta: " + ExtensionString.EmptyIfNull(objCupon.nrTarjeta).Trim(); + + unSMC.GrabarAsientoContablePosdatados(vlMontoAcreditacion, objConciliacion.nrCajaAdm.Value, + objConciliacion.dsUsuario, objConciliacion.IdConciliacion.ToString(), context, + Anula_Viajes_con_Tarjeta_a_Bancos, Anula_conciliacion_de_Viajes, objCupon.nrLicencia.ToString(), + nrFactura, item.fechaPago.Value, objCupon.nrCupon, un_TB_ArchivoTarjeta.formato); */ } // Eliminamos el detalle de la conciliacion //context.Database.ExecuteSqlCommand("DELETE FROM TB_ConciliacionDetalle where IdConciliacion= {0}", objConciliacionBD.IdConciliacion); objConciliacionBD.dtModificacion = DateTime.Now; objConciliacion.dsUsuario = this.Usuario; objConciliacion.nrCajaAdm = Decimal.Parse(this.CajaAdm); objConciliacionBD.flestado = "E"; // Conciliacion Eliminada context.SaveChanges(); // Procesamos el Movimientos posdatados // unSMC.procesarMovimientosPosdatados(Decimal.Parse(this.CajaAdm), this.Usuario); transaction.Complete(); } } }
// 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 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 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 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; } }
/// <summary> /// grabar movimientos contables para reflejar la salida del dinero /// </summary> /// <param name="una_conciliacion"></param> /// <returns></returns> public void GrabarAsientoContablePosdatados(Double pvlPesos, decimal pnrCaja, String pdsUsuario, String pIdConciliacion, dbSG2000Entities pdbSG2000Entities, int cdConceptoOrigen, int cdConceptoDestino, string pnrLicencia, string pnrFactura, DateTime pdtFechaPosdata, Decimal pnrCupon, String pdsMovimiento) { try { // Setear conceptos y caja // Obtener la entidad Usuario TB_MovimientosContablesPosdatados unMCConceptoOrigen = new TB_MovimientosContablesPosdatados(); TB_MovimientosContablesPosdatados unMCConceptoDestino = new TB_MovimientosContablesPosdatados(); TB_Conceptos cdConceptoConceptoOrigen = (from c in pdbSG2000Entities.TB_Conceptos where c.cdConcepto == cdConceptoOrigen select c).First(); var max = (from p in pdbSG2000Entities.TB_MovimientosContablesPosdatados select p).OrderByDescending(p => p.IdMovimiento).FirstOrDefault(); if (max == null) { max = new TB_MovimientosContablesPosdatados(); } unMCConceptoOrigen.IdMovimiento = max.IdMovimiento + 1; unMCConceptoOrigen.cdConcepto = cdConceptoConceptoOrigen.cdConcepto; unMCConceptoOrigen.dsMovimiento = pdsMovimiento.ToUpper().Trim() + " Fecha: " + pdtFechaPosdata.Date.ToShortDateString(); unMCConceptoOrigen.dsUsuario = pdsUsuario; unMCConceptoOrigen.nrCaja = pnrCaja; unMCConceptoOrigen.vlPesos = pvlPesos; unMCConceptoOrigen.vlDolares = 0.0; unMCConceptoOrigen.vlEuros = 0.0; unMCConceptoOrigen.dtMovimiento = DateTime.Now; // Asignamos la fecha de la conciliacion unMCConceptoOrigen.nrAnio = DateTime.Now.Year; unMCConceptoOrigen.nrRecibo = pIdConciliacion; unMCConceptoOrigen.tpCajaImputacion = cdConceptoConceptoOrigen.tpCajaImputacion; // Completar desde el concepto unMCConceptoOrigen.dsConcepto = cdConceptoConceptoOrigen.dsConcepto; // Completar desde el concepto unMCConceptoOrigen.tpOperacion = cdConceptoConceptoOrigen.tpOperacion; // Completar desde el concepto //unMCConceptoOrigen.tpMovimiento = ""; unMCConceptoOrigen.tpConcepto = cdConceptoConceptoOrigen.tpConcepto; // Completar desde el concepto unMCConceptoOrigen.dsProveedor = "Licencia Nro. " + pnrLicencia; unMCConceptoOrigen.nrFactura = pnrFactura; unMCConceptoOrigen.flProcesado = false; unMCConceptoOrigen.dtFechaPosdata = pdtFechaPosdata; unMCConceptoOrigen.nrCupon = pnrCupon; unMCConceptoOrigen.IdConciliacion = int.Parse(pIdConciliacion); TB_Conceptos cdConceptoConceptoDestino = (from c in pdbSG2000Entities.TB_Conceptos where c.cdConcepto == cdConceptoDestino select c).First();; pdbSG2000Entities.SaveChanges(); unMCConceptoDestino.IdMovimiento = max.IdMovimiento + 2; unMCConceptoDestino.cdConcepto = cdConceptoConceptoDestino.cdConcepto; unMCConceptoDestino.dsMovimiento = pdsMovimiento.ToUpper().Trim() + " Fecha: " + pdtFechaPosdata.Date.ToShortDateString(); unMCConceptoDestino.dsUsuario = pdsUsuario; unMCConceptoDestino.nrCaja = pnrCaja; unMCConceptoDestino.vlPesos = pvlPesos; unMCConceptoDestino.vlDolares = 0.0; unMCConceptoDestino.vlEuros = 0.0; unMCConceptoDestino.dtMovimiento = DateTime.Now; // Asignamos la fecha de la conciliacion unMCConceptoDestino.nrAnio = DateTime.Now.Year; unMCConceptoDestino.nrRecibo = pIdConciliacion; unMCConceptoDestino.tpCajaImputacion = cdConceptoConceptoDestino.tpCajaImputacion; // Completar desde el concepto unMCConceptoDestino.dsConcepto = cdConceptoConceptoDestino.dsConcepto; // Completar desde el concepto unMCConceptoDestino.tpOperacion = cdConceptoConceptoDestino.tpOperacion; // Completar desde el concepto //unMCConceptoOrigen.tpMovimiento = ""; unMCConceptoDestino.tpConcepto = cdConceptoConceptoDestino.tpConcepto; // Completar desde el concepto unMCConceptoDestino.dsProveedor = "Licencia Nro. " + pnrLicencia; unMCConceptoDestino.nrFactura = pnrFactura; unMCConceptoDestino.flProcesado = false; unMCConceptoDestino.dtFechaPosdata = pdtFechaPosdata; unMCConceptoDestino.nrCupon = pnrCupon; unMCConceptoDestino.IdConciliacion = int.Parse(pIdConciliacion); pdbSG2000Entities.TB_MovimientosContablesPosdatados.Add(unMCConceptoOrigen); pdbSG2000Entities.TB_MovimientosContablesPosdatados.Add(unMCConceptoDestino); pdbSG2000Entities.SaveChanges(); } catch (DbEntityValidationException e) { Console.WriteLine(e); Trace.TraceError(e.Message); foreach (var eve in e.EntityValidationErrors) { Console.WriteLine("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:", eve.Entry.Entity.GetType().Name, eve.Entry.State); foreach (var ve in eve.ValidationErrors) { Console.WriteLine("- Property: \"{0}\", Error: \"{1}\"", ve.PropertyName, ve.ErrorMessage); } } throw; } return; }