public Respuesta <InscripcionSilla> infosillaAsignada() { Respuesta <InscripcionSilla> result = new Respuesta <InscripcionSilla>(); result.codigo = 1; result.mensaje = "Ocurrio un error en base de datos"; result.data = new InscripcionSilla(); try { using (var db = new EntitiesEVE01()) { var infosilla = (from sa in db.EVE01_INSCRIPCION_SILLA where sa.EVENTO == MvcApplication.idEvento && sa.PARTICIPANTE == this.idParticipante select sa).SingleOrDefault(); if (infosilla != null) { dbModel = infosilla; } } result.codigo = 0; result.mensaje = "OK"; result.data = this; return(result); } catch (Exception ex) { result.codigo = -1; result.mensaje = "Ocurrio una excepcion al obtener la informacion de la silla, ref: " + ex.ToString(); result.mensajeError = ex.ToString(); return(result); } }
public InscripcionSilla() { dbModel = new EVE01_INSCRIPCION_SILLA(); }
public InscripcionSilla(EVE01_INSCRIPCION_SILLA datos) { dbModel = datos; }
public Respuesta <Movimiento> guardarMovimiento() { Respuesta <Movimiento> result = new Respuesta <Movimiento>(); result.codigo = 1; result.mensaje = "Ocurrio un error en Base de Datos"; result.data = new Movimiento(); if (this.cantidad <= 0 || this.cantidad == null) { result.codigo = -1; result.mensaje = "No es posible realizar el cobro el valor no puede ser negativo, 0 o vacio, escriba una cantidad valida"; return(result); } try { using (var tr = new TransactionScope()) { using (var db = new EntitiesEVE01()) { //SE VALIDA QUE EL MONTO QUE COBRA NO EXEDA EL SALDO PENDIENTE var validaSaldoRestante = (from sr in db.EVE01_PARTICIPANTE_SALDO where sr.EVENTO == MvcApplication.idEvento && sr.PARTICIPANTE == this.idParticipante select sr).SingleOrDefault(); if (this.cantidad > validaSaldoRestante.SALDO_PENDIENTE) { result.codigo = -1; result.mensaje = "No es posible realizar un cobro mayor al Saldo Pendiente o un valor negativo, favor de revisar el monto a cobrar"; return(result); } //SE VALIDA SI EL PARTICIPANTE TIENE BUS var validaOpcionBus = (from oe in db.EVE01_EVENTO_OPCION join oi in db.EVE01_INSCRIPCION_OPCION on new { oe.EVENTO, oe.OPCION } equals new { oi.EVENTO, oi.OPCION } where oe.ES_TRANSPORTE == "S" && oi.EVENTO == MvcApplication.idEvento && oi.PARTICIPANTE == this.idParticipante && oi.ESTADO_REGISTRO == "A" select oi).SingleOrDefault(); var validaBusAsignado = (from ba in db.EVE01_INSCRIPCION_BUS where ba.EVENTO == MvcApplication.idEvento && ba.PARTICIPANTE == this.idParticipante select ba).SingleOrDefault(); if (validaOpcionBus != null && validaBusAsignado == null) { result.codigo = -1; result.mensaje = "EL PARTICIPANTE TIENE LA OPCION DE BUS PERO NO TIENE BUS ASIGNADO, FAVOR DE ASIGNAR BUS"; return(result); } //VALIDA SI EL EVENTO LLEVA CONTROL DE SILLAS var validasillaEvento = (from vs in db.EVE01_EVENTO_SILLA where vs.EVENTO == MvcApplication.idEvento select vs).SingleOrDefault(); if (validasillaEvento != null) { var validasillaasignada = (from sa in db.EVE01_INSCRIPCION_SILLA where sa.EVENTO == MvcApplication.idEvento && sa.PARTICIPANTE == this.idParticipante select sa).SingleOrDefault(); var saldoAbonadoParticipante = validaSaldoRestante.SALDO_ABONADO + this.cantidad; //VALIDA QUE NO TENGA SILLA ASIGNADA Y SI EL MONTO ES MAYOR O IGUAL AL MONTO MINIMO PARA ASIGNAR SILLA if (validasillaasignada == null && saldoAbonadoParticipante >= validasillaEvento.SALDO_MINIMO) { var silla = (from s in db.EVE01_INSCRIPCION_SILLA where s.EVENTO == MvcApplication.idEvento select s.NO_SILLA).Max(); var sillaasignada = silla + 1; silla = silla == null ? 1 : sillaasignada; EVE01_INSCRIPCION_SILLA nuevasilla = new EVE01_INSCRIPCION_SILLA(); nuevasilla.EVENTO = MvcApplication.idEvento; nuevasilla.PARTICIPANTE = this.idParticipante; nuevasilla.NO_SILLA = silla; nuevasilla.ESTADO_REGISTRO = "A"; nuevasilla.USUARIO_CREACION = MvcApplication.UserName; nuevasilla.FECHA_CREACION = DateTime.Now; db.EVE01_INSCRIPCION_SILLA.Add(nuevasilla); int vrs = db.SaveChanges(); if (vrs <= 0) { result.codigo = -2; result.mensaje = "No fue posible registrar el Cobro, inconveniente en la asignacion de Silla"; return(result); } } } //SE PROCEDE A REGISTRAR EL MOVIMIENTO DEL COBRO var correlativo = (from c in db.EVE01_MOVIMIENTO select c.MOVIMIENTO).Max(); var corrMov = correlativo + 1; correlativo = correlativo == null ? 1 : corrMov; EVE01_MOVIMIENTO nuevo = new EVE01_MOVIMIENTO(); nuevo.MOVIMIENTO = correlativo; nuevo.PARTICIPANTE = this.idParticipante; nuevo.EVENTO = MvcApplication.idEvento; nuevo.TIPO_MOVIMIENTO = "AB"; nuevo.TIPO_PAGO = this.idTipoPago; nuevo.CANTIDAD = this.cantidad; nuevo.ESTADO_REGISTRO = "A"; nuevo.USUARIO_CREACION = MvcApplication.UserName; nuevo.FECHA_CREACION = DateTime.Now; db.EVE01_MOVIMIENTO.Add(nuevo); int rnm = db.SaveChanges(); if (rnm <= 0) { Transaction.Current.Rollback(); result.codigo = -2; result.mensaje = "No fue posible registrar el Movimiento"; return(result); } //ACTUALIZAR SALDOS POR EL PAGO REALIZADO var saldo = (from s in db.EVE01_PARTICIPANTE_SALDO where s.EVENTO == MvcApplication.idEvento && s.PARTICIPANTE == this.idParticipante select s).SingleOrDefault(); saldo.SALDO_ABONADO = saldo.SALDO_ABONADO + this.cantidad; saldo.SALDO_PENDIENTE = saldo.SALDO_PENDIENTE - this.cantidad; saldo.USUARIO_MODIFICACION = MvcApplication.UserName; saldo.FECHA_MODIFICACION = DateTime.Now; int ras = db.SaveChanges(); if (ras <= 0) { Transaction.Current.Rollback(); result.codigo = -2; result.mensaje = "No fue posible registrar el Movimiento, ocurrio un inconveniente al actualizar saldos"; return(result); } var nBus = validaBusAsignado == null ? 0 : validaBusAsignado.NO_BUS; //REGISTRAR EL RECIBO Recibo nuevoRecibo = new Recibo(); nuevoRecibo.idMovimiento = correlativo; nuevoRecibo.idParticipante = this.idParticipante; nuevoRecibo.noBus = nBus; nuevoRecibo.nombreCompleto = this.nombreCompleto; nuevoRecibo.cantidad = this.cantidad; Respuesta <Recibo> respuesta = nuevoRecibo.nuevoRecibo(); if (respuesta.codigo != 0) { Transaction.Current.Rollback(); result.codigo = respuesta.codigo; result.mensaje = respuesta.mensaje; return(result); } } tr.Complete(); } result.codigo = 0; result.mensaje = "Se registro Correctamente el Pago por: " + this.cantidad; return(result); } catch (Exception ex) { result.codigo = -1; result.mensaje = "Ocurrio una excepcion al tratar de registrar el Movimiento, ref: " + ex.ToString(); result.mensajeError = ex.ToString(); return(result); } }