public async Task <int> MantAdministrador(string pModo, int pIdUsuario, string pNombreUsuario, string pApellidosUsuario, string pDescripcionUsuario, string pCorreoUsuario, string pClaveUsuario,
                                                  string pImagenUsuario, string pOpcionNotificacion, int pIdRol, string pEstadoUsuario, string pUsuarioCreacion, string pUsuarioModificacion)
        {
            var encryptedPassword = AesOperation.EncryptString(key, pClaveUsuario);

            int query = await conDB.SP_EXECUTE("sp_MantAdmin",
                                               new Dictionary <string, object>()
            {
                { "@pModo", pModo },
                { "@pIdUsuario", pIdUsuario },
                { "@pNombreUsuario", pNombreUsuario },
                { "@pApellidosUsuario", pApellidosUsuario },
                { "@pDescripcionUsuario", pDescripcionUsuario },
                { "@pCorreoUsuario", pCorreoUsuario },
                { "@pClaveUsuario", encryptedPassword },
                { "@pImagenUsuario", pImagenUsuario },
                { "@pOpcionNotificacion", pOpcionNotificacion },
                { "@pIdRol", pIdRol },
                { "@pEstadoUsuario", pEstadoUsuario },
                { "@pUsuarioCreacion", pUsuarioCreacion },
                { "@pUsuarioModificacion", pUsuarioModificacion },
            }
                                               );

            return(query);
        }
        public async Task <int> jsMantClave(int pIdUsuario, string pClaveUsuario, string pUsuarioModificacion)
        {
            var encryptedPassword = AesOperation.EncryptString(key, pClaveUsuario);

            int query = await conDB.SP_EXECUTE("sp_CambioClaveUsuario",
                                               new Dictionary <string, object>()
            {
                { "@pIdUsuario", pIdUsuario },
                { "@pClaveUsuario", encryptedPassword },
                { "@pUsuarioModificacion", pUsuarioModificacion },
            }
                                               );

            return(query);
        }
        public async Task <int> ModificarAdministrador(string pModo, int pIdUsuario, string txtNombreUsuario, string txtApellidosUsuario,
                                                       string txtDescripcionUsuario, string txtCorreoUsuario, string pClaveUsuario, IFormFile files, string txtImagenUsuario,
                                                       string cbOpcionNotificacion, int pIdRol, string cbEstadoUsuario, string pUsuarioCreacion, string pUsuarioModificacion)
        {
            var encryptedPassword = AesOperation.EncryptString(key, pClaveUsuario);

            var path = "";

            if (files != null)
            {
                string carpetaGuardar = Path.Combine(_enviroment.WebRootPath, "images/usuarios");
                string fileName       = pIdUsuario.ToString() + ".jpg";
                using (FileStream fs = new FileStream(Path.Combine(carpetaGuardar, fileName), FileMode.Create))
                {
                    files.CopyTo(fs);
                }
                path = Path.Combine("images/usuarios", fileName);
                path = "/" + path.Replace("\\", "/");
            }
            else
            {
                path = txtImagenUsuario;
            }

            int query = await conDB.SP_EXECUTE("sp_MantAdmin",
                                               new Dictionary <string, object>()
            {
                { "@pModo", pModo },
                { "@pIdUsuario", pIdUsuario },
                { "@pNombreUsuario", txtNombreUsuario },
                { "@pApellidosUsuario", txtApellidosUsuario },
                { "@pDescripcionUsuario", txtDescripcionUsuario },
                { "@pCorreoUsuario", txtCorreoUsuario },
                { "@pClaveUsuario", encryptedPassword },
                { "@pImagenUsuario", path },
                { "@pOpcionNotificacion", cbOpcionNotificacion },
                { "@pIdRol", pIdRol },
                { "@pEstadoUsuario", cbEstadoUsuario },
                { "@pUsuarioCreacion", pUsuarioCreacion },
                { "@pUsuarioModificacion", pUsuarioModificacion },
            }
                                               );

            return(query);
        }
        public async Task <int> RegistroNuevoUsuario(string pModo, int pIdUsuario, string pNombreUsuario, string pApellidosUsuario, string pCorreoUsuario, string pClaveUsuario,
                                                     string pUsuarioCreacion, string pUsuarioModificacion)
        {
            var encryptedPassword = AesOperation.EncryptString(key, pClaveUsuario);

            int query = await conDB.SP_EXECUTE("sp_RegistroNuevoUsuario",
                                               new Dictionary <string, object>()
            {
                { "@pModo", pModo },
                { "@pIdUsuario", pIdUsuario },
                { "@pNombreUsuario", pNombreUsuario },
                { "@pApellidosUsuario", pApellidosUsuario },
                { "@pCorreoUsuario", pCorreoUsuario },
                { "@pClaveUsuario", encryptedPassword },
                { "@pUsuarioCreacion", pUsuarioCreacion },
                { "@pUsuarioModificacion", pUsuarioModificacion },
            }
                                               );

            return(query);
        }
        public ContentResult DesEncryptarClave(string pClaveUsuario)
        {
            var decryptedString = AesOperation.DecryptString(key, pClaveUsuario);

            return(Content(decryptedString));
        }
        public ContentResult EncryptarClave(string pClaveUsuario)
        {
            var encryptedPassword = AesOperation.EncryptString(key, pClaveUsuario);

            return(Content(encryptedPassword));
        }