예제 #1
0
        /// <summary>
        /// Metodo que registra o actualiza el rango de correlativos fisicos para un Evento en Especifico por un Usuario en Sesion
        /// </summary>
        /// <param name="co"></param>
        /// <returns></returns>
        public Mensaje <Recibo> guardarCorrelativoFisico(REC01_CORRELATIVO_RECIBO co)
        {
            Mensaje <Recibo> result = new Mensaje <Recibo>();

            result.codigo  = 1;
            result.mensaje = "Ocurrio un error en Base de Datos al actualizar el correlativo fisico";
            result.data    = new Recibo();

            try
            {
                using (var db = new EsquemaREC01())
                {
                    REC01_CORRELATIVO_RECIBO correlativoActual = (from c in db.REC01_CORRELATIVO_RECIBO
                                                                  where c.EVENTO == Global.eventoActivo &&
                                                                  c.USUARIO == Global.usuariologueado
                                                                  select c).SingleOrDefault();
                    if (correlativoActual == null)
                    {
                        REC01_CORRELATIVO_RECIBO nuevoCorrelativo = new REC01_CORRELATIVO_RECIBO()
                        {
                            EVENTO             = Global.eventoActivo,
                            USUARIO            = Global.usuariologueado,
                            SERIE              = co.SERIE.ToUpper(),
                            CORRELATIVO_ACTUAL = co.CORRELATIVO_ACTUAL,
                            CORRELATIVO_FINAL  = co.CORRELATIVO_FINAL,
                            DESCRIPCION        = "Correlativo de Recibos para el Evento " + Global.nombreeventoActivo,
                            ESTADO_REGISTRO    = "A",
                            USUARIO_CREACION   = Global.usuariologueado,
                            FECHA_CREACION     = DateTime.Now
                        };
                        db.REC01_CORRELATIVO_RECIBO.Add(nuevoCorrelativo);
                        db.SaveChanges();
                        result.mensaje = "Se registro correctamente el Correlativo Fisico de Recibo para el Evento: " + Global.nombreeventoActivo;
                    }
                    else
                    {
                        correlativoActual.CORRELATIVO_ACTUAL = co.CORRELATIVO_ACTUAL;
                        correlativoActual.CORRELATIVO_FINAL  = co.CORRELATIVO_FINAL;
                        correlativoActual.SERIE = co.SERIE.ToUpper();
                        correlativoActual.USUARIO_MODIFICACION = Global.usuariologueado;
                        correlativoActual.FECHA_MODIFICACION   = DateTime.Now;
                        db.SaveChanges();
                        result.mensaje = "Se ha actualizado correctamente el Correlativo Fisico de Recibo para el Evento: " + Global.nombreeventoActivo;
                    }
                }
                result.codigo = 0;
                return(result);
            }
            catch (Exception ex)
            {
                result.codigo       = -1;
                result.mensaje      = "Ocurrio una excepcion, Referencia: " + ex.ToString();
                result.mensajeError = ex.ToString();
                return(result);
            }
        }
예제 #2
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);
            }
        }
예제 #3
0
        /// <summary>
        /// Metodo que se utiliza para registrar un nuevo Banco
        /// </summary>
        /// <param name="ev"></param>
        /// <returns></returns>
        public Mensaje <Banco> RegistrarBanco(REC01_BANCO ba)
        {
            Mensaje <Banco> result = new Mensaje <Banco>();

            result.codigo  = 1;
            result.mensaje = "Ocurrio un Error en base de datos al tratar de registrar la entidad Bancaria";
            result.data    = new Banco();

            try
            {
                using (var db = new EsquemaREC01())
                {
                    var     valcorrelativo = (from li in db.REC01_BANCO select li.BANCO).ToList();
                    decimal correlativo    = 0;

                    if (valcorrelativo.Count > 0)
                    {
                        correlativo = valcorrelativo.Max() + 1;
                    }
                    else
                    {
                        correlativo = 1;
                    }

                    REC01_BANCO nuevoBanco = new REC01_BANCO()
                    {
                        //BANCO = correlativo,
                        //NOMBRE = ba.NOMBRE,
                        //ESTADO_REGISTRO = ba.ESTADO_REGISTRO,
                        //USUARIO_CREACION = Global.usuariologueado,
                        //FECHA_CREACION = DateTime.Now
                    };
                    nuevoBanco.BANCO            = correlativo;
                    nuevoBanco.NOMBRE           = ba.NOMBRE;
                    nuevoBanco.ESTADO_REGISTRO  = ba.ESTADO_REGISTRO;
                    nuevoBanco.USUARIO_CREACION = Global.usuariologueado;
                    nuevoBanco.FECHA_CREACION   = DateTime.Now;

                    db.REC01_BANCO.Add(nuevoBanco);
                    db.SaveChanges();
                }
                result.codigo  = 0;
                result.mensaje = "Se ha registrado correctamente la entidad Bancaria: " + ba.NOMBRE;
                return(result);
            }
            catch (Exception ex)
            {
                result.codigo       = -1;
                result.mensaje      = "Ocurrio una excepcion, Referencia: " + ex.ToString();
                result.mensajeError = ex.ToString();
                return(result);
            }
        }
예제 #4
0
        /// <summary>
        /// Metodo que se utiliza para registrar un nuevo Concepto
        /// </summary>
        /// <param name="co"></param>
        /// <returns></returns>
        public Mensaje <Concepto> RegistrarConcepto(REC01_CONCEPTO co)
        {
            Mensaje <Concepto> result = new Mensaje <Concepto>();

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

            try
            {
                using (var db = new EsquemaREC01())
                {
                    var     valcorrelativo = (from li in db.REC01_CONCEPTO select li.CONCEPTO).ToList();
                    decimal correlativo    = 0;

                    if (valcorrelativo.Count > 0)
                    {
                        correlativo = valcorrelativo.Max() + 1;
                    }
                    else
                    {
                        correlativo = 1;
                    }

                    REC01_CONCEPTO nuevoConcepto = new REC01_CONCEPTO()
                    {
                        CONCEPTO         = correlativo,
                        DESCRIPCION      = co.DESCRIPCION,
                        PRECIO           = co.PRECIO,
                        ESTADO_REGISTRO  = co.ESTADO_REGISTRO,
                        USUARIO_CREACION = Global.usuariologueado,
                        FECHA_CREACION   = DateTime.Now
                    };

                    db.REC01_CONCEPTO.Add(nuevoConcepto);
                    db.SaveChanges();
                }
                result.codigo  = 0;
                result.mensaje = "Se ha registrado correctamente el Concepto: " + co.DESCRIPCION;
                return(result);
            }
            catch (Exception ex)
            {
                result.codigo       = -1;
                result.mensaje      = "Ocurrio una excepcion, Referencia: " + ex.ToString();
                result.mensajeError = ex.ToString();
                return(result);
            }
        }
예제 #5
0
        /// <summary>
        /// Metodo que se utiliza para Modificar el nombre, precio o estado de un Concepto
        /// </summary>
        /// <param name="co"></param>
        /// <returns></returns>
        public Mensaje <Concepto> ActualizarRegistroConcepto(REC01_CONCEPTO co)
        {
            Mensaje <Concepto> result = new Mensaje <Concepto>();

            result.codigo  = 1;
            result.mensaje = "Ocurrio un Error en base de datos al Actualizar el registro del Concepto " + co.DESCRIPCION;
            result.data    = new Concepto();

            try
            {
                using (var db = new EsquemaREC01())
                {
                    REC01_CONCEPTO nuevoConcepto = (from c in db.REC01_CONCEPTO
                                                    where c.CONCEPTO == co.CONCEPTO
                                                    select c).SingleOrDefault();

                    if (nuevoConcepto == null)
                    {
                        result.codigo  = -1;
                        result.mensaje = "No existe ningun registro con el dato del Concepto enviando para su Actualizacion";
                        return(result);
                    }

                    nuevoConcepto.DESCRIPCION          = co.DESCRIPCION;
                    nuevoConcepto.PRECIO               = co.PRECIO;
                    nuevoConcepto.ESTADO_REGISTRO      = co.ESTADO_REGISTRO;
                    nuevoConcepto.USUARIO_MODIFICACION = Global.usuariologueado;
                    nuevoConcepto.FECHA_MODIFICACION   = DateTime.Now;
                    db.SaveChanges();
                }
                result.codigo  = 0;
                result.mensaje = "Se ha actualizado correctamente el Concepto: " + co.DESCRIPCION;
                return(result);
            }
            catch (Exception ex)
            {
                result.codigo       = -1;
                result.mensaje      = "Ocurrio una excepcion, Referencia: " + ex.ToString();
                result.mensajeError = ex.ToString();
                return(result);
            }
        }
예제 #6
0
        /// <summary>
        /// Metodo que se utiliza para Modificar el nombre o estado de un Pais
        /// </summary>
        /// <param name="ev"></param>
        /// <returns></returns>
        public Mensaje <Pais> ActualizarRegistroPais(REC01_PAIS ev)
        {
            Mensaje <Pais> result = new Mensaje <Pais>();

            result.codigo  = 1;
            result.mensaje = "Ocurrio un Error en base de datos al Actualizar el registro del Pais " + ev.DESCRIPCION;
            result.data    = new Pais();

            try
            {
                using (var db = new EsquemaREC01())
                {
                    REC01_PAIS nuevoPais = (from e in db.REC01_PAIS
                                            where e.PAIS == ev.PAIS
                                            select e).SingleOrDefault();

                    if (nuevoPais == null)
                    {
                        result.codigo  = -1;
                        result.mensaje = "No existe ningun registro con el dato del Pais enviando para su Actualizacion";
                        return(result);
                    }

                    nuevoPais.DESCRIPCION          = ev.DESCRIPCION;
                    nuevoPais.ESTADO_REGISTRO      = ev.ESTADO_REGISTRO;
                    nuevoPais.USUARIO_MODIFICACION = Global.usuariologueado;
                    nuevoPais.FECHA_MODIFICACION   = DateTime.Now;
                    db.SaveChanges();
                }
                result.codigo  = 0;
                result.mensaje = "Se ha actualizado correctamente el Pais: " + ev.DESCRIPCION;
                return(result);
            }
            catch (Exception ex)
            {
                result.codigo       = -1;
                result.mensaje      = "Ocurrio una excepcion, Referencia: " + ex.ToString();
                result.mensajeError = ex.ToString();
                return(result);
            }
        }
예제 #7
0
        /// <summary>
        /// Metodo que se utiliza para Modificar el nombre o estado de un Banco
        /// </summary>
        /// <param name="ev"></param>
        /// <returns></returns>
        public Mensaje <Banco> ActualizarRegistroBanco(REC01_BANCO ev)
        {
            Mensaje <Banco> result = new Mensaje <Banco>();

            result.codigo  = 1;
            result.mensaje = "Ocurrio un Error en base de datos al Actualizar el registro del Banco " + ev.NOMBRE;
            result.data    = new Banco();

            try
            {
                using (var db = new EsquemaREC01())
                {
                    REC01_BANCO nuevoBanco = (from e in db.REC01_BANCO
                                              where e.BANCO == ev.BANCO
                                              select e).SingleOrDefault();

                    if (nuevoBanco == null)
                    {
                        result.codigo  = -1;
                        result.mensaje = "No existe ningun registro con el dato del Banco enviando para su Actualizacion";
                        return(result);
                    }

                    nuevoBanco.NOMBRE               = ev.NOMBRE;
                    nuevoBanco.ESTADO_REGISTRO      = ev.ESTADO_REGISTRO;
                    nuevoBanco.USUARIO_MODIFICACION = Global.usuariologueado;
                    nuevoBanco.FECHA_MODIFICACION   = DateTime.Now;
                    db.SaveChanges();
                }
                result.codigo  = 0;
                result.mensaje = "Se ha actualizado correctamente el Banco: " + ev.NOMBRE;
                return(result);
            }
            catch (Exception ex)
            {
                result.codigo       = -1;
                result.mensaje      = "Ocurrio una excepcion, Referencia: " + ex.ToString();
                result.mensajeError = ex.ToString();
                return(result);
            }
        }
예제 #8
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);
            }
        }
예제 #9
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);
            }
        }
예제 #10
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);
            }
        }
예제 #11
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);
            }
        }