Example #1
0
        private Mensaje <Participante> actualizarParticipante(REC01_RECIBO arg)
        {
            Mensaje <Participante> res = new Mensaje <Participante>();

            res.codigo  = 1;
            res.mensaje = "Ocurrio un error en Base de datos al Actualizar el Participante";
            res.data    = new Participante();

            try
            {
                using (var db = new EsquemaREC01())
                {
                    var actualilza = db.REC01_PARTICIPANTE.Where(p => p.NIT == arg.NIT).Select(p => p).SingleOrDefault();

                    actualilza.NOMBRE               = arg.NOMBRE;
                    actualilza.DIRECCION            = arg.DIRECCION;
                    actualilza.PAIS                 = arg.PAIS;
                    actualilza.TELEFONO             = arg.TELEFONO;
                    actualilza.USUARIO_MODIFICACION = Global.usuariologueado;
                    actualilza.FECHA_MODIFICACION   = DateTime.Now;
                    db.SaveChanges();
                }
                res.codigo  = 0;
                res.mensaje = "Ok";
                return(res);
            }
            catch (Exception ex)
            {
                res.codigo       = -1;
                res.mensaje      = "Ocurrio una excepcion al actualizar al Participante, ref; " + ex.ToString();
                res.mensajeError = ex.ToString();
                return(res);
            }
        }
        private void frmReciboEvento_Load(object sender, EventArgs e)
        {
            lblusuario.Text = "Bienvenido " + Global.usuariologueado.ToString();
            label1.Text     = "Evento " + Global.nombreeventoActivo.ToUpper();


            llenarListado();
            llenarPaises();
            llenarConceptos();
            llenarMediosPago();
            llenarBancos();
            mostrarCorrelativoFisico();

            lblprecio.Visible = false;
            txtprecio.Visible = false;
            lblbanco.Visible  = false;
            cbxbancos.Visible = false;
            lblcheque.Visible = false;
            txtcheque.Visible = false;
            btnanular.Visible = false;

            txttotal.Enabled = false;


            //Se agrega esta opcion para llenar los datos que vienen del boton "Modificar" de la pantalla de impresion
            if (reciboimpresion != null)
            {
                REC01_RECIBO rec = new REC01_RECIBO();
                rec.RECIBO           = reciboimpresion;
                rec.USUARIO_CREACION = Global.usuariologueado;
                //
                obtenerRecibo(rec);
            }
        }
        private void dgvlistado_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            if (e.ColumnIndex != -1 && e.ColumnIndex != 7)
            {
                REC01_RECIBO obj = new REC01_RECIBO();
                obj.RECIBO           = Convert.ToDecimal(dgvlistado.CurrentRow.Cells[0].Value);
                obj.USUARIO_CREACION = dgvlistado.CurrentRow.Cells[5].Value.ToString();
                obtenerRecibo(obj);
                txtnombre.Focus();
                btnanular.Visible  = true;
                btnguardar.Enabled = true;
            }
            else if (e.ColumnIndex == 7)
            {
                DataGridViewRow dgv = dgvlistado.Rows[e.RowIndex];

                frmVistaPrevia vp = new frmVistaPrevia();
                vp.recibo     = Convert.ToDecimal(dgv.Cells[0].Value);
                vp.usuario    = dgv.Cells[5].Value.ToString();
                vp.medio_pago = Convert.ToDecimal(dgv.Cells[8].Value);
                this.Hide();
                vp.ShowDialog();
                this.Close();
            }
        }
        private void obtenerRecibo(REC01_RECIBO rec)
        {
            Recibo dato = new Recibo();
            Mensaje <REC01_RECIBO> resp = dato.obtenerRecibo(rec);

            if (resp.data.MEDIO_PAGO == 1)
            {
                llenarPaises();
                llenarConceptos();
                llenarMediosPago();
                lblbanco.Visible  = false;
                cbxbancos.Visible = false;
                lblcheque.Visible = false;
                txtcheque.Visible = false;

                txtrecibo.Text            = resp.data.RECIBO.ToString(); //En este campo se colocara el dato de recibo cuando ya exista
                txtnombre.Text            = resp.data.NOMBRE;
                txtdireccion.Text         = resp.data.DIRECCION;
                cbxpais.SelectedValue     = resp.data.PAIS;
                txtnit.Text               = resp.data.NIT;
                txttelefono.Text          = resp.data.TELEFONO;
                cbxconcepto.SelectedValue = Convert.ToDecimal(resp.data.CONCEPTO);
                txtprecio.Text            = resp.data.PRECIO.ToString();
                txtcantidad.Text          = resp.data.CANTIDAD.ToString();
                txttotal.Text             = resp.data.TOTAL.ToString();
                cbxmodopago.SelectedValue = Convert.ToDecimal(resp.data.MEDIO_PAGO);
                txtobservacion.Text       = resp.data.OBSERVACION_3;

                //inactivar();
            }
            else if (resp.data.MEDIO_PAGO == 2)
            {
                llenarPaises();
                llenarConceptos();
                llenarMediosPago();
                llenarBancos();
                lblbanco.Visible  = true;
                cbxbancos.Visible = true;
                lblcheque.Visible = true;
                txtcheque.Visible = true;

                txtrecibo.Text            = resp.data.RECIBO.ToString(); //En este campo se colocara el dato de recibo cuando ya exista
                txtnombre.Text            = resp.data.NOMBRE;
                txtdireccion.Text         = resp.data.DIRECCION;
                cbxpais.SelectedValue     = resp.data.PAIS;
                txtnit.Text               = resp.data.NIT;
                txttelefono.Text          = resp.data.TELEFONO;
                cbxconcepto.SelectedValue = Convert.ToDecimal(resp.data.CONCEPTO);
                txtprecio.Text            = resp.data.PRECIO.ToString();
                txtcantidad.Text          = resp.data.CANTIDAD.ToString();
                txtcantidad.Text          = resp.data.TOTAL.ToString();
                cbxmodopago.SelectedValue = Convert.ToDecimal(resp.data.MEDIO_PAGO);
                cbxbancos.SelectedValue   = Convert.ToDecimal(resp.data.BANCO);
                txtcheque.Text            = resp.data.NUMERO_CHEQUE;
                txtobservacion.Text       = resp.data.OBSERVACION_3;

                //inactivar();
            }
        }
Example #5
0
        /// <summary>
        /// Metodo para Registra los Recibos Nuevos
        /// </summary>
        /// <param name="rec"></param>
        /// <returns></returns>
        public Mensaje <Recibo> registrarRecibo(REC01_RECIBO rec)
        {
            Mensaje <Recibo> resultado = new Mensaje <Recibo>();

            resultado.codigo  = 1;
            resultado.mensaje = "Ocurrio un error en la Conexion a la Base de Datos";
            resultado.data    = new Recibo();

            try
            {
                //AL MOMENTO DE GUARDAR SE VALIDA SI EL PARTICIPANTE EXISTE EN BD
                Participante           validar    = new Participante();
                Mensaje <Participante> respValida = validar.validaInfoParticipante(rec);//SE AGREGA METODO PARA AGREGAR O ACTUALIZAR PARTICIPANTE - FECHA 24/10/2018


                if (respValida.codigo != 0)
                {
                    resultado.codigo       = respValida.codigo;
                    resultado.mensaje      = respValida.mensaje;
                    resultado.mensajeError = respValida.mensajeError;
                    return(resultado);
                }
                else
                {
                    if (rec.RECIBO != null)//Si el Recibo esta lleno, se Actualiza
                    {
                        Mensaje <Recibo> resp = new Mensaje <Recibo>();
                        Recibo           r    = new Recibo();
                        resp                   = r.ActualizarRecibo(rec);
                        resultado.codigo       = resp.codigo;
                        resultado.mensaje      = resp.mensaje;
                        resultado.data         = resp.data;
                        resultado.mensajeError = resp.mensajeError;
                        return(resultado);
                    }
                    else // Si el objeto esta Vacio, Se Inserta
                    {
                        Mensaje <Recibo> resp = new Mensaje <Recibo>();
                        Recibo           r    = new Recibo();
                        resp                   = r.NuevoRecibo(rec);
                        resultado.codigo       = resp.codigo;
                        resultado.mensaje      = resp.mensaje;
                        resultado.data         = resp.data;
                        resultado.mensajeError = resp.mensajeError;
                        return(resultado);
                    }
                }
            }
            catch (Exception ex)
            {
                resultado.codigo       = -1;
                resultado.mensaje      = "Ocurrio una excepcion, Referencia: " + ex.ToString();
                resultado.mensajeError = ex.ToString();
                return(resultado);
            }
        }
Example #6
0
        /// <summary>
        /// Metodo que retorna informacion de un Recibo
        /// </summary>
        /// <param name="rec"></param>
        /// <returns></returns>
        public Mensaje <REC01_RECIBO> obtenerRecibo(REC01_RECIBO rec)
        {
            Mensaje <REC01_RECIBO> result = new Mensaje <REC01_RECIBO>();

            result.codigo  = 1;
            result.mensaje = "Ocurrio un Error en base de datos al obtener el Recibo";
            result.data    = new REC01_RECIBO();

            try
            {
                using (var db = new EsquemaREC01())
                {
                    var concep = (from li in db.REC01_RECIBO
                                  where li.RECIBO == rec.RECIBO &&
                                  li.USUARIO_CREACION.ToUpper() == rec.USUARIO_CREACION.ToUpper() &&
                                  li.ESTADO_REGISTRO == "A"
                                  select li).SingleOrDefault();

                    if (concep != null)
                    {
                        result.data = concep;
                    }
                    else
                    {
                        result.codigo  = -1;
                        result.mensaje = "No existe informacion del Recibo enviado";
                        result.data    = new REC01_RECIBO();
                        return(result);
                    }
                    result.codigo  = 0;
                    result.mensaje = "Ok";
                    return(result);
                }
            }
            catch (Exception ex)
            {
                result.codigo       = -1;
                result.mensaje      = "Ocurrio una Excepcion, referencia: " + ex.ToString();
                result.mensajeError = ex.ToString();
                return(result);
            }
        }
Example #7
0
        /// <summary>
        /// Metodo que retorna informacion de un recibo y se utiliza para la opcion de Busqueda en la pantalla de Recibo Evento
        /// </summary>
        /// <param name="re"></param>
        /// <returns></returns>
        public Mensaje <List <REC01_RECIBO> > BusquedaRecibosActivo(REC01_RECIBO re)
        {
            Mensaje <List <REC01_RECIBO> > result = new Mensaje <List <REC01_RECIBO> >();

            result.codigo  = 1;
            result.mensaje = "Ocurrio un Error en base de datos al obtener los Recibos";
            result.data    = new List <REC01_RECIBO>();

            try
            {
                using (var db = new EsquemaREC01())
                {
                    var list = (from li in db.REC01_RECIBO.Include("REC01_CONCEPTO").Where(a => a.RECIBO_FISICO == re.RECIBO_FISICO && a.ESTADO_REGISTRO == "A").OrderByDescending(a => a.RECIBO) select li).ToList();

                    if (list.Count > 0)
                    {
                        foreach (var item in list)
                        {
                            result.data.Add(item);
                        }
                    }
                    else
                    {
                        result.codigo  = -1;
                        result.mensaje = "No existen Recibos relacionados con este Correlativo";
                        result.data    = new List <REC01_RECIBO>();
                        return(result);
                    }
                    result.codigo  = 0;
                    result.mensaje = "Ok";
                    return(result);
                }
            }
            catch (Exception ex)
            {
                result.codigo       = -1;
                result.mensaje      = "Ocurrio una Excepcion, referencia: " + ex.ToString();
                result.mensajeError = ex.ToString();
                return(result);
            }
        }
        private void obtenerRecibo()
        {
            Recibo       obj = new Recibo();
            REC01_RECIBO rec = new REC01_RECIBO();

            rec.RECIBO           = Convert.ToDecimal(recibo);
            rec.USUARIO_CREACION = usuario;
            Mensaje <REC01_RECIBO> resp = obj.obtenerRecibo(rec);

            txtrecibo.Text  = resp.data.RECIBO.ToString();
            txtusuario.Text = resp.data.USUARIO_CREACION.ToString();
            txtnombre.Text  = resp.data.NOMBRE.ToString();
            txttotal.Text   = resp.data.TOTAL.ToString();

            if (resp.data.RECIBO_FISICO != null || resp.data.SERIE_RECIBO != null)
            {
                txtnumerorecibo.Text    = resp.data.RECIBO_FISICO.ToString();
                txtserie.Text           = resp.data.SERIE_RECIBO.ToString();
                txtnumerorecibo.Enabled = false;
                txtserie.Enabled        = false;
            }
        }
        private void llenarBusqueda()
        {
            if (string.IsNullOrWhiteSpace(txtBuscar.Text.ToString()))
            {
                MessageBox.Show("El campo de busqueda se encuentra vacio o contiene un espacio, favor de colocar un dato en el campo");
            }
            else
            {
                Recibo       objBusqueda = new Recibo();
                REC01_RECIBO objRecibo   = new REC01_RECIBO();
                objRecibo.RECIBO_FISICO = Convert.ToDecimal(txtBuscar.Text);
                Mensaje <List <REC01_RECIBO> > resp = objBusqueda.BusquedaRecibosActivo(objRecibo);

                if (resp.codigo == 0)
                {
                    bindingSource1.DataSource = resp.data;
                }
                else if (resp.codigo == -1)
                {
                    MessageBox.Show(resp.mensaje);
                }
            }
        }
Example #10
0
        private Mensaje <Participante> guardarParticipante(REC01_RECIBO arg)
        {
            Mensaje <Participante> res = new Mensaje <Participante>();

            res.codigo  = 1;
            res.mensaje = "Ocurrio un error en base de datos";
            res.data    = new Participante();

            try
            {
                using (var db = new EsquemaREC01())
                {
                    REC01_PARTICIPANTE nuevo = new REC01_PARTICIPANTE();
                    nuevo.NIT              = arg.NIT.Trim();
                    nuevo.NOMBRE           = arg.NOMBRE;
                    nuevo.DIRECCION        = arg.DIRECCION;
                    nuevo.PAIS             = arg.PAIS;
                    nuevo.TELEFONO         = arg.TELEFONO;
                    nuevo.ESTADO_REGISTRO  = "A";
                    nuevo.USUARIO_CREACION = Global.usuariologueado;
                    nuevo.FECHA_CREACION   = DateTime.Now;
                    db.REC01_PARTICIPANTE.Add(nuevo);
                    db.SaveChanges();
                }
                res.codigo  = 0;
                res.mensaje = "Se guardo el participante correctamente";
                return(res);
            }
            catch (Exception ex)
            {
                res.codigo       = -1;
                res.mensaje      = "Ocurrio una excepcion al momento de registrar el Participante, ref: " + ex.ToString();
                res.mensajeError = ex.ToString();
                return(res);
            }
        }
        private void guardarRecibo()
        {
            REC01_RECIBO nuevoRecibo = new REC01_RECIBO();

            if (!string.IsNullOrEmpty(txtrecibo.Text.ToString()))
            {
                nuevoRecibo.RECIBO = Convert.ToDecimal(this.txtrecibo.Text);
            }
            nuevoRecibo.NOMBRE        = this.txtnombre.Text.ToString();
            nuevoRecibo.DIRECCION     = this.txtdireccion.Text.ToString();
            nuevoRecibo.NIT           = this.txtnit.Text.ToString().ToUpper();
            nuevoRecibo.TELEFONO      = this.txttelefono.Text.ToString();
            nuevoRecibo.MEDIO_PAGO    = Convert.ToDecimal(this.cbxmodopago.SelectedValue);
            nuevoRecibo.BANCO         = Convert.ToDecimal(this.cbxbancos.SelectedValue);
            nuevoRecibo.NUMERO_CHEQUE = this.txtcheque.Text;
            nuevoRecibo.CONCEPTO      = Convert.ToDecimal(this.cbxconcepto.SelectedValue);
            nuevoRecibo.TOTAL         = Convert.ToDecimal(this.txttotal.Text);
            nuevoRecibo.PRECIO        = Convert.ToDecimal(this.txtprecio.Text);
            nuevoRecibo.CANTIDAD      = Convert.ToDecimal(this.txtcantidad.Text);
            nuevoRecibo.PAIS          = this.cbxpais.SelectedValue.ToString();
            nuevoRecibo.OBSERVACION_3 = this.txtobservacion.Text;

            Recibo           guardar = new Recibo();
            Mensaje <Recibo> resp    = guardar.registrarRecibo(nuevoRecibo);

            if (resp.codigo == -2)
            {
                validaCorrelativoExistente            = true;
                mensajeValidacionCorrelativoExistente = resp.mensaje;
            }
            else if (resp.codigo == 1)
            {
                validaCorrelativoExistente = false;
                nuevoregistro();
            }
        }
Example #12
0
        public Mensaje <Participante> validaInfoParticipante(REC01_RECIBO arg)
        {
            Mensaje <Participante> result = new Mensaje <Participante>();

            result.codigo  = 1;
            result.mensaje = "Ocurrio un error en Base de Datos";
            result.data    = new Participante();

            try
            {
                using (var db = new EsquemaREC01())
                {
                    //SI EL NIT ES C/F NO ES NECESARIO VALIDAR PARA REGISTRAR O ACTUALIZAR
                    if (arg.NIT != "C/F")
                    {
                        var valida = db.REC01_PARTICIPANTE.Where(p => p.NIT.Trim() == arg.NIT.Trim()).Select(p => p).SingleOrDefault();

                        //SI EXISITE EL NIT, SE COMPARAN DATOS EN BD CON LOS QUE TRAE EL RECIBO Y SE EVALUA SI EXISTEN DIFERENCIAS
                        if (valida != null)
                        {
                            //SI VARIAN LOS DATOS SE PROCEDE A ACTUALIZAR
                            if (valida.NOMBRE != arg.NOMBRE || valida.DIRECCION != arg.DIRECCION || valida.PAIS != arg.PAIS || valida.TELEFONO != arg.TELEFONO)
                            {
                                Mensaje <Participante> resp = actualizarParticipante(arg);
                                result.codigo  = resp.codigo;
                                result.mensaje = resp.mensaje;
                                return(result);
                            }
                            //SI NO VARIAN LOS DATOS, NO SE REALIZA NINGUNA ACCION
                            else
                            {
                                result.codigo  = 0;
                                result.mensaje = "Ok";
                                return(result);
                            }
                        }
                        //SI EL NIT NO SE ENCUENTRA EN LA BD SE PROCEDE A REGISTRAR EL NUEVO PARTICIPANTE
                        else
                        {
                            Mensaje <Participante> resp = guardarParticipante(arg);
                            result.codigo  = resp.codigo;
                            result.mensaje = resp.mensaje;
                            return(result);
                        }
                    }
                    else
                    {
                        result.codigo  = 0;
                        result.mensaje = "Ok";
                        return(result);
                    }
                }
            }
            catch (Exception ex)
            {
                result.codigo       = -1;
                result.mensaje      = "Ocurrio una excepcion al validar el Participante, ref: " + ex.ToString();
                result.mensajeError = ex.ToString();
                return(result);
            }
        }
Example #13
0
        /// <summary>
        /// Metodo que Actualiza un Recibo
        /// </summary>
        /// <param name="rec"></param>
        /// <returns></returns>
        public Mensaje <Recibo> ActualizarRecibo(REC01_RECIBO rec)
        {
            Mensaje <Recibo> result = new Mensaje <Recibo>();

            result.codigo  = 1;
            result.mensaje = "Ocurrio un error en base de datos al tratar de registrar el recibo";
            result.data    = new Recibo();

            try
            {
                using (var db = new EsquemaREC01())
                {
                    var reciboExistente = (from r in db.REC01_RECIBO
                                           where r.RECIBO == rec.RECIBO &&
                                           r.USUARIO_CREACION == Global.usuariologueado.ToUpper()
                                           select r).SingleOrDefault();

                    string letras = NumeroLetras.NumeroALetras(rec.TOTAL.ToString()).ToUpper();
                    if (rec.MEDIO_PAGO == 1)//MEDIO DE PAGO = 1 EQUIVALE A EFECTIVO
                    {
                        reciboExistente.NOMBRE               = rec.NOMBRE.ToUpper();
                        reciboExistente.DIRECCION            = rec.DIRECCION;
                        reciboExistente.NIT                  = rec.NIT;
                        reciboExistente.TELEFONO             = rec.TELEFONO;
                        reciboExistente.MEDIO_PAGO           = rec.MEDIO_PAGO;
                        reciboExistente.CONCEPTO             = rec.CONCEPTO;
                        reciboExistente.TOTAL                = rec.TOTAL;
                        reciboExistente.TOTAL_LETRAS         = letras;
                        reciboExistente.PRECIO               = rec.PRECIO;
                        reciboExistente.CANTIDAD             = rec.CANTIDAD;
                        reciboExistente.EVENTO               = Global.eventoActivo;//
                        reciboExistente.PAIS                 = rec.PAIS;
                        reciboExistente.OBSERVACION_3        = rec.OBSERVACION_3.ToUpper();
                        reciboExistente.ESTADO_REGISTRO      = "A";
                        reciboExistente.USUARIO_MODIFICACION = Global.usuariologueado.ToUpper();//
                        reciboExistente.FECHA_MODIFICACION   = DateTime.Now;
                        //reciboExistente.RECIBO_FISICO = rec.RECIBO_FISICO;//
                        //reciboExistente.SERIE_RECIBO = rec.SERIE_RECIBO;//
                    }
                    else if (rec.MEDIO_PAGO == 2)//MEDIO DE PAGO = 2 EQUIVALE A CHEQUE
                    {
                        reciboExistente.NOMBRE               = rec.NOMBRE.ToUpper();
                        reciboExistente.DIRECCION            = rec.DIRECCION;
                        reciboExistente.NIT                  = rec.NIT;
                        reciboExistente.TELEFONO             = rec.TELEFONO;
                        reciboExistente.MEDIO_PAGO           = rec.MEDIO_PAGO;
                        reciboExistente.BANCO                = rec.BANCO;
                        reciboExistente.NUMERO_CHEQUE        = rec.NUMERO_CHEQUE;
                        reciboExistente.CONCEPTO             = rec.CONCEPTO;
                        reciboExistente.TOTAL                = rec.TOTAL;
                        reciboExistente.TOTAL_LETRAS         = letras;
                        reciboExistente.PRECIO               = rec.PRECIO;
                        reciboExistente.CANTIDAD             = rec.CANTIDAD;
                        reciboExistente.EVENTO               = rec.EVENTO;//
                        reciboExistente.PAIS                 = rec.PAIS;
                        reciboExistente.OBSERVACION_3        = rec.OBSERVACION_3.ToUpper();
                        reciboExistente.ESTADO_REGISTRO      = "A";
                        reciboExistente.USUARIO_MODIFICACION = Global.usuariologueado.ToUpper();
                        reciboExistente.FECHA_MODIFICACION   = DateTime.Now;
                        //reciboExistente.RECIBO_FISICO = rec.RECIBO_FISICO;
                        //reciboExistente.SERIE_RECIBO = rec.SERIE_RECIBO;
                    }

                    db.SaveChanges();
                }
                result.codigo  = 0;
                result.mensaje = "Se ha actualizado correctamente el Recibo No. : " + rec.RECIBO_FISICO;
                return(result);
            }
            catch (Exception ex)
            {
                result.codigo       = -1;
                result.mensaje      = "Ocurrio una excepcion, Referencia: " + ex.ToString();
                result.mensajeError = ex.ToString();
                return(result);
            }
        }
Example #14
0
        /// <summary>
        /// Metodo que Inserta un Recibo
        /// </summary>
        /// <param name="rec"></param>
        /// <returns></returns>
        public Mensaje <Recibo> NuevoRecibo(REC01_RECIBO rec)
        {
            Mensaje <Recibo> result = new Mensaje <Recibo>();

            result.codigo  = 1;
            result.mensaje = "Ocurrio un error en base de datos al tratar de registrar el recibo";
            result.data    = new Recibo();

            try
            {
                using (var db = new EsquemaREC01())
                {
                    //SE OBTIENE CORRELATIVO INTERNO POR USUARIO
                    var correlativo = (from c in db.REC01_CORRELATIVO_USUARIO
                                       where c.USUARIO == Global.usuariologueado.ToUpper() &&
                                       c.ESTADO_REGISTRO == "A"
                                       select c).SingleOrDefault();

                    //SE VALIDA EL CORRELATIVO POR USUARIO, SI RETORNA NULO ES PORQUE EL USUARIO NO HA SIDO CREADO DESDE EL SISTEMA
                    if (correlativo == null)
                    {
                        result.codigo  = -1;
                        result.mensaje = "No se pudo generar el recibo, el usuario no es operador o No fue creado desde el Sistema";
                        return(result);
                    }

                    //SE OBTIENE CORRELATIVO FISICO DE RECIBO
                    var correlativoFisico = (from c in db.REC01_CORRELATIVO_RECIBO
                                             where c.EVENTO == Global.eventoActivo &&
                                             c.USUARIO == Global.usuariologueado.ToUpper() &&
                                             c.ESTADO_REGISTRO == "A"
                                             select c).SingleOrDefault();

                    //SE VERIFICA SI EXISTE UN RECIBO CON EL CORRELATIVO FISICO QUE SE ESTA TRATANDO DE ASIGNAR EN ESTADO ACTIVO
                    var validaReciboFisico = (from vr in db.REC01_RECIBO
                                              where vr.RECIBO_FISICO == correlativoFisico.CORRELATIVO_ACTUAL &&
                                              vr.SERIE_RECIBO == Global.serieActiva.ToUpper() &&
                                              vr.ESTADO_REGISTRO == "A"
                                              select vr).SingleOrDefault();

                    if (validaReciboFisico != null)
                    {
                        result.codigo  = -2;
                        result.mensaje = "El correlativo: " + validaReciboFisico.RECIBO_FISICO + " con Serie " + Global.serieActiva + " ya ha sido utilizado anteriormente, no es posible volverlo a utilizar. Modifique el Rango Inicial o Actual en el Mantenimiento de Correlativos de Recibo o la Serie del Documento";
                        return(result);
                    }
                    else
                    {
                        string       letras      = NumeroLetras.NumeroALetras(rec.TOTAL.ToString()).ToUpper();
                        REC01_RECIBO nuevoRecibo = new REC01_RECIBO();
                        if (rec.MEDIO_PAGO == 1)//MEDIO DE PAGO = 1 EQUIVALE A EFECTIVO
                        {
                            nuevoRecibo.RECIBO           = Convert.ToDecimal(correlativo.CORRELATIVO_DISPONIBLE);
                            nuevoRecibo.NOMBRE           = rec.NOMBRE.ToUpper();
                            nuevoRecibo.DIRECCION        = rec.DIRECCION;
                            nuevoRecibo.NIT              = rec.NIT;
                            nuevoRecibo.TELEFONO         = rec.TELEFONO;
                            nuevoRecibo.MEDIO_PAGO       = rec.MEDIO_PAGO;
                            nuevoRecibo.CONCEPTO         = rec.CONCEPTO;
                            nuevoRecibo.TOTAL            = rec.TOTAL;
                            nuevoRecibo.TOTAL_LETRAS     = letras;
                            nuevoRecibo.PRECIO           = rec.PRECIO;
                            nuevoRecibo.CANTIDAD         = rec.CANTIDAD;
                            nuevoRecibo.EVENTO           = Global.eventoActivo;
                            nuevoRecibo.PAIS             = rec.PAIS;
                            nuevoRecibo.OBSERVACION_3    = rec.OBSERVACION_3.ToUpper();
                            nuevoRecibo.ESTADO_REGISTRO  = "A";
                            nuevoRecibo.USUARIO_CREACION = Global.usuariologueado.ToUpper();
                            nuevoRecibo.FECHA_CREACION   = DateTime.Now;
                            nuevoRecibo.RECIBO_FISICO    = correlativoFisico.CORRELATIVO_ACTUAL;
                            nuevoRecibo.SERIE_RECIBO     = Global.serieActiva;
                        }
                        else if (rec.MEDIO_PAGO == 2)//MEDIO DE PAGO = 2 EQUIVALE A CHEQUE
                        {
                            nuevoRecibo.RECIBO           = Convert.ToDecimal(correlativo.CORRELATIVO_DISPONIBLE);
                            nuevoRecibo.NOMBRE           = rec.NOMBRE.ToUpper();
                            nuevoRecibo.DIRECCION        = rec.DIRECCION;
                            nuevoRecibo.NIT              = rec.NIT;
                            nuevoRecibo.TELEFONO         = rec.TELEFONO;
                            nuevoRecibo.MEDIO_PAGO       = rec.MEDIO_PAGO;
                            nuevoRecibo.BANCO            = rec.BANCO;
                            nuevoRecibo.NUMERO_CHEQUE    = rec.NUMERO_CHEQUE;
                            nuevoRecibo.CONCEPTO         = rec.CONCEPTO;
                            nuevoRecibo.TOTAL            = rec.TOTAL;
                            nuevoRecibo.TOTAL_LETRAS     = letras;
                            nuevoRecibo.PRECIO           = rec.PRECIO;
                            nuevoRecibo.CANTIDAD         = rec.CANTIDAD;
                            nuevoRecibo.EVENTO           = Global.eventoActivo;
                            nuevoRecibo.PAIS             = rec.PAIS;
                            nuevoRecibo.OBSERVACION_3    = rec.OBSERVACION_3.ToUpper();
                            nuevoRecibo.ESTADO_REGISTRO  = "A";
                            nuevoRecibo.USUARIO_CREACION = Global.usuariologueado.ToUpper();
                            nuevoRecibo.FECHA_CREACION   = DateTime.Now;
                            nuevoRecibo.RECIBO_FISICO    = correlativoFisico.CORRELATIVO_ACTUAL;
                            nuevoRecibo.SERIE_RECIBO     = Global.serieActiva;
                        }
                        db.REC01_RECIBO.Add(nuevoRecibo);
                        correlativo.CORRELATIVO_DISPONIBLE++;
                        correlativoFisico.CORRELATIVO_ACTUAL++;
                        db.SaveChanges();
                    }
                }
                result.codigo  = 0;
                result.mensaje = "Se registro el recibo con nombre: " + rec.NOMBRE + " de forma Exitosa...!!!";
                return(result);
            }
            catch (Exception ex)
            {
                result.codigo       = -1;
                result.mensaje      = "Ocurrio una Excepcion, referencia: " + ex.ToString();
                result.mensajeError = ex.ToString();
                return(result);
            }
        }
Example #15
0
        /// <summary>
        /// Metodo para Anular recibo
        /// </summary>
        /// <param name="re"></param>
        /// <returns></returns>
        public Mensaje <Recibo> AnularRecibo(REC01_ANULACION re)
        {
            Mensaje <Recibo> result = new Mensaje <Recibo>();

            result.codigo  = 1;
            result.mensaje = "Ocurrio un error en base de datos al tratar de Anular el Recibo";
            result.data    = new Recibo();

            try
            {
                using (var trans = new TransactionScope())
                {
                    using (var db = new EsquemaREC01())
                    {
                        //Se valida que exista el Reicibo
                        REC01_RECIBO validaRecibo = (from r in db.REC01_RECIBO
                                                     where r.RECIBO == re.RECIBO &&
                                                     r.USUARIO_CREACION.ToUpper() == re.USUARIO_CREACION.ToUpper()
                                                     select r).FirstOrDefault();
                        if (validaRecibo == null)
                        {
                            result.codigo  = -1;
                            result.mensaje = "No existe el recibo indicado";
                            return(result);
                        }

                        validaRecibo.ESTADO_REGISTRO      = "N";
                        validaRecibo.USUARIO_MODIFICACION = Global.usuariologueado;
                        validaRecibo.FECHA_MODIFICACION   = DateTime.Now;
                        //Se procede a modificar el estado_registro del Recibo
                        int res = db.SaveChanges();
                        if (res <= 0)
                        {
                            Transaction.Current.Rollback();
                            result.codigo  = 2;
                            result.mensaje = "No fue posible Cambiar el estado del Recibo";
                            return(result);
                        }

                        //Se obtiene el valor del correlativo de la tabla REC01_ANULACION para ser utilizado como identificador de Anulacion
                        var     valAnulado  = (from a in db.REC01_ANULACION select a.ANULACION).ToList();
                        decimal corrAnulado = 0;

                        if (valAnulado.Count > 0)
                        {
                            corrAnulado = valAnulado.Max() + 1;
                        }
                        else
                        {
                            corrAnulado = 1;
                        }

                        REC01_ANULACION nuevaAnulacion = new REC01_ANULACION()
                        {
                            ANULACION         = corrAnulado,
                            RECIBO            = re.RECIBO,
                            USUARIO_CREACION  = re.USUARIO_CREACION,
                            MOTIVO            = re.MOTIVO,
                            RECIBO_FISICO     = re.RECIBO_FISICO,
                            SERIE             = re.SERIE.ToUpper(),
                            ESTADO_REGISTRO   = "A",
                            USUARIO_ANULACION = Global.usuariologueado,
                            FECHA_ANULACION   = DateTime.Now
                        };

                        db.REC01_ANULACION.Add(nuevaAnulacion);
                        res = db.SaveChanges();
                        if (res <= 0)
                        {
                            Transaction.Current.Rollback();
                            result.codigo  = 2;
                            result.mensaje = "No fue posible registrar la Anulacion";
                            return(result);
                        }
                    }
                    trans.Complete();
                    result.codigo  = 0;
                    result.mensaje = "Se Anulo el Recibo de forma Exitosa...!!!";
                    return(result);
                }
            }
            catch (Exception ex)
            {
                result.codigo       = -1;
                result.mensaje      = "Ocurrio una excepcion al tratar de Anular el Recibo, Referencia " + ex.ToString();
                result.mensajeError = ex.ToString();
                return(result);
            }
        }