コード例 #1
0
        /// <summary>
        /// Método para ingresar un nuevo CQR en la base de datos.
        /// </summary>
        /// <param name="infoCQR"></param>
        /// <returns></returns>
        public MensajesCQR RegistroCQR(CQR infoCQR)
        {
            MensajesCQR msjCQR = new MensajesCQR();

            try
            {
                NpgsqlTransaction tran = conn_BD.BeginTransaction();
                using (NpgsqlCommand cmd = new NpgsqlCommand("insert into dcicc_CQR (id_CQR,impreso_cqr) VALUES (@ic,@imc)", conn_BD))
                {
                    cmd.Parameters.Add("ic", NpgsqlTypes.NpgsqlDbType.Varchar).Value  = infoCQR.IdCqr;
                    cmd.Parameters.Add("imc", NpgsqlTypes.NpgsqlDbType.Boolean).Value = infoCQR.Impreso;
                    cmd.ExecuteNonQuery();
                }
                tran.Commit();
                conn_BD.Close();
                msjCQR.OperacionExitosa = true;
            }
            catch (Exception e)
            {
                conn_BD.Close();
                msjCQR.OperacionExitosa = false;
                msjCQR.MensajeError     = e.Message;
            }
            return(msjCQR);
        }
コード例 #2
0
        /// <summary>
        /// Método para obtener los ID de los CQR.
        /// </summary>
        /// <param name="nombreFuncion">Tipo de función a llamar: consultaCQR</param>
        /// <returns></returns>
        public MensajesCQR ObtenerIdCQR()
        {
            List <CQR>  lstCQR = new List <CQR>();
            MensajesCQR msjCQR = new MensajesCQR();

            try
            {
                using (NpgsqlCommand cmd = new NpgsqlCommand("consultacqr", conn_BD))
                {
                    cmd.CommandType = CommandType.StoredProcedure;
                    using (NpgsqlDataReader dr = cmd.ExecuteReader())
                    {
                        while (dr.Read())
                        {
                            CQR objCQR = new CQR
                            {
                                IdCqr = dr[0].ToString().Trim()
                            };
                            lstCQR.Add(objCQR);
                        }
                        conn_BD.Close();
                        msjCQR.ListaObjetoInventarios = lstCQR;
                        msjCQR.OperacionExitosa       = true;
                    }
                }
            }
            catch (Exception e)
            {
                conn_BD.Close();
                msjCQR.OperacionExitosa = false;
                msjCQR.MensajeError     = e.Message;
            }
            return(msjCQR);
        }
コード例 #3
0
        /// <summary>
        /// Método para actualizar el estado de impreso de un Código QR en la base de datos.
        /// </summary>
        /// <param name="infoActivo"></param>
        /// <returns></returns>
        public MensajesCQR ActualizacionQR(List <Accesorios> lstAccesorios)
        {
            MensajesCQR msjCQR = new MensajesCQR();

            try
            {
                NpgsqlTransaction tran = conn_BD.BeginTransaction();
                foreach (var item in lstAccesorios)
                {
                    if (!item.ImpresoCQR)
                    {
                        using (NpgsqlCommand cmd = new NpgsqlCommand("UPDATE public.dcicc_cqr SET impreso_cqr=@imcq WHERE id_cqr=@icq;", conn_BD))
                        {
                            cmd.Parameters.Add("imcq", NpgsqlTypes.NpgsqlDbType.Boolean).Value = true;
                            cmd.Parameters.Add("icq", NpgsqlTypes.NpgsqlDbType.Varchar).Value  = item.IdCQR;
                            cmd.ExecuteNonQuery();
                        }
                    }
                }
                tran.Commit();
                conn_BD.Close();
                msjCQR.OperacionExitosa = true;
            }
            catch (Exception e)
            {
                conn_BD.Close();
                msjCQR.OperacionExitosa = false;
                msjCQR.MensajeError     = e.Message;
            }
            return(msjCQR);
        }
コード例 #4
0
        /// <summary>
        /// Método para generar el Id del código QR
        /// </summary>
        /// <returns></returns>
        public string GenerarIdCodigoQR(string NickUsuarioSesion)
        {
            string mensajesCQR = string.Empty;
            string idCQR       = string.Format("DCICC.{0}.CQR", tipo_CQR);

            try
            {
                MensajesCQR     msjCQR         = new MensajesCQR();
                ActivosAccDatos objCQRAccDatos = new ActivosAccDatos(NickUsuarioSesion);
                msjCQR = objCQRAccDatos.ObtenerIdCQR();
                List <CQR> lst = new List <CQR>();
                lst = msjCQR.ListaObjetoInventarios;
                int contACC = 0;
                int contACT = 0;
                foreach (var item in lst)
                {
                    if (item.IdCqr.Substring(0, 9) == "DCICC.ACC")
                    {
                        contACC++;
                    }
                    else
                    {
                        contACT++;
                    }
                }
                if (msjCQR.OperacionExitosa)
                {
                    int sizeLst = 0;
                    if (tipo_CQR == "ACT")
                    {
                        sizeLst = contACT;
                    }
                    else
                    {
                        sizeLst = contACC;
                    }

                    if (sizeLst == 0)
                    {
                        idCQR += "1";
                    }
                    else
                    {
                        idCQR += sizeLst + 1;
                    }
                    Logs.Info("El ID para el código QR ha sido generado correctamente.");
                }
                else
                {
                    idCQR += "0";
                }
            }
            catch (Exception e)
            {
                Logs.Error(string.Format("No se ha podido generar el Id para el código QR: {0}", e.Message));
            }
            return(idCQR);
        }
コード例 #5
0
        public ActionResult ObtenerPDFQRSimple()
        {
            ReporteQR   objReporteQR    = new ReporteQR();
            string      mensajesActivos = string.Empty;
            MensajesCQR msjCQR          = new MensajesCQR();
            Activos     infoActivo      = new Activos();

            byte[] pdfQR = null;
            try
            {
                if (Nombre_ActivoRaiz != "")
                {
                    pdfQR = objReporteQR.GenerarPDFQRSimple(objReporteQR.GenerarTablaReporteQR(Id_CQR, Nombre_Activo, Nombre_ActivoRaiz));
                }
                else
                {
                    pdfQR = objReporteQR.GenerarPDFQRSimple(objReporteQR.GenerarTablaReporteQR(Id_CQR, Nombre_Activo, null));
                }
                infoActivo = new Activos()
                {
                    IdCQR        = Id_CQR,
                    NombreActivo = Nombre_Activo,
                };
                ActivosAccDatos objActivosAccDatos = new ActivosAccDatos((string)Session["NickUsuario"]);
                {
                    msjCQR = objActivosAccDatos.ActualizarCQR(infoActivo, null, false);
                    if (msjCQR.OperacionExitosa)
                    {
                        mensajesActivos = string.Format("El CQR con ID: {0} ha sido modificado correctamente.", infoActivo.IdCQR);
                        Logs.Info(mensajesActivos);
                        var contentDispositionHeader = new System.Net.Mime.ContentDisposition
                        {
                            Inline   = true,
                            FileName = string.Format("DCICC.CQR.{0}.{1}.{2}", Nombre_Activo, DateTime.Now.ToString("dd-MM-yyyy.hh-mm-ss"), "pdf")
                        };
                        Response.Headers.Add("Content-Disposition", contentDispositionHeader.ToString());
                    }
                    else
                    {
                        mensajesActivos = string.Format("No se ha podido actualizar el CQR con ID: {0}: {1}", infoActivo.IdCQR, msjCQR.MensajeError);
                    }
                }
            }
            catch (Exception e)
            {
                Logs.Error(string.Format("{0}: {1}", mensajesActivos, e.Message));
            }
            return(File(pdfQR, System.Net.Mime.MediaTypeNames.Application.Pdf));
        }
コード例 #6
0
        public MensajesCQR ActualizarCQR([FromBody] List <Activos> lstActivos)
        {
            MensajesCQR            msjCQR = new MensajesCQR();
            ActualizacionesActivos objActualizacionesActivosBD = new ActualizacionesActivos();

            msjCQR = objActualizacionesActivosBD.ActualizacionQR(lstActivos);
            if (msjCQR.OperacionExitosa)
            {
                Logs.Info("Actualización de Lista de CQRs realizada exitosamente.");
            }
            else
            {
                Logs.Error(msjCQR.MensajeError);
            }
            return(msjCQR);
        }
コード例 #7
0
        public MensajesCQR ActualizarCQR([FromBody] Activos infoActivo)
        {
            MensajesCQR            msjCQR = new MensajesCQR();
            ActualizacionesActivos objActualizacionesActivosBD = new ActualizacionesActivos();

            msjCQR = objActualizacionesActivosBD.ActualizacionQR(infoActivo);
            if (msjCQR.OperacionExitosa)
            {
                Logs.Info(string.Format("Actualización de CQR con ID: {0} realizada exitosamente.", infoActivo.IdCQR));
            }
            else
            {
                Logs.Error(msjCQR.MensajeError);
            }
            return(msjCQR);
        }
コード例 #8
0
        public MensajesCQR RegistrarCQR([FromBody] CQR infoCQR)
        {
            MensajesCQR        msjCQR = new MensajesCQR();
            InsercionesActivos objInsercionesCQRBD = new InsercionesActivos();

            msjCQR = objInsercionesCQRBD.RegistroCQR(infoCQR);
            if (msjCQR.OperacionExitosa)
            {
                Logs.Info(string.Format("Registro de CQR \"{0}\" realizado exitosamente.", infoCQR.IdCqr));
            }
            else
            {
                Logs.Error(msjCQR.MensajeError);
            }
            return(msjCQR);
        }
コード例 #9
0
        public MensajesCQR ObtenerIdCQR()
        {
            MensajesCQR      msjCQR            = new MensajesCQR();
            ConsultasActivos objConsultasCQRBD = new ConsultasActivos();

            msjCQR = objConsultasCQRBD.ObtenerIdCQR();
            if (msjCQR.OperacionExitosa)
            {
                Logs.Info("Consulta de ID de CQR realizada exitosamente.");
            }
            else
            {
                Logs.Error(msjCQR.MensajeError);
            }
            return(msjCQR);
        }
コード例 #10
0
        public ActionResult NuevoAccesorio(Accesorios infoAccesorios)
        {
            Id_CQR            = string.Empty;
            Nombre_Activo     = string.Empty;
            Nombre_ActivoRaiz = string.Empty;
            Tipo_CQR          = string.Empty;
            string             mensajesAccesorios    = string.Empty;
            MensajesAccesorios msjAccesorios         = new MensajesAccesorios();
            AccesoriosAccDatos objAccesoriosAccDatos = new AccesoriosAccDatos((string)Session["NickUsuario"]);

            try
            {
                if (objAccesoriosAccDatos.ObtenerAccesorios("Nombres").ListaObjetoInventarios.Find(x => x.NombreAccesorio.Trim().ToLower() == infoAccesorios.NombreAccesorio.Trim().ToLower()) == null)
                {
                    Tipo_CQR = "ACC";
                    MensajesCQR msjCQR = NuevoCQR(Tipo_CQR);
                    if (msjCQR.OperacionExitosa)
                    {
                        infoAccesorios.IdCQR = msjCQR.ObjetoInventarios.IdCqr;
                        msjAccesorios        = objAccesoriosAccDatos.RegistrarAccesorios(infoAccesorios);
                        if (msjAccesorios.OperacionExitosa)
                        {
                            SetIdCQR(infoAccesorios.IdCQR);
                            SetNombreActivo(infoAccesorios.NombreAccesorio);
                            SetNombreActivoRaiz(infoAccesorios.NombreDetalleActivo);
                            msjAccesorios.ObjetoInventarios.NombreDetalleActivo = infoAccesorios.NombreDetalleActivo;
                            mensajesAccesorios = string.Format("El accesorio \"{0}\" ha sido registrado exitosamente.", infoAccesorios.NombreAccesorio);
                            Logs.Info(mensajesAccesorios);
                        }
                        else
                        {
                            mensajesAccesorios = string.Format("No se ha podido registrar el accesorio \"{0}\": {1}", infoAccesorios.NombreAccesorio, msjAccesorios.MensajeError);
                            Logs.Error(mensajesAccesorios);
                        }
                    }
                }
                else
                {
                    msjAccesorios.OperacionExitosa = false;
                }
            }
            catch (Exception e)
            {
                Logs.Error(string.Format("{0}: {1}", mensajesAccesorios, e.Message));
            }
            return(Json(msjAccesorios, JsonRequestBehavior.AllowGet));
        }
コード例 #11
0
        /// <summary>
        /// Método para obtener una lista con los CQR de la base de datos.
        /// </summary>
        /// <returns></returns>
        public MensajesCQR ObtenerIdCQR()
        {
            MensajesCQR msjCQR = new MensajesCQR();

            try
            {
                HttpResponseMessage response = client_Service.GetAsync("Activos/ObtenerIdCQR").Result;
                if (response.IsSuccessStatusCode)
                {
                    var CQRJson = response.Content.ReadAsStringAsync().Result;
                    msjCQR = JsonConvert.DeserializeObject <MensajesCQR>(CQRJson);
                }
            }
            catch (Exception e)
            {
                Logs.Error(string.Format("Error en la conexión para obtener el CQR: {0}.", e.Message));
            }
            return(msjCQR);
        }
コード例 #12
0
        /// <summary>
        /// Método para actualizar el estado impreso de un Código QR en la base de datos.
        /// </summary>
        /// <param name="infoActivo"></param>
        /// /// <param name="actEstado">Boolean para definir si se actualizará un solo CQR o una lista</param>
        /// <returns></returns>
        public MensajesCQR ActualizarCQR(Activos infoActivo, List <Activos> lstActivos, bool actEstado)
        {
            MensajesCQR msjActivos = new MensajesCQR();

            try
            {
                var response = actEstado?client_Service.PostAsJsonAsync("Activos/ActualizarCQRLista", lstActivos).Result: client_Service.PostAsJsonAsync("Activos/ActualizarCQR", infoActivo).Result;
                if (response.IsSuccessStatusCode)
                {
                    var ActivosJson = response.Content.ReadAsStringAsync().Result;
                    msjActivos = JsonConvert.DeserializeObject <MensajesCQR>(ActivosJson);
                }
            }
            catch (Exception e)
            {
                Logs.Error(string.Format("Error en la conexión para actualizar un CQR: {0}", e.Message));
            }
            return(msjActivos);
        }
コード例 #13
0
        /// <summary>
        /// Método para registrar un nuevo CQR en la base de datos.
        /// </summary>
        /// <param name="infoCQR"></param>
        /// <returns></returns>
        public MensajesCQR RegistrarCQR(CQR infoCQR)
        {
            MensajesCQR msjCQR = new MensajesCQR();

            try
            {
                var response = client_Service.PostAsJsonAsync("Activos/RegistrarCQR", infoCQR).Result;
                if (response.IsSuccessStatusCode)
                {
                    var CQRJson = response.Content.ReadAsStringAsync().Result;
                    msjCQR = JsonConvert.DeserializeObject <MensajesCQR>(CQRJson);
                }
            }
            catch (Exception e)
            {
                Logs.Error(string.Format("Error en la conexión para registrar un CQR: {0}", e.Message));
            }
            return(msjCQR);
        }
コード例 #14
0
        /// <summary>
        /// Método para registrar el QR del nuevo Activo en la base de datos.
        /// </summary>
        /// <returns></returns>
        public MensajesCQR NuevoCQR(string tipoQR)
        {
            GeneracionCQR objGeneracionQR = new GeneracionCQR(tipoQR);
            string        IdCQR           = objGeneracionQR.GenerarIdCodigoQR((string)Session["NickUsuario"]);
            var           bitmap          = objGeneracionQR.GenerarCodigoQR(IdCQR);
            var           bitmapBytes     = objGeneracionQR.GenQRBytes(bitmap);
            CQR           infoCQR         = new CQR
            {
                IdCqr   = IdCQR,
                Impreso = false
            };
            string      mensajesCQR = string.Empty;
            MensajesCQR msjCQR      = new MensajesCQR();

            try
            {
                ActivosAccDatos objCQRAccDatos = new ActivosAccDatos((string)Session["NickUsuario"]);
                msjCQR = objCQRAccDatos.RegistrarCQR(infoCQR);
                if (msjCQR.OperacionExitosa)
                {
                    mensajesCQR = string.Format("El CQR \"{0}\" ha sido registrado exitosamente.", infoCQR.IdCqr);
                    msjCQR.ObjetoInventarios = infoCQR;
                    Logs.Info(mensajesCQR);
                }
                else
                {
                    mensajesCQR = string.Format("No se ha podido registrar el CQR \"{0}\": {1}", infoCQR.IdCqr, msjCQR.MensajeError);
                    Logs.Error(mensajesCQR);
                }
            }
            catch (Exception e)
            {
                Logs.Error(string.Format("{0}: {1}", mensajesCQR, e.Message));
            }
            return(msjCQR);
        }